Microsoft Word TruongThiMaiThanh BCThucTapTotNghiep docx TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI HỒ CHÍ MINH BM CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP Đề tài NGHIÊN CỨU VỀ KIỂM THỬ PHẦN[.]
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI HỒ CHÍ MINH BM: CƠNG NGHỆ THƠNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP Đề tài: NGHIÊN CỨU VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ TỰ ĐỘNG VỚI KATATON STUDIO Sinh viên thực hiện: Đoàn Bùi Quang Vĩnh Lớp: CQ.CNTT.K59 Giảng viên hướng dẫn: Th.S Phạm Thị Miên TP Hồ Chí Minh, tháng 07 năm 2022 TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI PHÂN HIỆU TẠI HỒ CHÍ MINH BM: CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP Đề tài: NGHIÊN CỨU VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ TỰ ĐỘNG VỚI KATATON STUDIO Sinh viên thực hiện: Đoàn Bùi Quang Vĩnh Lớp: CQ.CNTT.K59 Giảng viên hướng dẫn: Th.S Phạm Thị Miên TP Hồ Chí Minh, tháng 07 năm 2022 TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI CỘNG HÒA XÃ HỘI CHỦ NGHIÃ VIỆT NAM PHÂN HIỆU TẠI THÀNH PHỐ HỒ CHÍ MINH Độc lập – Tự – Hạnh phúc NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP BỘ MÔN: CÔNG NGHỆ THÔNG TIN *** Mã sinh viên:5951071122 Họ tên SV: Đồn Bùi Quang Vĩnh Khóa: 59 Lớp: Công Nghệ Thông Tin Tên đề tài: Nghiên cứu kiểm thử phần mềm kiểm thử tự động với Katalon Studio 1.Mục đích, yêu cầu a, Mục đích: Trong trình phát triển phần mềm, Testing giai đoạn quan trọng ảnh hưởng tới chất lượng uy tín cơng ty phần mềm khách hàng mấu chốt đem lại tin tưởng phát triển công ty Automation Testing loại kiểm thử giúp tự động hóa mở rộng phạm vi phát lỗi qua làm giảm chi phí thu hẹp thời gian phát lỗi thông qua Katalon Studio b, Yêu cầu: - Hiểu rõ quy trình phát triển phần mềm mơ hình phát triển - Áp dụng kĩ thuật xây dựng Testcase - Nắm cách report bug - Hiểu rõ Xpath lấy xpath - Tự động hóa với Katalon Studio 2.Nội dung thực - Phân tích điểm khác biệt Manual testing Automation Testing - Phân tích kĩ thuật viết TestCase - Xây dựng TestCase hồn chỉnh - Tự động hóa TestCase viết 3.Công nghệ, công cụ ngôn ngữ lập trình: Java, Katalon, ChroPath 4.Các kết dự kiến đạt ứng dụng - Hoàn thành báo cáo đề tài - Tìm hiểu kiểm thử phần mềm - Nghiên cứu kiểm thử với WebUI - Xây dựng TestCase - Xây dựng script với Katalon để kiểm thử tự động 5.Kế hoạch thực - Hai tuần đầu: Tìm hiểu kiểm thử phần mềm - Bốn tuần tiếp theo: Thiết kế TestCase - Năm tuần tiếp theo: Kiểm thử tự động dựa TestCase - Hai tuần lại: Viết báo cáo làm Slide (trong phần mô tả kế hoạch thời gian dự kiến cho mục nội dung nêu tính theo đơn vị tuần) 6.Giáo viên cán hướng dẫn Họ tên: ThS Phạm Thị Miên Đơn vị công tác: Trường Đại học Giao thông Vận tải - Phân hiệu TP Hồ Chí Minh Điện thoại: Email: nlmien@st.utc2.edu.vn Ngày tháng năm 2022 Đã giao nhiệm vụ TKTN Trưởng BM Công nghệ Thông tin Giảng viên hướng dẫn Phạm Thị Miên Nghiên cứu kiểm thử phần mềm kiểm thử tự động với Katalon Studio LỜI CẢM ƠN Lời nói đầu tiên, em xin kính gửi lời cảm ơn chân thành tới thầy Nguyễn Lê Minh với Quý thầy cô Bộ môn Công Nghệ Thông Tin, Ban Giám Hiệu Trường Đại học Giao thông Vận tải phân hiệu Thành phố Hồ Chí Minh, cho phép em thực đề tài tốt nghiệp: NGHIÊN CỨU VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ TỰ ĐỘNG VỚI KATALON STUDIO Để hoàn thành nhiệm vụ giao này, ngồi nỗ lực học hỏi khơng ngừng thân cịn có hướng dẫn hỗ trợ nhiệt tình Ths Phạm Thị Miên, người hướng dẫn cho em hướng đi, truyền đạt cho em kiến thức, kỹ để em hồn thành đề tài tốt nghiệp Mặc dù cố gắng để hoàn thành đề tài, chắn khó tránh khỏi thiếu sót Em mong nhận đánh giá, góp ý Q thầy để em rút cho học, kinh nghiệm quý báu Sau cùng, em khơng biết nói ngồi kính chúc Quý thầy cô Bộ môn Công Nghệ Thông Tin đặc biệt cô Phạm Thị Miên thật dồi sức khỏe ngày gặt hái nhiều thành công sống nghiệp giảng dạy Em xin chân thành cảm ơn! TP Hồ Chí Minh, ngày tháng năm 2022 Sinh viên thực Đoàn Bùi Quang Vĩnh BM Cơng nghệ thơng tin Đồn Bùi Quang Vĩnh Nghiên cứu kiểm thử phần mềm kiểm thử tự động với Katalon Studio PHIẾU NHẬN XÉT CỦA GIÁO VIÊN BM Cơng nghệ thơng tin Đồn Bùi Quang Vĩnh Nghiên cứu kiểm thử phần mềm kiểm thử tự động với Katalon Studio MỤC LỤC LỜI CẢM ƠN PHIẾU NHẬN XÉT MỤC LỤC DANH MỤC BẢNG Chương 1: MỞ ĐẦU Giới thiệu Mục tiêu Nội dung kế hoạch thực CHƯƠNG 2: KIỂM THỬ PHẦN MỀM 2.1 Manual Testing 2.1.1 Tổng quan kiểm thử phần mềm 2.1.1.1 Kiểm thử phần mềm gì? 2.1.1.2 Mục tiêu kiểm thử phần mềm 2.1.1.3 Nguyên tắc 2.1.1.4 Error/ Fault/ Failure 2.1.1.5 Verification Validation 2.1.1.6 QA QC 2.1.1.7 Vòng đời phát triển phát triển phần mềm(SDLC) 13 2.1.1.8 Mơ hình V model 15 2.1.1.9 Mơ hình Agile Model 16 2.1.1.10 Scrum Methodolog 17 2.1.2 Các loại kiểm thử phần mềm 20 2.1.3 Software Testing Methodologies 22 2.1.3.1 Phương pháp kiểm thử phần mềm White box testing 22 2.1.3.2 Phương pháp kiểm thử phần mềm Black box testing 23 2.1.3.3 Grey box testing 25 2.1.4 Software Testing Levels 25 2.1.4.1 Unit Testing (Kiểm thử đơn vị) 25 2.1.4.2 Integration Testing (Kiểm thử tích hợp) 26 2.1.4.3 System Testing (Kiểm thử hệ thống) 26 BM Công nghệ thơng tin Đồn Bùi Quang Vĩnh Nghiên cứu kiểm thử phần mềm kiểm thử tự động với Katalon Studio 2.1.4.4 Acceptance Testing (Kiểm thử chấp nhận) 26 2.1.5 Kỹ thuật thiết kế Test case 27 2.1.5.1 Specification-based techniques 27 2.1.5.2 Experience-based techniques 27 2.1.5.3 Một số thuật ngữ thiết kế TestCase 27 2.2 Automation Testing 28 2.2.1 Quy trình tiến hành Automation Testing 28 2.2.2 Sơ lược Katalon Studio 28 2.2.3 Ưu diểm Katalon Studio 29 2.2.4 Ứng dụng yêu cầu bổ trợ Xpath 29 CHƯƠNG 3: DEMO 31 3.1 Sơ lược trang web đặt vé xem phim 31 3.2 Thiết kế TestCase 33 3.3 Ví dụ Automation 34 Chương 4: KIẾN NGHỊ VÀ KẾT LUẬN 36 4.1 Kết đạt 36 4.2 Hướng phát triển 36 TÀI LIỆU THAM KHẢO 37 BM Cơng nghệ thơng tin Đồn Bùi Quang Vĩnh Nghiên cứu kiểm thử phần mềm kiểm thử tự động với Katalon Studio DANH MỤC BẢNG Bảng So sánh QA QC DANH MỤC HÌNH ẢNH Hình SDLC 13 Hình Mơ hình Watefall 14 Hình Mơ hình V-model 15 Hình Mơ hình Agile 16 Hình Mơ hình Scrum Framework 18 Hình Quy trình kiểm thử tự động 28 Hình Mơ hình kết nối Katalon 29 Hình Cấu trúc Xpath 30 Hình Biểu đồ chức user 31 Hình 10 Giao diện trang chủ web xem phim 31 Hình 11 Biểu đồ chức admin 32 Hình 12 Giao diện trang chủ admin 33 Hình 13 Testcase mô tả chức đăng nhập 35 Hình 14 Scrip chức đăng nhập 35 BM Công nghệ thơng tin Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test Chương 1: MỞ ĐẦU Giới thiệu Ngày nay, sống kỷ nguyên tin học nhờ vượt bậc, bùng nổ mạnh mẽ công nghệ thông tin Công nghệ thông tin không dừng lại mục đích phục vụ cho khoa học kỹ thuật mà sâu vào đời sống, trị, kinh tế, xã hội, trở nên thân thiện, gần gũi, mang lại nhiều lợi ích cho người Cơng nghệ thơng tin ngày khẳng định tính hữu dụng sức mạnh phương diện, ngành nghề sống, thời đại kinh tế thị trường Trong xã hội đại ngày nay, công nghệ thông tin lên phát triển liên tục mạnh mẽ, sinh hoạt ngày gắn liền với việc sử dụng thiết bị điện tử nhằm hỗ trợ cho công việc, sinh hoạt hay hoạt động vui chơi giải trí Hầu thiết bị hay ứng dụng phải trải qua trình lập trình kiểm thử tester trước sản phẩm đến tay người dùng Đó cơng đoạn mà khơng đội ngũ kỹ thuật, lập trình viên bỏ qua Dù dự án lập trình phần mềm kiểm thử phần mềm khâu đóng vai trị quan trọng khơng thể bỏ qua việc phát lỗi sớm tìm hướng khắc phục cách nhanh hiệu để hoàn thiện sản phẩm trước đến tay người dùng Việc kiểm thử phần mềm giúp đánh giá hiệu chức ứng dụng phần mềm nhằm mục đích phát lỗi sai, hay rủi ro, nguy tìm ẩn, ảnh hưởng đến danh tiếng công ty khách hàng, giúp phần mềm đáp ứng yêu cầu thiết yếu cụ thể để bảo toàn chất lượng sản phẩm Một sản phẩm sau trải qua trình kiểm thử đảm bảo độ tin cậy, uy tín, tính bảo mật, hiệu suất cao giúp tiết kiệm thời gian chi phí cho khách hàng người sử dụng Nếu sơ sài trình kiểm thử để xảy lỗi nhỏ hay thiếu sót gây thiệt hại lớn kinh tế người,… Mặc dù kiểm thử thủ cơng giúp tìm thấy lỗi, nhiên tốn nhiều thời gian, cơng suất chi phí Chính mà kiểm thử tự động đời giúp giảm chi phí, thời gian, cải thiện chất lượng kiểm thử thủ cơng, tối đa hóa phạm vi kiểm thử, thực cách kịch kiểm tra dễ bị lỗi, phức tạp nhiều bước thực ngày,…Do Katalon Studio giải pháp mang lại nhiều tiện lợi Mục tiêu • Đảm bảo chất lượng sản phẩm BM Công nghệ thông tin – CNTTK59 Đoàn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 23 ra, truy cập thẳng vào bên source code Các tên khác thử nghiệm hộp trắng thử nghiệm hộp mở, kiểm tra theo hướng logic thử nghiệm điều khiển đường dẫn thử nghiệm cấu trúc Các loại white box testing: • API testing (application programming interface) – Kiểm thử ứng dụng cách sử dụng hàm API public private • Code coverage : Là việc tạo trường hợp test để thỏa mãn số điều kiện bao phủ code – code coverage • Fault injection methods : cải tiến bao phủ trường hợp cách đưa số lỗi vào để test đường dẫn code.Mutation testing methods • Static testing – White box testing bao gồm tất phương pháp kiểm thử tĩnh (ví dụ review code) Với phương pháp kiểm thử này, kiểm thử viên không cần hiểu biết mã lệnh để xử lý chức Các kiểm thử viên vào tài liệu đặc tả, prototype phần mềm dựa testcase viết để kiểm tra chức Cả hai hình thức đề trả cách đo độ bao phủ code, đo lường tính phần trăm % Ưu điểm: • Dễ dàng tự động hóa, cung cấp quy tắc dựa kỹ thuật rõ ràng cho thời điểm ngừng thử nghiệm Buộc chuyên gia thử nghiệm phải suy luận cẩn thận việc test lỗi lỗi triệt để Nhược điểm: • Khá tốn thời gian cơng sức • Vẫn tồn lỗi • Để kiểm tra phương pháp cần có kinh nghiệm trình độ chuyên sâu kiểm thử 2.1.3.2 Phương pháp kiểm thử phần mềm Black box testing Black box testing (Kiểm thử hộp đen) phương pháp kiểm thử phần mềm kiểm tra chức ứng dụng dựa đặc điểm kỹ thuật Nó cịn gọi thử nghiệm dựa thông số kỹ thuật BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 24 Các loại kiểm thử Black box: • Equivalence partitioning (phân vùng tương đương) • Boundary value analysis (phân tích giá trị biên) • All-pairs testing (kiểm thử tất cặp) • Fuzz testing (cách test: nhập vào điều kiện sai data cách ngẫu nhiên) • Model-based testing (Kiểm thử dựa model) • Traceability matrix (các chức chương trình tạo thành ma trận, trường hợp test kết hợp dịng cột có liên quan) • Exploratory testing (kiểm thử chủ yếu dựa vào kinh nghiệm khả focus vào việc test chức tester) • Specification-based testing (kiểm thử dựa vào chức năng) Việc kiểm thử tiến hành dựa vào việc kiểm thử chức phần mềm xem có phù hợp với yêu cầu người dùng hay khơng Vì vậy, tester nhập data vào phần mềm cần xem kết phần mềm mục tiêu test Ưu điểm: • Các tester dùng phương pháp không cần liên quan đến code • Có thể tìm nhiều bug • Việc kiểm thử thực cách độc lập với Dev, cho phép quan điểm khách quan tránh thiên vị Nhược điểm: • Chỉ có số lượng nhỏ đầu vào kiểm tra nhiều đường dẫn chương trình vài phần cuối khơng kiểm tra • Các thử nghiệm thừa nhà thiết kế / nhà phát triển phần mềm chạy thử nghiệm Vì vậy, black box testing có ưu điểm sản phẩm phần mềm kiểm tra theo quan điểm độc lập nhiều nhược điểm đáng lưu ý BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 25 2.1.3.3 Grey box testing Phương pháp Gray box testing phương pháp test phần mềm phổ biến Có thể nói phương pháp Gray Box testing phương pháp kết hợp White box testing Black box testing Kiểm tra hộp màu xám cho khả kiểm tra hai mặt ứng dụng, lớp trình bày phần mã Nó chủ yếu hữu ích kiểm thử tích hợp kiểm tra thâm nhập Trong Kiểm thử Hộp xám, cấu trúc bên sản phẩm biết phần, Tester truy cập vào cấu trúc liệu bên thuật tốn chương trình với mục đích để thiết kế test case, test test người dùng cuối mức hộp đen Kỹ thuật kiểm tra hộp xám: • Kiểm tra ma trận: báo cáo trạng thái dự án • Kiểm tra hồi quy : ngụ ý chạy lại trường hợp thử nghiệm thay đổi thực • Kiểm tra mẫu: xác minh ứng dụng tốt cho thiết kế kiến trúc mẫu • Kiểm tra mảng trực giao : sử dụng làm tập hợp tất kết hợp Ưu điểm: • Là kết hợp kiểm thử hộp đen hộp trắng nên tối ưu • Kiểm tra phương pháp hộp màu xám thiết kế kịch thử nghiệm phức tạp cách thông minh Nhược điểm: Rất khó để liên kết lỗi thực kiểm tra hộp xám cho ứng dụng có hệ thống phân tán 2.1.4 Software Testing Levels 2.1.4.1 Unit Testing (Kiểm thử đơn vị) Kiểm thử đơn vị cấp độ kiểm thử bản, thực test module nhỏ hệ thống Kiểm thử đơn vị thực tách biệt với phần lại hệ thống tùy thuộc vào mơ hình vịng đời phát triển chọn cho ứng dụng cụ thể Mục đích: để xác nhận thành phần phần mềm thực với thiết kế Kiểm thử đơn vị thường lập trình viên thực BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 26 2.1.4.2 Integration Testing (Kiểm thử tích hợp) Kiểm thử tích hợp có nghĩa kiểm thử kết hợp Một dự án phầm mềm kết hợp nhiều module riêng lẻ khác code nhiều lập trình viên khác Chính kiểm thử tích hợp tích hợp kiểm tra module riêng lẻ với thành nhóm Tích hợp kiểm tra việc truyền liệu module, tích hợp kiểm tra hàm lại với nhau, hình với theo module theo chức Mục đích: • Để đảm bảo hệ thống tích hợp sẵn sàng để thử nghiệm hệ thống • Kiểm thử tích hợp thực sau kiểm tra đơn vị trước kiểm tra hệ thống Integration testing thực người thử nghiệm cụ thể nhóm kiểm thử Một số phương pháp kiểm thử tích hợp: • Phương pháp kiểm thử Bigbang • Phương pháp kiểm thử Topdown • Phương pháp kiểm thử Bottom up • Phương pháp kiểm thử Sandwich 2.1.4.3 System Testing (Kiểm thử hệ thống) System Testing thực kiểm thử hệ thống tích hợp hồn chỉnh để xác minh yêu cầu phần mềm Kiểm thử hệ thống nằm phạm vi kiểm thử hộp đen đó, khơng u cầu kiến thức thiết kế bên mã logic Kiểm thử hệ thống thường thử nghiệm cuối để xác minh hệ thống phân phối đáp ứng đặc điểm kỹ thuật mục đích Kiểm thử hệ thống nên thực kiểm thử chức phi chức thực tester 2.1.4.4 Acceptance Testing (Kiểm thử chấp nhận) Sau kiểm tra hệ thống sửa tất hầu hết lỗi, hệ thống gửi đến người dùng khách hàng để kiểm tra chấp nhận Về kiểm thử chấp nhận giống kiểm thử hệ thống thực khách hàng Mục đích: đảm bảo phần mềm đáp ứng yêu cầu khách hàng Sản phẩm nhận chấp nhận từ khách hàng/ người dùng cuối BM Công nghệ thông tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 27 Kiểm thử chấp nhận chia thành mức khác nhau: • Kiểm thử alpha: thực nơi phát triển phần mềm người tổ chức không tham gia phát triển phần mềm • Kiểm thử beta: thực khách hàng/ người dùng cuối địa điểm người dùng cuối 2.1.5 Kỹ thuật thiết kế Test case 2.1.5.1 Specification-based techniques • Equivalence partitioning (phân vùng tương đương) • Boundary value analysis (phân tích giá trị biên) • Decision table testing (kiểm thử bảng định) • State transition testing (kiểm thử chuyển đổi trạng thái) • Use case testing (kiểm thử trường hợp sử dụng) 2.1.5.2 Experience-based techniques • Exploratory testing (kiểm thử thăm dị) • Error guessing (phỏng đoán lỗi 2.1.5.3 Một số thuật ngữ thiết kế TestCase • TC_ID: Mã nhận diện giúp phân biệt TestCase với • Section: Phiên hoạt động ứng với chức lớn • SubSection: nhánh section • Test Description /Sumary: Mơ tả ngắn gọn xúc tích testcase • Mandatory Conditions: Điều kiện bắt buộc • Pre-Conditions: Điều kiện tiên • TestStep: Các bước thực testCase • Input Value: Dữ liệu đầu vào • Expect Results: Kết mong đợi • Actual Result: Kết thực tế • Bug Found: Mã lỗi gặp phải • Environment/ Browser: Mơi trường • Eviden: Bằng chứng chạy TestCase • Result: Kết thực TestCase • Comment/Note: thích TestCase • Test Goal: Mục đích chung thực TestCase BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 28 2.2 Automation Testing 2.2.1 Quy trình tiến hành Automation Testing Hình Quy trình kiểm thử tự động • Bước 1: Chọn công cụ để kiểm thử: Katalon, Robot Framework,… • Bước 2: Xác định phạm vi kiểm thử tự động cho chức • Bước 3: Xây dựng kế hoạch, nguồn lực, thiết kế test script • Bước 4: Thực thi testcase • Bước 5: Hồn thiện trì testcase phục vụ cho việc tái sử dụng *Các yếu tố xác định nên sử dụng Automation testing: • Kiểm thử tự động hiệu cho re-test regression testing • Phần mềm cần thử nghiệm nhiều mơi trường khác • Sử dụng performance testing load testing • Các tính chương trình có độ phức tạp ảnh hưởng lẫn • Dự án lớn có nhiều feature phát triển liên tục 2.2.2 Sơ lược Katalon Studio • Katalon Studio mơi trường phát triển tích hợp (IDE) để tạo thử nghiệm tự động, nơi bạn tạo, thực thi xem báo cáo cho thử nghiệm tự động Với chế độ xem thủ công chế độ xem tập lệnh, Katalon Studio phù hợp bạn có kinh nghiệm lập trình bạn chuyên gia lĩnh vực thử nghiệm tự động • Nền tảng Katalon Studio dựa khung tự động hóa open-source Selenium Appinium với giao diện IDE chuyên dụng để kiểm thử đa dạng loại tảng, hệ điều hành độ phức tạp phần mềm Katalon Studio kiểm tra chuyên dụng Web, API, Mobile, Desktop • Katalon Studio tích hợp nhiều CI/CD phục vụ cho trình làm việc lưu trữ thuận tiện nhanh chóng git, gitlab, slack, docker,… Hơn cong cung cấp mơi trường làm việc đa dạng Deployment OS, Web Platform, Mobile Platform Ví dụ BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 29 với Deployment OS: Window, MacOS, Linus Đối với Web Platform như: Firefox, Google Chrome, MS Edge,… với Mobile Platform AndroiOS, IOS, Cloud Services Hình Mơ hình kết nối Katalon 2.2.3 Ưu diểm Katalon Studio Katalon Studio đời đem đến nhiều lợi ích cho người dùng doanh nghiệp • Katalon Studio xây dựng mã nguồn mở hoàn tồn miễn phí • Dễ sử dụng nắm bắt thơng qua định hướng low-code • Khả làm việc nhanh chóng đa dạng nhiều tảng CI/CD • Tính linh hoạt cao mang đến trải nghiệm đa dạng tính tái sử dụng cao • Tn theo mơ hình POM cụ thể chặt chẽ • Tính mở rộng tiện ích Recoder, Data-Driven,… • Cung cấp keyword đầy đủ dễ hiểu 2.2.4 Ứng dụng yêu cầu bổ trợ Xpath • *Ứng dụng: • Với đa dạng, linh hoạt xác cao Katalon Studio giúp tiếp cận đến nhiều khách hàng, hợp tác mở rộng với nhiều doanh nghiệp lớn như: AWS, Kobiton, BMP technologies, Gitlab,… • Phù hợp với kiểm thử tích hợp, kiểm thử hệ thống kiểm thử chấp nhận người dùng • *Yêu cầu bổ trợ: Xpath • Trong kiểm thử tự động kiểm thử chấp nhận người dùng việc xác định Xpath xác vơ quang trọng Nó địa đối tượng giúp dòng lệnh trỏ đến thao tác BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 30 • Mặc dù Katalon lấy xác Xpath giá trị phức tạp đặt tên khó nhớ việc linh động việc xác định Xpath giúp quản lí tái sử dụng dễ dàng • Có phương pháp lấy Xpath chính: Xpath tuyệt đối Xpath tương đối • Cú pháp để lấy Xpath: Hình Cấu trúc Xpath + XPath chứa đường dẫn phần tử nằm trang web Cú pháp chuẩn để tạo XPath + Xpath=//tagname[@attribute='value'] + Tagname: Tên thẻ HTML node cụ thể + Attribute: Tên thuộc tính node + Value: Giá trị thuộc tính • Các hàm sử dụng để lấy Xpath: + Contains(): “//*[contains(@type, ‘text’)]” -Hàm xác định Xpath cách lấy phần văn giá trị thuộc tính Ví dụ: đối tượng có thuộc tính id=”message” xác định sau: “//*[contains(@id, ‘messa’)]” + Dùng toán tử OR AND: Kết hợp thuộc tính đối tượng để xác định Ví dụ: đối tượng có giá trị thuộc tính id=’message’ name=’đăng nhập’ dùng lệnh sau: “//*[@id=’message’ and @name=‘đăng nhập’]” + Hàm text(): Tìm kiếm đối tượng có văn khớp với văn muốn tìm Ví dụ button có name =’Qn mật khẩu’ dùng lệnh sau: “//*[@text=’Qn mật khẩu’]” +Ngồi dùng start-with, end-with, • Các cơng cụ tiện ích hỗ trợ lấy Xpath hay sử dụng Chrompath, SelectorXpath, Testcase Studio,… BM Công nghệ thông tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test CHƯƠNG 3: 3.1 31 DEMO Sơ lược trang web đặt vé xem phim • Mơ hình chức Hình Biểu đồ chức user Hình 10 Giao diện trang chủ web xem phim BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 32 Hình 11 Biểu đồ chức admin BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 33 Hình 12 Giao diện trang chủ admin • Chức đăng nhập: Người dùng đăng nhập vào hệ thống với username password Hệ thống xác nhận tiến hành cấp quyền truy câp • Quyền User: +Đăng kí tài khoản +Quản lí tài khoản cá nhân: Xem, update thơng tin +Đặt vé: Người dùng có quyền xem thông tin phim, đặt vé, chọn tùy chọn kèm +Thanh tốn: Thanh tốn online • Quyền Admin: + Có quyền user số quyền ưu tiên khác +Xem thống kê báo cáo +Quản lí người dùng +Quản lí phim +Quản lí rạp 3.2 Thiết kế TestCase Dựa vào chức đặc thù phân quyền định nghĩa cho testcase theo quyền cấp cho admin user Các bước thiết kế testcase: BM Công nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 34 • Bước 1: Xác định mục đích yêu cầu khách hàng • Bước 2: Xác định chức cần testing chọn cơng cụ phù hợp • Bước 3: Xác định yêu cầu phi chức như: yêu cầu phần cứng, hệ điều hành, khía cạnh an ninh • Bước 4: Chọn thông số biểu mẫu cho testcase • Bước 5: Xác định liên kết modul đảm bảo che phủ tescase Ví dụ chức đăng nhập(login feature): -Mục tiêu: Kiểm tra chức đăng nhập +Nếu nhập username password đăng nhập thành cơng +Nếu nhập sai u cầu nhập lại -Xác định trường hợp xảy +Đúng username password +Đúng username sai password +Sai username password +Sai username sai password -Các thông số cho testcase +ID +Section +Sub-section +Precondition +Test decription +Test steps + Input data +Expect results +Priority +Create by +Status -Các tính liên quan: +Chức đăng kí tài khoản +Điều kiện để làm việc với trang web -Testcase: BM Công nghệ thông tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 35 Hình 13 Testcase mơ tả chức đăng nhập 3.3 Ví dụ minh họa Dựa testcase thiết kế thử nghiệm với katalon Testcase đăng nhập • Xác định step testcase: • Viết Script: Hình 14 Scrip chức đăng nhập BM Công nghệ thông tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 36 Chương 4: KIẾN NGHỊ VÀ KẾT LUẬN 4.1 Kết đạt Qua thời gian nghiên cứu tìm hiểu kiểm thử phần mềm em trao dồi thêm nhiều kỹ năng, kiến thức thực tế; đồng thời củng cố kiến thức học ghế nhà trường Hơn nữa, sau thời gian nghiên cứu em cải thiện nhiều kĩ học tập làm việc: kĩ tiếng anh, đọc hiểu tài liệu, phân tích đánh giá, hiểu quy trình xây dựng đảm bảo phát triển phần mềm Nội dung đạt sau nghiên cứu: • Nắm tầm quan trọng nhiệm vụ kiểm thử phần mềm • Hiểu rõ quy trình kiểm thử, định nghĩa, kĩ thuật phân loại kiểm thử phần mềm • Thiết kế xây dựng testcase, đề xuất phương án để hồn thiện sản phẩm • Phát báo cáo bug • Sử dụng Katalon Studio để kiểm thử tự động • Cải thiện kĩ mềm phát triển thân 4.2 Hướng phát triển • Tiếp tục trau dồi hoàn thiện tư phân tích thiết kế testcase • Nâng cao khả phát lỗi • Áp dụng cơng cụ hỗ trợ viết testcase, kiểm thử tự động quản lí lỗi BM Cơng nghệ thơng tin – CNTTK59 Đồn Bùi Quang Vĩnh Nghiên cứu tìm hiểu Manual Automation Test 37 TÀI LIỆU THAM KHẢO Tiếng Anh: Manual Testing: https://www.tutorialspoint.com/software_testing/ SDLC: http://tryqa.com/ Waterfall Model: https://www.tutorialspoint.com/sdlc/sdlc_waterfall_model V model: https://www.javatpoint.com/software-engineering-v-model Agile: http://www.agilenutshell.com/ Scrum: https://www.scrum.org/ Selenium: https://www.selenium.dev/ Katalon Studio: https://katalon.com/katalon-studio/ Automation testing: https://www.guru99.com/automation-testing.html Tiếng Việt: Automation Test: https://itviec.com/blog/automation-test/ Kiểm thử phần mềm: https://viblo.asia/p/cac-khai-niem-co-ban-ve-kiem-thu-phan-mem63vKjR7dK2R BM Công nghệ thông tin – CNTTK59 Đoàn Bùi Quang Vĩnh