A Mở Đầu 1 Lý do chọn đề tài Trong giai đoạn phát triển của công nghệ thông tin, ngành công nghệ phần mềm đang ngày một chiếm vị trí quan trọng trong xu hướng phát triển kinh tế công nghiệp hóa, hiện.
A Mở Đầu Lý chọn đề tài Trong giai đoạn phát triển công nghệ thông tin, ngành cơng nghệ phần mềm ngày chiếm vị trí quan trọng xu hướng phát triển kinh tế công nghiệp hóa, đại hóa đất nước ta Cùng với phát triển công nghệ phần mềm, lỗi phần mềm chất lượng phần mềm thách thức lớn với thân ngành phần mềm thực tế chứng minh, kiểm thử phần mềm giai đoạn chiếm đến 40% thời gian, kinh phí nguồn nhân lực phát triển dự án phần mềm Tuy nhiên Việt Nam nay, việc kiểm thử phần mềm chưa thực nhìn nhận với tầm quan trọng Điều thể tỷ lệ kỹ sư kiểm thử phần mềm Việt Nam cịn thấp Thêm vào đó, mức độ đáp ứng kỹ sư kiểm thử phần mềm Việt Nam chưa cao Nguyên nhân việc đến từ thiếu hụt đơn vị đào tạo chuyên sâu kiểm thử nguyên nhân sâu xa vấn đề kiểm thử phần mềm Việt Nam chưa chuyên nghiệp hóa đầu tư mức Katalon studio công cụ kiểm thử ứng dụng web có nhiều ưu điểm gói triển khai đơn giản, gắn kết chứa thứ cần để triển khai công cụ kiểm thử tự động mạnh mẽ Cài đặt nhanh chóng dễ dàng: khơng cung cấp cài đặt đơn giản, Katalon Studio giúp tester dễ dàng thiết lập mơi trường Người kiểm thử chạy kịch kiểm thử họ nhanh chóng cách sử dụng mẫu tập lệnh kiểm thử dựng sẵn nó, chẳng hạn kho đối tượng thư viện từ khóa Kết nhanh tốt hơn: mẫu dựng sẵn với hướng dẫn rõ ràng giúp người kiểm tra nhanh chóng xây dựng chạy kịch kiểm thử tự động Có thể thực bước tốc độ hiệu quả, từ thiết lập dự án, tạo kiểm thử, thực hiện, tạo báo cáo bảo trì Chế độ linh hoạt: sử dụng ghi từ khóa để xây dựng kiểm thử tự động, có IDE đầy đủ để xây dựng tập lệnh nâng cao Dễ sử dụng: thủ cơng với kinh nghiệm lập trình tối thiểu khai thác lợi ích cách dễ dàng Ứng dụng đa trình duyệt: Katalon Studio hỗ trợ nhiều tảng: Windows 32 64 (7, 8, 10) OS X 10.5+ Với mong muốn có nhìn xác thực, rõ ràng kiểm thử phần mềm tiếp cận với công cụ kiểm thử tự động Katalon Studio, nhóm chúng em lựa chọn để tài “Kiểm thử phần mềm ứng dụng web phòng cháy chữa cháy quảng nam công cụ kiểm thử tự động Katalon Studio” làm đề tài thực hành nhóm Mục tiêu nhiệm vụ nghiên cứu - Có nhìn đắn sâu sắc vấn đề kiểm thử phần mềm - Hiểu rõ thành phần công cụ Katalon Studio - Ứng dụng kiến thức kiểm thử phần mềm kiến thức Katalon Studio để viết kịch kiểm thử cho ứng dụng web Đối tượng phạm vi nghiên cứu - Quy trình chất kỹ thuật kiểm thử - Công cụ kiểm thử tự động Katalon Studio Phương pháp nghiên cứu - Nghiên cứu, tìm hiểu kỹ thuật, chiến lược kiểm thử phần mềm - Sử dụng phương pháp kiểm thử nghiên cứu, thiết kế test cho chương trình cụ thể Đưa tài liệu kế hoạch kiểm thử đặc tả kiểm thử, xây dựng chương trình thực thi kiểm thử Dự kiến kết -Thiết kế trường hợp kiểm thử cho số chức cụ thể -Tạo tài liệu kiểm thử (đặc tả trường hợp kiểm thử kết kiểm thử.) -Xây dựng chương trình kiểm thử Bảng phân công công việc thành viên nhóm STT Tên Thành Viên Nguyễn hữu Tín Công Việc Nghiên cứu phần mềm Katalon studio, áp dụng kiểm thử Nguyễn Văn Đợi Tìm nghiên cứu lý thuyết Nguyễn Văn Thanh Duyệt Tìm nghiên cứu lý thuyết Hồ Tấn Tú Nghiên cứu phần mềm Katalon studio Nguyễn Hoàng Thiện Triển khai, giới thiệu phần mềm B Nội Dung CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Định nghĩa kiểm thử phần mềm Có nhiều định nghĩa khác kiểm thử phần mềm Dưới số định nghĩa tiêu biểu: Định nghĩa từ wikipedia.org1: - Kiểm thử phần mềm trình kiểm tra nhằm cung cấp cho bên liên quan thông tin chất lượng sản phẩm dịch vụ kiểm thử Kiểm thử phần mềm cho phép doanh nghiệp đánh giá hiểu rủi ro mà phần mềm gặp phải trình sử dụng Định nghĩa từ ISTQB2: - Kiểm thử phần mềm trình thực chương trình ứng dựng với mục đích tìm kiếm lỗi phần mềm Định nghĩa từ whatis.com3: - Kiểm thử phần mềm phương pháp đánh giá chức chương trình phần mềm Định nghĩa từ techopedia.com4 -Kiểm thử phần mềm tập trình nhằm mục đích điều tra, đánh giá, chứng thực hồn chỉnh chất lượng phần mềm máy tính Kiểm thử phần mềm đảm bảo sản phẩm phần mềm phù hợp với yêu cầu bắt buộc, yêu cầu kinh doanh, yêu cầu kỹ thuật, yêu cầu chức yêu cầu người sử dụng 1.2 Mục tiêu kiểm thử phần mềm 1.2.1 Mục tiêu trực tiếp - Phát xác định nhiều lỗi tốt phần mềm kiểm thử - Tiến hành sửa lỗi phần mềm kiểm thử kiểm thử lại đạt mức độ chất lượng phần mềm chấp nhận - Thực thi trường hợp kiểm thử cách hiệu giới hạn ngân sách lịch trình cho phép 1.2.2 Mục tiêu gián tiếp - Để biên dịch tài liệu lỗi phần mềm thường gặp nhằm mục đích ngăn ngừa sửa chữa lỗi 1.3 Các nguyên tắc kiểm thử phần mềm Có bảy nguyên tắc cần ý kiểm thử phần mềm, nguyên tắc là: - Kiểm thử để chứng minh có mặt lỗi khơng chứng minh điều ngược lại: Kiểm thử cho thấy có mặt lỗi khơng thể chứng minh điều ngược lại chương trình khơng có lỗi Việc kiểm thử giảm nguy khơng tìm thấy lỗi phần mềm không tìm thấy lỗi khơng thể chứng minh sản phẩm phần mềm phát triển hồn tồn xác - Không thể kiểm thử vét cạn: Việc kiểm thử thực cho tất trường hợp kiểm thử Do thay kiểm thử khía cạnh, ta phải tập trung vào kiểm thử yếu tố quan trọng nhiều rủi - Kiểm thử sớm: Các hoạt động kiểm thử nên bắt đầu sớm tốt vòng đời phát triển phần mềm, nên tập trung mục tiêu kiểm thử định - Phân cụm lỗi: Một số lượng nhỏ mơ-đun phần mềm chứa hầu hết lỗi phát suốt trình kiểm thử tập trung hầu hết lỗi vận hành - Kiểm thử ngược: Nếu phương pháp kiểm thử lặp lặp lại nhiều lần, trường hợp kiểm thử giống không phát triệt để lỗi Để khắc phục điều ta sử dụng nguyên tắc "kiểm thử ngược", trường hợp kiểm thử cần phải xem xét duyệt lại cách đặn, việc kiểm thử cần phải viết lại để thực thi phần khác phần mềm hay hệ thống để tìm lỗi tiềm ẩn - Kiểm thử phụ thuộc vào ngữ cảnh: Việc kiểm thử thực hồn cảnh khác khác - Sai lầm việc khơng có lỗi: Tìm kiếm sửa lỗi khơng thể giúp hệ thống khơng dùng không đáp ứng yêu cầu mong đợi khách hàng 1.4 Qui trình kiếm thử phần mềm Tùy vào tổ chức, hệ thống, ngữ cảnh, mức độ rủi phần mềm mà qui trình kiểm thử phần mềm gồm nhiều bước khác Nhưng nhìn chung qui trình kiểm thử có bước qui trình đây: Sơ đồ 1.1: Qui trình kiểm thử phần mềm Theo qui trình kiểm thử phần mềm gồm giai đoạn: - Lập kế hoạch kiểm thử: Nhiệm vụ quan trọng phần lập kế hoạch kiểm thử xác định yếu tố sau: • Các giai đoạn kiểm thử áp dụng cho dự án • Các phương pháp kiểm thử • Các cơng cụ kiểm thử • Nguồn lực kiểm thử • Tài nguyên môi trường kiểm thử, bao gồm tài nguyên phần cứng phần mềm • - Mốc bàn giao tài liệu kiểm thử Chuẩn bị kiểm thử: Nhiệm vụ chiến lược giai đoạn là: • Tìm hiểu nghiệp vụ hệ thống phải kiểm thử • Xây dựng kịch kiểm thử, phát triển thủ tục kịch kiểm thử tự động (trong trường hợp kiểm thử tự động) - • Chuẩn bị liệu kiểm thử • Xem xét phê duyệt tài liệu kiểm thử Thực thi kiểm thử: • Thực kiểm thử dựa kịch kiểm thử, test script, thủ tục, liệu có sẵn từ bước chuẩn bị kiểm thử • Tham gia q trình quản lý lỗi: báo lỗi, sửa lỗi - Báo cáo phân tích liệu kiểm thử: • Báo cáo kiểm thử • Phân tích ngun nhân đề xuất hành động khắc phục 1.5 Các kỹ thuật kiểm thử phần mềm Có kỹ thuật kiểm thử phần mềm là: - Kiểm thử hộp đen - Kiểm thử hộp trắng - Kiểm thử hộp xám 1.5.1 Kiểm thử hộp đen Kỹ thuật kiểm thử hộp đen xem chương trình “hộp đen”, người kiểm thử không quan tâm đến cấu trúc bên chương trình mà quan tâm tới liệu đầu vào đầu sau xử lý Mục đích chiến lược tìm kiếm trường hợp mà chương trình khơng thực theo đặc tả Ưu, nhược điểm: Kiểm thử hộp đen có ưu điểm đánh giá phần mềm cách khách quan, người kiểm thử khơng hiểu biết mã lệnh tìm lỗi mà nhân viên phát triển khơng tìm Song kiểm thử hộp đen lại có nhược điểm thăm dị mù, nhân viên kiểm thử khơng biết chương trình thực xây dựng nào, dẫn đến trường hợp kiểm thử hộp đen phải viết nhiều trường hợp kiểm thử cần viết ca kiểm thử để kiểm tra 1.5.2 kiểm thử hộp trắng Kỹ thuật kiểm thử hộp trắng hay gọi “kiểm thử cấu trúc” kỹ thuật kiểm thử cho phép khảo sát kiến trúc bên chương trình Kiểm thử hộp trắng chiến lược thực ba sáu loại kiểm thử giai đoạn kiểm thử phần mềm là: kiểm thử đơn vị, kiểm thử tích hợp kiểm thử hồi quy Mục tiêu kiểm thử hộp trắng kiểm thử bao phủ nhiều câu lệnh, điểm định rẽ nhánh mã nguồn 1.5.3 Kiểm thử hộp xám Kiểm thử hộp xám kỹ thuật kiểm thử có kết hợp kiểm thử hộp đen kiểm thử hộp trắng Trong ta quan tâm đến liệu đầu vào đầu giống kiểm thử hộp đen, song lại địi hỏi có truy cập đến cấu trúc liệu giải thuật để thiết kế trường hợp kiểm thử 1.6 Các giai đoạn kiểm thử phần mềm - Kiểm thử phần mềm gồm giai đoạn chính: • Kiể m thử đơn vị • Kiểm thử tích hợp • Kiểm thử hệ thống • Kiểm thử nghiệm thu Sơ đồ 1.2: Các giai đoạn kiểm thử phần mềm 1.6.1 Kiểm thử đơn vị Đơn vị: Là thành phần nhỏ phần mềm kiểm thử Ví dụ: Các hàm, lớp, thủ tục, phương thức Đơn vị thường có kích thước nhỏ, chức hoạt động đơn giản, khơng gây nhiều khó khăn việc kiểm thử, ghi nhận phân tích kết phát lỗi việc tìm kiếm nguyên nhân sửa lỗi đơn giản tốn chi phí Một nguyên lý đúc kết từ thực tiễn thời gian dành cho kiểm thử đơn vị đền bù việc tiết kiệm nhiều thời gian chi phí cho việc kiểm thử sửa lỗi mức độ kiểm thử sau Mục đích: Đảm bảo thơng tin xử lý có đầu xác mối tương quan liệu nhập chức đơn vị Người thực hiện: Do việc kiểm thử đơn vị đòi hỏi phải kiểm tra nhánh lệnh, nên địi hỏi người kiểm thử có kiến thức lập trình thiết kế hệ thống nên người thực thường lập trình viên 1.6.2 Kiểm thử tích hợp - Kiểm thử tích hợp kiểm thử kết hợp giao tiếp đơn vị chương trình kiểm thử chương trình hồn thành - Mục đích: • Phát lỗi giao tiếp xảy đơn vị lỗi bả n thân đơn vị (nếu có) • Tích hợp đơn vị đơn lẻ thành hệ thống nhỏ (subsystem) cuối tích hợp hệ thống nhỏ thành hệ thống hoàn chỉnh (system) để chuẩn bị cho kiểm thử hệ thống - Người thực hiện: Thường lập trình viên - Lưu ý: • Kiểm thử tích hợp nên thực đơn vị kiểm tra cẩn thận trước kiểm thử đơn vị, tất lỗi mức đơn vị sửa chữa • Nên tích hợp dần đơn vị: Một đơn vị nên tích hợp vào nhóm đơn vị khác tích hợp hồn thành kiểm thử tích hợp trước cần kiểm tra giao tiếp đơn vị thêm vào với nhóm đơn vị tích hợp trước 1.6.3 Kiểm thử hệ thống Kiểm thử hệ thống bắt đầu tất đơn vị hệ thống tích hợp thành cơng Đây công đoạn kiểm thử tốn nhiều công sức thời gian Và đặc biệt, công đoạn thường địi hỏi thực nhóm nhân viên tách biệt với nhóm phát triển, có chun mơn kinh nghiệm kiểm thử - Kiểm thử hệ thống gồm nhiều loại kiểm thử khác nhau, số đó, mục tiêu kiểm thử quan trọng là: - • Kiểm thử chức • Kiểm thử hiệu • Kiểm thử an tồn thơng tin Mục đích: kiểm tra xem hệ thống làm có thỏa mãn u cầu hay khơng nhiều khía cạnh: hoạt động, độ tin cậy, hiệu hệ thống - Người thực hiện: Nhóm nhân viên kiểm thử - Lưu ý: • Việc lập kế hoạch cho kiểm thử hệ thống nên giai đoạn đầu dự án Phần sâu vào phân tích bước kiểm thử quan trọng nhất, coi bỏ qua tiến hành kiểm thử hệ thống 1.6.3.1 Kiểm thử chức Việc kiểm thử chức trọng đến phần kiểm thử giao diện người dùng (User interface) kiểm thử luồng nghiệp vụ (Bussiness Flow Testing) + Kiểm thử giao diện người sử dụng Kiểm thử giao diện người sử dụng gọi tắt kiểm thử giao diện việc kiểm tra tương tác người dùng với phần mềm Mục tiêu kiểm thử giao diện để đảm bảo giao diện người dùng cung cấp cho người sử dụng cách truy cập sử dụng chức hệ thống cách thích hợp Ngồi ra, kiểm thử giao diện để đảm bảo đối tượng giao diện giống thiết kế phù hợp với tổ chức chuyên ngành sung, chỉnh sửa sai sót 1.7.2 Ưu điểm nhược điểm kiểm thử tự động - Các ưu điểm kể đến kiểm thử tự động là: Kiểm thử xác bao qt thơng tin • - • Theo dõi xác kết giai đoạn báo cáo tổng hợp • Cần nhân lực q trình kiể m thử • Chu kỳ kiểm thử diễn thời gian ngắn • Hiệu kiểm thử lớp vượt xa tầm với kiểm thử thủ công Tuy nhiên không kể đến nhược điểm kiểm thử tự động: • Chi phí cao cho việc chuyển giao công nghệ đào tạo nhân viên • Tốn chi phí đầu tư lớn cho việc phát triển cơng cụ kiểm thử tự động • Tốn chi phí thời gian cho việc tạo kịch kiểm thử bảo trì kịch kiểm thử • Giai đoạn chuẩn bị kiểm thử yêu cầu nhiều nhân lực • Khu vực kiểm thử tự động không bao quát đầy đủ, không áp dụng việc tìm lỗi phần mềm 1.7.3 Các trường hợp nên áp dụng kiểm thử tự động Không phải lúc nên áp dụng kiểm thử tự động việc kiểm thử phần mềm, nhiều chi phí thời gian cho việc kiểm thử tự động lớn nhiều so với kiểm thử thủ công Dưới số trường hợp nên áp dụng phương pháp kiểm thử tự động để đạt hiệu cao thời gian, chi phí chất lượng - Trường hợp không đủ tài nguyên: Là số lượng trường hợp kiểm thử lặp lại nhiều nhiều môi trường kiểm thử khác nhau, đủ nguồn nhân lực để kiểm thử thủ cơng giới hạn thời gian - Trường hợp kiểm thử hồi qui: Trong trình phát triển phần mềm, nhóm lập trình thường đưa nhiều phiên phần mềm liên tiếp để kiểm thử Thực tế cho thấy việc đưa phiên phần mềm hàng ngày, phiên bao gồm tính mới, tính cũ sửa lỗi hay nâng cấp Việc bổ sung sửa lỗi mã chương trình cho tính phiên làm cho tính khác kiểm tra tốt chạy sai phần mã chương trình khơng chỉnh sửa Để khắc phục điều này, phiên bản, kiểm thử viên không kiểm tra chức sửa, mà phải kiểm tra lại tất tính kiểm tra tốt trước Điều khó khả thi mặt thời gian kiểm thử thủ công - Trường hợp kiểm thử khả vận hành phần mềm môi trường đặc biệt: Đây kiểm thử nhằm đánh giá xem vận hành phần mềm có thỏa mãn yêu cầu đặt hay không Thông qua kiểm thử viên xác định yếu tố phần cứng, phần mềm ảnh hưởng đến khả vận hành hệ thống Có thể liệt kê số tình kiểm tra tiêu biểu thuộc loại sau: • Đo tốc độ trung bình xử lý yêu cầu eb server • Thiết lập 1000 yêu cầu, đồng thời gửi đến eb server để kiểm tra tình 1000 người dùng truy xuất eb lúc • Xác định số yêu cầu tối đa xử lý eb server xác định cấu hình máy thấp mà tốc độ xử lý phần mềm hoạt động mức cho phép CHƯƠNG 2: TÌM HIỂU CƠNG CỤ KIỂM THỬ TỰ ĐỘNG KATALON STUDIO ÁP DỤNG KIỂM THỬ 2.1 Tổng quan Katalon Studio 2.1.1 Katalon Studio ? Xu hướng auto test phát triển mạnh mẽ, với mục đích giảm thiểu thời gian thực test hồi quy để đảm chất lượng tốt Có nhiều tool test tự động: Selenium, Appium, Quick Test Professional, Katalon Studio Ưu điểm Katalon Studio base Selenium Appium cho phép người dùng kiểm thử web mobile 2.2 Katalon IDE 2.2.1 Cài đặt Katalon Studio Chúng ta download Katalon Studio đây: https://www.katalon.com/ Có phiên download: Windows 64, Windows 32, macOS, Linux 64 Tùy vào hệ điều hành máy bạn cài mà tải phiên cho hệ điều hành 2.2.2 Cấu hình * Yêu cầu hệ thống Yêu cầu Hệ điều hành Windows 7, Windows 8, Windows 10, macOS 10.11+, Linux (Ubuntu based) CPU Bộ xử lí Ghz nhanh 32 bit (x86) 64 bit (x64) Bộ nhớ Tối thiểu GB RAM (32 bit) GB RAM (64 bit) Khuyến nghị GB RAM (32 bit) GB RAM (64 bit) Ổ cứng Ít GB dung lượng ổ cứng khả dụng Cần thêm dung lượng đĩa phụ thuộc vào mã nguồn dự án báo cáo thực tạo * Mơi trường hỗ trợ - Trên trình duyệt Trình duyệt Desktop Internet Explorer Microsoft Edge Version on Windows Firefox 56+ 9, 10, 11 Hiện hành Version on MacOS N/A N/A Để sử dụng Lưu ý Cấu hình IE bắt buộc: cấu hình Internet Explorer Tham khảo trang để biết trạng thái Edge WebDriver: https://docs.microsoft.com/en -us/microsoft-edge/webdriver ... phương pháp kiểm thử chấp nhận: Kiểm thử alpha kiểm thử bêta 1.6.4. 1Kiểm thử alpha - Người dùng kiểm thử phần mềm nơi phát triển phần mềm hỗ trợ nhân viên kiểm thử, nhân viên kiểm thử ghi nhận... thiết kế trường hợp kiểm thử 1.6 Các giai đoạn kiểm thử phần mềm - Kiểm thử phần mềm gồm giai đoạn chính: • Kiể m thử đơn vị • Kiểm thử tích hợp • Kiểm thử hệ thống • Kiểm thử nghiệm thu Sơ đồ... kiểm thử đơn vị, kiểm thử tích hợp kiểm thử hồi quy Mục tiêu kiểm thử hộp trắng kiểm thử bao phủ nhiều câu lệnh, điểm định rẽ nhánh mã nguồn 1.5.3 Kiểm thử hộp xám Kiểm thử hộp xám kỹ thuật kiểm