Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
783,43 KB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP KIỂM THỬ PHẦN MỀM Công ty thực tập: Công ty TNHH Phần mềm FPT Người phụ trách: Nguyễn Xuân Thanh Thực tập sinh: Thái Thị Phương Lan TP Hồ Chí Minh, tháng 12 năm 2021 LỜI MỞ ĐẦU Ngày nay, ngành công nghiệp phát triển phần mềm thiết bị động phận thiếu ngành công nghiệp phần mềm Với tốc độ phát triển vô mạnh mẽ, ngành lập trình thiết bị di động nhân tố kích thích phát triển cơng nghệ thông tin giới, phần cứng phần mềm Cùng với xu phát triển giới, Việt Nam ngoại lệ Ngành công nghiệp phát triển ứng dụng Việt Nam phát triển mạnh mẽ, để hòa nhập với công ty hàng đầu phát triển ứng dụng giới Kiểm thử phần mềm giai đoạn quan trọng quy trình phát triển phần mềm Với cạnh tranh ứng dụng nay, thói quen, nhu cầu sử dụng lâu dài người dùng khách hàng phụ thuộc nhiều vào chất lượng ứng dụng đó, kiểm thử phần mềm nhân tố thiếu để định thành bại ứng dụng thị trường, uy tín tổ chức sản xuất ứng dụng Sau bốn năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia vào quy trình phát triển ứng dụng di động môi trường chuyên nghiệp, em định lựa chọn vị trí Kiểm thử phần mềm để thực tập học kì Và cơng ty em lựa chọn công ty Fsoft - môi trường lý tưởng, đại, có nhiều dự án outsource với thị trường nước Nhật Bản, Singapore, số nước Châu Âu… LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TNHH Phần Mềm FPT (FPT Software) tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm nhân viên kiểm thử phần mềm Chân thành cảm ơn anh chị nhóm trainer bỏ nhiều thời gian,cơng sức để hướng dẫn chúng em hồn thành đợt thực tập Đặc biệt cảm ơn chị Trương Ánh Tuyết, hướng dẫn, giúp đỡ cho em tận tình khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường mới, hướng dẫn em công việc người Kiểm thử phần mềm (Tester): viết testcase, làm test report, trao đổi với developer, trao đổi với khách hàng nghiệp vụ sản phẩm, phân tích yêu cầu,…; cảm ơn chị Nguyễn Thị Thu Hà, anh Nguyễn Song Hải PM dự án giúp đỡ em quy trình, cách làm việc teamwork hiệu quả, cảm ơn anh Nguyễn Xuân Thanh giám đốc Trung tâm phát triển công nghệ thơng người quản lý nhân trực sát, đánh giá thực lực cho em lời nhận xét khách quan Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Thái Thị Phương Lan TP Hồ Chí Minh, tháng 12 năm 2021 NHẬN XÉT CỦA KHOA MỤC LỤC Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty FPT Software Sản phẩm công ty Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 2.1 Các công cụ quản lý dự án 2.2 Tìm hiểu mơ hình Agile phát triển kiểm thử phần mềm 2.3 Từ tới bước hoàn thiện testcase 14 2.4 Execute test, log bug, verify bug 16 Thực project 17 Chương 3: Chi tiết project 18 Chương 4: Tổng kết 22 CHƯƠNG 1: GIỚI THIÊU CÔNG TY THỰC TẬP Giới thiệu công ty FPT Software FPT Software thành lập năm 1999, công ty thành viên FPT, Tập đồn Cơng nghệ hàng đầu Việt Nam Sau 17 năm thành lập FPT Software công ty phần mềm lớn Việt Nam đứng Top 100 Nhà cung cấp dịch vụ Outsourcing toàn cầu International Association of Outsourcing Professionals (IAOP) đánh giá FPT Software theo đuổi mục tiêu gia công phần mềm để đáp ứng cho nhu cầu phát triển CNTT hãng phần mềm nước, công ty lớn nước tham vọng xuất phần mềm toàn giới cho cơng ty nước ngồi biết đến tập đồn FPT, mục đích vươn đến tầm cao thơng qua công nghệ nhằm nâng cao suất lao động Kinh doanh FPT Sofware xuất phát từ Công nghệ thông tin Viễn Thông FPT cốt lõi để đáp ứng cho khách hàng 63 tỉnh thành toàn lãnh thổ Việt Nam mở rộng đến khách hàng toàn cầu Từ thành lập nay, FPT Software công ty phần mềm số Việt Nam lĩnh vực tích hợp hệ thống, phân phối bán lẻ, dịch vụ Công Nghệ Thông tin, xuất gia công phần mềm, bán lẻ sản phẩm CNTT Từ 13 lập trình viên với giấc mơ đưa trí tuệ Việt Nam khắp năm châu, đội quân FSOFT tuổi 18 với 10.000 người, doanh thu 230 triệu USD, tiếp tục biến giấc mơ biến Việt Nam trở thành điểm sáng CNTT đồ giới thành thực với mục tiêu đạt tỉ USD doanh số năm 2020 30.000 người Sau 17 năm phát triển thị trường toàn cầu, đến FPT Software có 23 văn phịng 14 quốc gia bao gồm Việt Nam, Nhật Bản, Singapore, Mỹ, Pháp, Đức, Slovakia, Malaysia, Úc, Trung Quốc, Hàn Quốc, Myanmar, Philippines, Thái Lan Sản phẩm công ty Là công ty chuyên xuất dịch vụ phần mềm, FPT Software cung cấp dịch vụ phát triển phần mềm bảo trì, triển khai ERP, QA, chuyển đổi ứng dụng, hệ thống nhúng, điện toán di động, điện toán đám mây… nhiều lĩnh vực như: Tài ngân hàng, Viễn thơng, Y tế, Chế tạo, Cơng nghiệp xe hơi, Dịch vụ công… Hiện FPT Software tập trung nghiên cứu phát triển dịch vụ CNTT dựa tảng công nghệ IoT, S.M.A.C, cho lĩnh vực sản xuất máy bay, sản xuất tơ, ngân hàng, truyền hình vệ tinh, viễn thơng phạm vi tồn cầu Cơng ty cung cấp dịch vụ cho khoảng 450 khách hàng tập đoàn lớn giới, có 43 khách hàng nằm danh sách Fortune Global 500 CHƯƠNG 2: NỘI DUNG THỰC TẬP Đợt thực tập với chủ đề Kiểm thử phần mềm ứng dụng tracking xe oto nhằm mục đích giúp sinh viên thực tập đào tạo toàn diện lập vị trí Kiểm thử phần mềm, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc mơi trường phát triển phần mềm chun nghiệp Tìm hiểu công ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty Được nghe người phụ trách giới thiệu công ty, trình thành lập phát triển, quy trình làm việc từ cao xuống thấp, cách thức tổ chức cơng ty Ngồi ra, thực tập sinh cịn giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email công việc… Kết : Hiểu thêm công ty FPT Software, q trình thành lập phát triển Có thêm kỹ việc sử dụng email công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 2.1 2.2 Các công cụ quản lý dự án Thời gian : ngày Nội dung : Tìm hiểu cơng cụ quản lý dự án sử dụng trình làm việc Trong thời gian này, supervisor hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho cơng việc sau Một số phần mềm số Jira tool, Azure tool - sử dụng để quản lý task, theo dõi tiến độ dự án, quản lý nguồn lực dự án, MS Teams, Workchat – kênh để trao đổi dự án Thực : Thực hành sử dụng phần mềm nêu Kết : Làm quen sử dụng thành thạo thao tác Jira tool, Azure tool log work, tạo task, kéo task Tìm hiểu mơ hình Agile phát triển kiểm thử phần mềm Thời gian : ngày Nội dung : - - Định nghĩa: Agile cách thức làm phần mềm linh hoạt để đưa sản phẩm đến tay người dùng nhanh tốt sớm tốt xem cải tiến (ở khía cạnh đó) đặt cạnh mơ hình cũ Mơ hình “Thác nước (waterfall)” hay “CMMI” Nguyên tắc áp dụng phương pháp Agile a, Kiểm thử giúp dự án nhanh chóng bàn giao Ở dự án truyền thống, kiểm thử thường xem bước cuối kiểm tra chất lượng sản phẩm Và việc ngăn chặn lỗi phầm mềm bị coi trách nhiệm QA/tester Bug tìm thấy dù quan trọng hay khơng làm chậm trình bàn giao sản phẩm Trong dự án Agile, xây dựng sản phẩm tốt từ ban đầu, sử dụng kiểm thử để phản hồi phát triển để làm cho sản phẩm tương đồng với yêu cầu Nghe thay đổi nhỏ, thực chất việc có ý nghĩa lớn Mối liên hệ tester dev cần cộng tác, tương hỗ lẫn b, Kiểm thử không giai đoạn dự án Kiểm thử giai đoạn trình phát triển Agile mà cần tham gia sâu vào quy trình phát triển từ sớm Cách tiếp cận Agile tập trung vào việc xác nhận điều đắn từđầu, giảm cần thiết phải có nhiều kiểm thử viên (QA Tester) cuối quy trình để đạt kết Đảm bảo tiến độ dự án liên tục c, Cá nhân tương hỗ quan trọng quy trình Với dự án truyền thống, tester làm việc độc lập chịu trách nhiệm với toàn hoạt động test Đối với Agile, hoạt động test thực toàn dự án Để thực hết test cần thực lặp lại qua sprint Tuy nhiên tới dự án lớn phức tạp lên có lúc khơng thể test hết testcase đề thực mục tiêu ban đầu đề Có nghĩa team khơng thể thực nhanh họ nghĩ Vì test chưa xong feature khơng thể xong được, để đẩy nhanh tốc độ team phải làm đẩy nhanh phần chậm nhất, test 10 d, Rút ngắn vòng lặp phản hồi Thời gian từ viết code thực code tới biết code vận hành gọi feedback loop (vịng phản hồi) Nếu phần mềm khơng thực test kết thúc bàn giao vịng phản hồi bị kéo dài tới tháng, dài Agile tạo nên vòng phản hồi ngắn với dự án Agile, phần mềm sẵn sàng để test từ bắt đầu Đặc thù Agile đội dự án có nhiều cấp độ kiểm thử để cơng nhiều loại liệu khác Agile sử dụng nhiều test tự động trả lại phản hồi nhanh Test hồi quy thủ công nhiều thời gian thực hơn, cần có nhân lực khơng thực Kiểm tra thủ cơng cịn quan trọng Tuy nhiên, đội Agile thường thấy thông tin phản hồi nhanh chóng tạo nên hồi quy tự động chìa khóa để phát vấn đề cách nhanh chóng, làm giảm rủi ro giảm việc phải làm lại 11 e, Thỏa mãn mong muốn khách hàng Cho dù test tự động hay test thủ cơng kịch test cần phải khớp với yêu cầu mong đợi khách hàng Trước tốn thời gian tìm bug nên đặt câu hỏi để làm sáng tỏ mong muốn khách hàng chức sản phẩm 12 g, Giản lược tài liệu kiểm thử Thay viết dài dịng Agile test • Tái sử dụng checklist • Tập trung vào chất thử nghiệm chi tiết ngẫu nhiên • Sử dụng tài liệu hướng dẫn đơn giản • Nắm bắt ý tưởng thử nghiệm điều lệ kiểm nghiệm thăm dị h, Chưa thể hồn thành chưa qua giai đoạn kiểm thử Trong dự án truyền thống có phân tách rõ ràng dev test, đặc trưng cho việc dev nói “xong” với phần họ phát triển chưa test Do thực tế phần phát triển chưa xong test xong bug fix Đó lý mà phần mềm để “90% done” Agile khơng tính “done” mà cần sẵn sàng cho chấp nhận Product Owner khách hàng thực thi test Thực : - Tham gia đầy đủ buổi training công ty Kết : 13 Hiểu cách vận hành mơ hình Agile phát triển kiểm thử phần mềm Từ tới bước hoàn thiện testcase - 2.3 Thời gian: ngày (1 tuần) Nội dung: Các kiến thức để có testcase - Phân tích yêu cầu phần mềm Để mang đến sản phẩm phần mềm chất lượng đáng tin cậy việc phân tích u cầu khâu vơ quan trọng q trình xây dựng phần mềm Hoạt động địi hỏi kết hợp chặt chẽ khách hàng người phân tích để vạch xem phải phát triển Yêu cầu phần mềm tất yêu cầu phần mềm người dùng nêu bao gồm chức phần mềm, hiệu phần mềm, giao diện phần mềm số yêu cầu khác Thông thường yêu cầu phần mềm phân loại dựa thành phần phần mềm sau: • Các yêu cầu phần mềm • Các yêu cầu phần cứng • Các yêu cầu liệu • Các yêu cầu người Mục tiêu quan trọng chất lượng phần mềm phần mềm phải thỏa mãn yêu cầu mong muốn người dùng Người dùng thường đưa ý tưởng, nhiều mơ hồ phần mềm mà họ mong muốn xây dựng Và việc kỹ sư phát triển phần mềm phải giúp họ đưa ý tưởng mơ hồ thành thực xây dựng phần mềm có đầy đủ tính cần thiết thỏa mãn yêu cầu người dùng Hơn nữa, ý tưởng người dùng thường xuyên thay đổi việc nhà phát triển phải nắm bắt đáp ứng yêu cầu thay đổi cách hợp lý • Đọc cố gắng hiểu mục đích ứng dụng mong muốn gì? • Vừa đọc hình dung, tưởng tượng xem phần mềm /màn hình chạy • Thẩm định yêu cầu phần mềm để xác định xem chúng có khả thực hay khơng • Xác định rủi ro xảy với yêu cầu cụ thể 14 • Thảo luận với BA băn khoăn, vướng mắc, bất hợp lý, chưa rõ ràng tài liệu đặc tả yêu cầu Viết Q & A gửi cho Khách Hàng • - Viết Testcase, bước thực • Dữ liệu đầu vào test: định nhập để kết mong muốn • Việc xác định liệu đầu vào test thực hoạt động tốn nhiều thời gian • Dữ liệu test phần Input liệu đầu vào, để hệ thống xử lý trả Kết mong đợi • Ví dụ: tester nhập liệu test: 1.Nhập username = anhdt 2.Nhập password = abc@123 **Kết mong đợi / Expected result: ** • Một test case viết tốt cần phải đề cập cách rõ ràng kết mong đợi ứng dụng hệ thống • Mỗi bước thiết kế test nên rõ ràng bạn mong đợi • Phần mềm phải chạy Kết mong đợi, ko giống Lỗi ( bug/ defect) test case Fail - - Lưu ý viết testcase • File testcase cần có step test đơn giản, minh bạch, dễ hiểu: • Step test phải viết chi tiết rõ ràng để tester khác đọc thực • Mục đích phạm vi testcase mơ tả chi tiết • Điều kiện tiền đề, data test phải ghi testcase cần • Testcase nên review chéo member team • Không nên gộp nhiều kết confirm vào case mà nên tách kết confirm case • Khi tạo testcase nên đứng vị trí End user • Testcase nên cover trường hợp kiểm thử như: Phân lớp tương đương, giá trị biên, điều kiện normal abnormal Cả trường hợp free test khơng có đặc tả u cầu Một testcase hiệu có đặc điểm sau: • Chính xác, đầy đủ nghiệp vụ hệ thống 15 • Độc lập (có thể thực mà khơng phụ thuộc vào testcase khác, dễ dàng chia cho nhiều người kiểm thử) • Nội dung đơn giản, có mục đích rõ ràng đọc hiểu theo cách (đầu vào, đầu ra, bước thực rõ ràng) • Trình bày mạch lạc thống cho tồn tài liệu • Có khả tái sử dụng (có thể dễ dàng cập nhật sửa đổi) Thực : 2.4 Tham gia đầy đủ buổi trainning Làm tập thực hành viết testcase chức bản: Login, logout, register Kết : Viết thành công test case, bao phủ hết trường hợp Execute test, log bug, verify bug, test API swagger Thời gian: 10 ngày (1 tuần) Nội dung: - Sau có testcase hồn chỉnh, đồng thời lúc developer code hoàn thiện số chức sprint lúc người kiểm thử (tester) thực test chức sản phẩm dựa theo testcase, đảm bảo chức hoạt động yêu cầu khách hàng Bên cạnh việc test UI/UX sản phẩm, đảm bảo sản phẩm theo design Nếu có lỗi (bug) tester thông báo với team dev log tool để người theo dõi task Khi bug fix nhiệm vụ người tester test lại bug lần để đảm bảo bug fix - Các API cụ thể hóa swagger, tester lên để truyền liệu, import chỉnh sửa liệu để đảm bảo frontend trả kết backend, backend trả kết đúng, … Thực hiện: - Thực kiểm thử sản phẩm project sprint Kết quả: 16 - Cover bug, đảm bảo sản phẩm yêu cầu khách hàng, biết test API swagger Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thức kiểm thử phần mềm, viết thành công testcase execute test, bao phủ bug Chi tiết project nói phần sau 17 CHƯƠNG 3: CHI TIẾT VỀ PROJECT - Giới thiệu ứng dụng: Ứng dụng đời nhằm phục vụ cho khách hàng cơng ty bảo hiểm oto quản lý sách, hợp đồng, người dùng sử dụng ứng dụng hàng ngày để theo dõi, quản lý chuyến đi, thơng qua ứng dụng dựa tiêu chuẩn sẵn có điểm thành phần thời gian, tốc độ, quãng đường, người dùng để đánh giá người dùng có lái xe an tồn hay khơng Những thơng số cao người dùng nhận nhiều ưu đãi thông qua việc quy điểm thành mục tiêu để đạt tiền thưởng Một người dùng có nhiều xe oto có nhiều hợp đồng bảo hiểm, ứng dụng dễ dàng để người dùng quản lý điều Ngoài ra, người dùng cho anh em, bạn bè mượn xe họ quản lý danh sách tài xế để tài xế họ họ cộng điểm xe Đồng thời, họ có phát sinh tai nạn hay sách đền bù thơng tin gửi ứng dụng Tính bật ứng dụng auto tracking: Khi người dùng di chuyển bật app chế độ chạy ứng dụng tự động ghi nhận hành trình hiển thị lên app quãng đường được, tốc độ, số điểm ghi chuyến *Ghi chú: Vì tính chất bảo mật công ty nên thông tin khác sản phẩm (bản UI, File testcase đầy đủ, nghiệp vụ chi tiết hình) em xin vui lịng khơng mô tả chi tiết - Một số Testcase kết test trình thực 18 H1 Hình ảnh số testcase H2 Hình ảnh số testcase 19 H3 Kết test số test case H4 Hình ảnh bug tìm thấy log Azure 20 H5 Hình ảnh số hàm API policy Swagger 21 CHƯƠNG 4: TỔNG KẾT 1.1 Những kỹ thực hành - Biết thêm nhiều kiến thức trình tìm hiểu làm việc, cách tổng hợp tìm kiếm tài liệu cách nhanh hơn, cách làm việc nhóm team - Biết cách triển khai theo kiểm thử tay - Biết phần mềm làm kiểm thử, công cụ quản lý công việc, công cụ giao tiếp thành viên cơng ty cách nhanh chóng hiệu - Biết cách giao tiếp với khách hàng sau thu thập yêu cầu khách hàng để viết User Story - Biết cách thuyết trình trình bày nội dung trước người 1.2 Những kinh nghiệm tích lũy được: - Sau trải qua thời gian thực tập công ty, em phát triển, tích lũy nhiều kiến thức quý báu cho thân Những kinh nghiệm, kiến thức mà ta trải nghiệm thực tế tiếp xúc với cách giải vấn đề khó, cách giao tiếp với đồng nghiệp team để trao đổi cách mạch lạc dễ hiểu cho hai phía 22 ... dựng phần mềm Hoạt động địi hỏi kết hợp chặt chẽ khách hàng người phân tích để vạch xem phải phát triển Yêu cầu phần mềm tất yêu cầu phần mềm người dùng nêu bao gồm chức phần mềm, hiệu phần mềm, ... mềm, hiệu phần mềm, giao diện phần mềm số yêu cầu khác Thông thường yêu cầu phần mềm phân loại dựa thành phần phần mềm sau: • Các yêu cầu phần mềm • Các yêu cầu phần cứng • Các yêu cầu liệu •... vụ cho khoảng 450 khách hàng tập đồn lớn giới, có 43 khách hàng nằm danh sách Fortune Global 500 CHƯƠNG 2: NỘI DUNG THỰC TẬP Đợt thực tập với chủ đề Kiểm thử phần mềm ứng dụng tracking xe oto