Đồ án tốt nghiệp

40 14 0
Đồ án tốt nghiệp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1 Thông tin chung Tên đề tài Kiểm thử chức năng website bán hàng link kiện điện tự Họ và tên sinh viên Lê Quang Huy Điện thoại liên lạc Email Lớp Công Nghệ Phần Mề.

Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin chung Tên đề tài Kiểm thử chức website bán hàng link kiện điện tự Họ tên sinh viên: Lê Quang Huy Điện thoại liên lạc: Email: Lớp: Cơng Nghệ Phần Mềm Hệ đào tạo: Đại học quy Đồ án tốt nghiệp thực tại: Hà Nội Thời gian làm ĐATN: Mục tiêu ĐATN Nghiên cứu tổng quan phần mềm, lỗi phần mềm, kiểm thử phần mềm, ứng dụng xây dựng kịch kiểm thử cho website Các nhiệm vụ cụ thể ĐATN - Tìm hiểu phần mềm, lỗi phần mềm kiểm thử phần mềm - Nghiên cứu kiểm thử chức - Nắm rõ kiểm thử chức - Ứng dụng kiến thức tìm hiểu kiểm thử phần mềm kiểm thử chức để tiến hành xây dựng TestCase kiểm thử website Lời cam đoan sinh viên: Tôi – Lê Quang Huy – cam kết ĐATN cơng trình nghiên cứu thân tơi hướng dẫn GV Ths Hoàng Anh Đức Các kết nêu ĐATN trung thực, chép tồn văn cơng trình khác Hà Nội, ngày tháng năm Tác giả ĐATN Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm Hà Nội, ngày tháng Cán hướng dẫn Lê Quang Huy năm Đồ án tốt nghiệp chun ngành Cơng Nghệ Phần Mềm TĨM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Đồ án giới thiệu lý thuyết phần mềm, kiểm thử phần mềm, kiểm thử phần mềm web Ngoài đề tài sâu vào tìm hiểm kiểm thử chức - Ứng dụng kiến thức tìm hiểu học để xây dựng kịch kiểm thử tiến hành kiểm thử trang web Nội dung đồ án gồm có phần sau: - - - - Lê Quang Huy Mở đầu: Trình bày lý chọn đề tài, mục tiêu nghiên cứu bố cục đồ án Chương 1: Tổng quan phần mềm lỗi phần mềm Chương trình bày khái niệm phần mềm, đảm bảo chất lượng phần mềm lỗi phần mềm Chương 2: Tổng quan kiểm thử phần mềm Chương trình bày khái niệm, mục tiêu, quy trình, giai đoạn phương pháp kiểm thử phần mềm Đồng thời giới thiệu kiểm thử tự động Chương 3: Kết thử nghiệm: Chương trình bày chức trang web bán hàng điện tử, xây dựng TestCase báo cáo kết kiểm thử Kết luận hướng phát triển: Đưa kết đạt từ đồ án hướng phát triển tương lại Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm LỜI CẢM ƠN Em xin chân thành cảm ơn thầy cô giáo Khoa Công nghệ thông tin Trường Đại học Mỏ - Địa chất Hà Nội, thầy cô giáo Bộ môn Công nghệ phần mềm nhiệt tình giảng dạy, truyền đạt kiến thức tạo điều kiện thuận lợi cho em suốt trình học tập năm qua trình thực đồ án tốt nghiệp Em xin gửi lời cảm ơn đặc biệt đến … – Bộ mơn Cơng nghệ phần mềm nhiệt tình hướng dẫn, bảo cho em suốt thời gian thực đồ án Thầy trực tiếp hướng dẫn, bảo, giúp em khắc phục khó khăn, thiếu sót để hồn thành phần đồ án tốt nghiệp từ lý thuyết thực hành Mặc dù cố gắng với tất nỗ lực thân để hoàn thiện đồ án, thời gian có hạn, lực kinh nghiệm cịn hạn chế nên đồ án tránh khỏi thiếu sót Kính mong nhận đóng góp ý kiến từ phía thầy cơ, bạn bè để em nâng cao kiến thức thân, hoàn thiện đồ án tốt Em xin chân thành cảm ơn! Hà Nội, ngày……tháng……năm Sinh viên thực Lê Quang Huy Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP .I TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP III LỜI CẢM ƠN IV MỤC LỤC V DANH MỤC CÁC HÌNH VẼ VII DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX MỞ ĐẦU CHƯƠNG TỔNG QUAN PHẦN MỀM VÀ LỖI PHẦN MỀM 1.1 Định nghĩa phần mềm .2 1.2 Đặc trưng phần mềm 1.3 Vòng đời phần mềm 1.4 Chất lượng phần mềm đảm bảo chất lượng phần mềm 1.4.1 Chất lượng phần mềm 1.4.2 Đảm bảo chất lượng phần mềm 1.4.3 Một số tiêu chí đảm bảo chất lượng phần mềm: 1.5 Lỗi phần mềm 1.5.1 Định nghĩa 1.5.2 Các nguyên nhân gây lỗi phần mềm 1.5.3 Một số quy tắc xác định lỗi phần mềm 1.5.4 Vòng đời lỗi 1.5.5 Quy trình xử lý lỗi phần mềm 10 CHƯƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 13 2.1 Định nghĩa kiểm thử phần mềm 13 2.2 Vai trò kiểm thử phần mềm .13 2.3 Mục tiêu kiểm thử phần mềm 14 2.4 Quy trình kiểm thử phần mềm 14 2.4.1 Requirement analysis (Phân tích yêu cầu) .14 2.4.2 Test planning (Lập kế hoạch kiểm thử) 15 2.4.3 Test case development (Thiết kế kịch kiểm thử) 16 2.4.4 Test environment setup (Thiết lập môi trường kiểm thử) 16 Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm 2.4.5 Test execution (Thực kiểm thử) .17 2.4.6 Test cycle closure (Đóng chu trình kiểm thử) 17 2.5 Các giai đoạn kiểm thử phần mềm 18 2.5.1 Unit testing (Kiểm thử đơn vị) 18 2.5.2 Integration testing (Kiểm thử tích hợp) 19 2.5.3 System testing (Kiểm thử hệ thống) 19 2.5.4 Acceptance testing (Kiểm thử nghiệm thu) .19 2.6 Các kỹ thuật kiểm thử phần mềm 20 2.6.1 Kiểm thử hộp đen 20 2.6.2 Kiểm thử hộp trắng 21 2.6.3 Kiểm thử hộp xám 22 2.7 Kiểm thử tự động .23 2.7.1 Khái niệm kiểm thử tự động 23 2.7.2 Tại phải kiểm thử tự động 23 2.7.3 Ưu điểm nhược điểm kiểm thử tự động .24 2.7.4 Khi nên sử dụng kiểm thử tự động? 24 2.7.5 Một số công cụ kiểm thử tự động 25 2.8 Kiểm thử chức 25 2.8.1 Kiểm thử chức gì? .25 2.8.2 Mục đích kiểm thử chức 25 CHƯƠNG Kết thử nghiệm .27 3.1 Bài toán kiểm thử 27 3.2 Kịch kiểm thử 27 3.3 Báo cáo kết kiểm thử 27 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 27 PHỤ LỤC 31 Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Cơng Nghệ Phần Mềm DANH MỤC CÁC HÌNH VẼ Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm DANH MỤC CÁC BẢNG BIỂU Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt Từ tiếng Anh Từ nghĩa tiếng Việt Test case Trường hợp kiểm thử Test suite Một bao gồm nhiều test case liên quan với TC Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm MỞ ĐẦU Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài Thời đại công nghệ 4.0, công nghệ thông tin ngày phát triển mạnh mẽ nhiều lĩnh vực khác nhau, kéo theo hệ thống mạng phần mềm, ứng dụng gia tăng số lượng lẫn chất lượng Cùng với phát triển đó, lỗi phần mềm chất lượng phần mềm ln thách thức lớn ngành thực tế chứng kiểm thử phần mềm giai đoạn chiếm 40% thời gian, kinh phí nguồn nhân lực phát triển phần mềm Tự động hóa nghiên cứu ứng dụng nhiều lĩnh vực khác nhau, kiểm thử phần mềm không ngoại lệ Khi mà kiểm thử phần mềm tiêu tốn lượng lớn thời gian, kinh phí nhân lực dự án song song với kiểm thử thủ công, đời công cụ kiểm thử tự động giúp cho công việc kiểm thử trở nên nhanh, xác bớt nhàm chán Tính cấp thiết, ý nghĩa khoa học thực tiễn đề tài Selenium công cụ kiểm thử ứng dụng web mã nguồn mở, hồn tồn miễn phí Tuy công cụ cũ nhiều công ty phần mềm sử dụng đơn giản, tiện lợi khơng tốn chi phí Với mong muốn có nhìn xác thực, rõ ràng kiểm thử phần mềm công cụ kiểm thử tự động Selenium, em chọn đề tài cho đồ án tốt nghiệp Trong khuôn khổ đồ án, thời gian kinh nghiệm thực tế nhiều hạn chế nên phần chưa thực tốt, em mong nhận góp ý thầy bạn để đề tài hoàn thiện Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm  yêu cầu khách hàng, hay đặc thù sản phẩm ví dụ server, client, network… Tester cần chuẩn bị vài test case để kiểm tra xem môi trường cài đặt sẵn sẵn sàng cho việc kiểm thử hay chưa Đầu Đầu giai đoạn môi trường cài đặt theo yêu cầu, sẵn sàng cho việc kiểm thử 2.4.5 Test execution (Thực kiểm thử) Đầu vào Tài liệu đầu vào giai đoạn thực kiểm thử test plan, test design, test case, check list, test data, test script Hoạt động   Thực test case thiết kế mức độ ưu tiên đưa So sánh với kết mong đợi, báo cáo bug xảy lên tool quản lý lỗi  theo dõi trạng thái lỗi sửa thành công Thực re-test để xác nhận lỗi sửa hay chưa thực kiểm thử  hồi quy có thay đổi liên quan Đo phân tích tiến độ: Tester cần kiểm sốt chặt chẽ tiến độ cơng việc  cách so sánh tiến độ thực tế với kế hoạch, chậm cần phải điều chỉnh cho kịp với tiến độ dự án, nhanh cần phải điều chỉnh kế hoạch chưa sát với thực tế dự án Từ sửa chữa test plan để phù hợp với tiến độ dự án đề Báo cáo thường xuyên cho PM khách hàng tình hình tiến độ dự án: Cung cấp thơng tin q trình kiểm thử làm chức nào, chức nào, hồn thành phần trăm cơng việc, báo cáo trường hợp phát sinh sớm, tránh ảnh hưởng đến tiến độ công việc Đầu Đầu giai đoạn test results (kết kiểm thử), defect reports (danh sách lỗi tìm được) 2.4.6 Test cycle closure (Đóng chu trình kiểm thử) Đầu vào Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm Đầu vào giai đoạn đóng chu trình kiểm thử bao gồm tất tài liệu liên quan tổng hợp, ghi chép hoàn thiện đầy đủ suốt trình kiểm thử dự án: tài liệu phân tích đặc tả yêu cầu, test plan, test results, defect reports… Hoạt động   Đây giai đoạn cuối quy trình kiểm thử phần mềm Ở giai đoạn này, QA thực tổng kết, báo cáo kết việc thực thi  test case, case pass/fail, case fix, mức độ nghiêm trọng lỗi, lỗi cịn nhiều chức nào…Chức hồn thành test, chưa hoàn thành test, trễ tiến độ bàn giao Đánh giá tiêu chí hồn thành phạm vi kiểm thử, chất lượng, chi phí,  thời gian, mục tiêu Ngoài ra, giai đoạn thảo luận tất điểm tốt, điểm chưa tốt rút học kinh nghiệm cho dự án sau, giúp cải thiện quy trình kiểm thử Đầu Đầu giai đoạn tài liệu: test report, test results (final) 2.5 Các giai đoạn kiểm thử phần mềm 2.5.1 Unit testing (Kiểm thử đơn vị) - Định nghĩa: o Một đơn vị phần mềm (Unit) thành phần phần mềm nhỏ mà ta kiểm tra Nó bao gồm hàm (function), thủ tục (procedure), lớp (class) phương thức (method) o Kiểm thử đơn vị (Unit test) thực để kiểm tra xem module - riêng lẻ mã nguồn có hoạt động hay khơng Tức kiểm tra đơn vị ứng dụng cách riêng biệt người lập trình mơi trường phát triển Đây thử nghiệm module Unit tesing kiểu white box testing Mục đích: o Để xác định đơn vị phần mềm thực thiết kế o Kiểm thử đơn vị làm tăng độ tin cậy việc thay đổi bảo trì code Nếu viết kiểm thử đơn vị tốt chạy code thay đổi, ta bắt kịp lỗi có thay đổi o Chi phí sửa lỗi phát giai đoạn kiểm thử đơn vị so với việc phát lỗi mức độ cao Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm 2.5.2 Integration testing (Kiểm thử tích hợp) - - - Định nghĩa: Là cấp độ kiểm thử phần mềm đơn vị riêng lẻ kết hợp thử nghiệm dạng nhóm Một dự án phần mềm bao gồm nhiều module phần mềm, code nhiều người khác Kiểm thử tích hợp tập trung vào kiểm tra truyền liệu module Mục đích: Để lộ lỗi tương tác đơn vị tích hợp o Để lộ lỗi tương tác đơn vị thích hợp o Để tìm lỗi q trình tích hợp thành phần, module lại với Các trình điều khiển thử nghiệm phần tử thử nghiệm sử dụng để hỗ trợ kiểm thử tích hợp Các phương pháp tiếp cận: o Big bang: Các module riêng lẻ không tích hợp tất module sẵn sàng Sau họ chạy để kiểm tra xem có hoạt động tốt hay khơng o Top Down: Các module mức cao tích hợp kiểm tra trước tiên Tức kiểm tra từ module đến module phụ o Bottom Up: Các module cấp thấp tích hợp kiểm tra trước tiên, tức kiểm tra từ module phụ đến module o Sandwich/ Hybrid: Là cách tiếp cận để kiểm thử tích hợp với kết hợp phương pháp Top Down Bottom Up 2.5.3 System testing (Kiểm thử hệ thống) - Định nghĩa: o Là mức độ kiểm thử phần mềm, nơi phần mềm hồn chỉnh tích hợp kiểm thử o Kiểm thử hệ thống bao gồm kiểm thử chức phi chức o Kiểm thử hệ thống tập trung nhiều vào chức toàn hệ thống o Các trường hợp kiểm thử hệ thống bao gồm chức sản phầm hoàn chỉnh thực trường hợp kiểm thử mức độ cao o Các hành vi ứng dụng hoàn chỉnh kiểm tra để đáp ứng yêu - cầu quy định Mục đích: Để đánh giá tuân thủ hệ thống với yêu cầu định 2.5.4 Acceptance testing (Kiểm thử nghiệm thu) - Định nghĩa: o Là mức độ kiểm thử phần mềm hệ thống kiểm tra tính chấp nhận Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm o Kiểm thử nghiệm thu kiểm thử chức để kiểm tra hành vi hệ thống cách sử dụng liệu thực tế o Kiểm thử nghiệm thu thực người dùng cuối để kiểm tra hệ - thống xây dựng để phù hợp với yêu cầu Mục đích: o Đánh giá tuân thủ hệ thống với yêu cầu đánh giá xem có chấp nhận cho việc phân phối hay không o Mục tiêu kiểm thử nghiệm thu để xác nhận lại tin tưởng vào hệ - thống, đặc tính thuộc chức phi chức hệ thống Tìm kiếm lỗi khơng phải trọng tâm kiểm thử nghiệm thu Các loại kiểm thử nghiệm thu: o Alpha testing: Là nhóm người thực kiểm thử nơi sản xuất phần mềm Là dạng kiểm thử nghiệm thu nội bộ, trước phần mềm thực Beta testing o Beta testing: Là hình thức kiểm tra sau Alpha testing, thực địa điểm khách hàng, nơi phát triển phần mềm 2.6 Các kỹ thuật kiểm thử phần mềm 2.6.1 Kiểm thử hộp đen Kiểm thử hộp đen phương pháp kiểm thử mà tester không cần quan tâm đến hoạt động bên hệ thống chạy sao, không cần quan tâm đến dòng lệnh bên hệ thống mà cần tập trung vào giá trị đầu vào giá trị đầu hệ thống có với kết mong đợi trường hợp kiểm thử không để từ đánh giá chất lượng hệ thống Dưới ưu điểm nhược điểm phương pháp kiểm thử hộp đen: Ưu điểm Nhược điểm Phù hợp hiệu mà số lượng Bị giới hạn độ bao phủ trường dòng lệnh hệ thống lớn hợp kiểm thử Không cần can thiệp dịng lệnh Sẽ khơng hiệu thực tế tester bị giới hạn kiến thức hệ thống Phân biệt rõ ràng quan điểm Độ bao phủ bị thiếu tester khơng người dùng với quan điểm lập trình kiểm tra dòng lệnh hệ thống viên tập trung vào dòng lệnh dễ xảy Đồ án tốt nghiệp chun ngành Cơng Nghệ Phần Mềm lỗi Khơng địi hỏi kiến thức ngơn ngữ lập Sẽ khó để thiết kế đầy đủ trường trình tester để kiểm thử hệ hợp kiểm thử thống Bảng 2–2 Ưu điểm nhược điểm kiểm thử hộp đen 2.6.2 Kiểm thử hộp trắng Kiểm thử hộp trắng việc nghiên cứu cụ thể chi tiết luồng hoạt đọng dòng lệnh bên hệ thống Kiểm thử hộp trắng đòi hỏi tester phải có kiến thức ngơn ngữ lập trình Tester cần phải nghiên cứu bên hệ thống, cụ thể dịng lệnh để tìm hiểu xem chúng có chạy hay không Dưới ưu điểm nhược điểm phương pháp kiểm thử hộp trắng: Ưu điểm Nhược điểm Với tester có kiến thức lập trình Trên thực tế, sử dụng tester có kiến thức dễ dàng phát lỗi dịng lập trình làm tăng chi phí phát triển lệnh phần mềm Đôi lúc không khả thi kiểm tra chi Giúp tối ưu hóa dịng lệnh hệ tiết dịng lệnh để từ phát thống lỗi tiềm ẩn hệ thống, có nhiều luồng khó kiểm tra Đồ án tốt nghiệp chuyên ngành Cơng Nghệ Phần Mềm Rất khó để trì phương pháp Các dịng lệnh khơng cần thiết có khả liên tục, cần phải có cơng cụ chuyên gây lỗi tiềm ẩn bị loại bỏ biệt Các tester có kiển thức lập trình sau thực phương pháp dễ dàng đạt độ bao phủ lớn thực thiết kế trường hợp kiểm thử sau Bảng 2–3 Ưu điểm nhược điểm kiểm thử hộp trắng 2.6.3 Kiểm thử hộp xám Kiểm thử hộp xám phương pháp kiểm thử đòi hỏi tester phải có lượng kiến thức định luồng hoạt động bên hệ thống Khác với kiểm thử hộp đen – phương pháp mà tester quan tâm nhẩt đến việc kiểm thử thông qua giao diện người dùng, kiểm thử hộp xám đòi hỏi tester phải đọc tài liệu phân tích thiết kế hệ thống, truy cập vào hệ thống sở liệu hệ thống Do mà tester chuẩn bị tốt liệu cho việc kiểm thử xây dựng trường hợp kiểm thử trình lên kế hoạch kiểm thử hệ thống Dưới ưu điểm nhược điểm phương pháp kiểm thử hộp xám Ưu điểm Nhược điểm Là kết hợp kiểm thử hộp đen Vì khơng dựa việc truy cập vào mã kiểm thử hộp xám nên có ưu điểm nguồn hệ thống nên độ bao phủ hai phương pháp trường hợp kiểm thử bị giới hạn Kiểm thử hộp xám khơng dựa vào mã nguồn, thay vào dựa vào tài liệu thiết Các trường hợp kiểm thử bị dư thừa kế giao diện tài liệu đặc tả chức Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm Tester kiểm thử hộp xám thiết kế trường hợp kiểm thử thông qua giao thức kết nối kiểu liệu khác Kiểm thử luồng đầu vào khơng thể làm khoảng lớn thời gian Do nhiều luồng hoạt động không kiểm thử Việc kiểm thử thực từ quan điểm người dùng người thiết kế Bảng 2–4 Ưu điểm nhược điểm kiểm thử hộp xám 2.7 Kiểm thử tự động 2.7.1 Khái niệm kiểm thử tự động Trong lĩnh vực kiểm thử phần mềm, kiểm thử tự động (Automation Testing) đóng vai trị quan trọng góp phần nâng cao suất kiểm thử, giảm thiểu lỗi nhàm chán với việc kiểm thử tay (Manual Testing) thời gian dài lặp lặp lại Kiểm thử tự động trình xử lý tự động bước thực testcase Kiểm thử tự động thực với phần mềm kiểm thử tự động (Automation Testing Tool) Hình 2-4 Quy trình kiểm thử tự động 2.7.2 Tại phải kiểm thử tự động - Kiểm thử tự động sử dụng cơng cụ ghi lại test suit chạy lại theo - yêu cầu Tiết kiệm thời gian kiểm thử Tự động hóa khơng cần can thiệp người Tự động tăng tốc độ thực kiểm tra Tự động hóa giúp tăng phạm vi kiểm tra Cải thiện độ xác nhanh 70% so với kiểm thử thủ công Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm 2.7.3 Ưu điểm nhược điểm kiểm thử tự động Ưu điểm Nhược điểm Khó mở rộng, khó bảo trì: dự án, để mở rộng phạm vi kiểm thử tự Độ tin cậy cao: cơng cụ kiểm thử tự động động khó nhiều so với kiểm thử thử có ổn định độ tin cậy cao hơn, đặc cơng cập nhật hay chỉnh sửa yêu cầu biệt trường hợp nhiều testcase công việc debug, thay đổi liệu đầu vào Khả bao phủ thấp: khó mở rộng Khả lặp: công cụ kiểm thử tự động đòi hỏi kỹ lập trinhg nên độ bao đời để giúp tester lặp lặp lại phủ kiểm thử tự động thấp xét góc thao tác dẫn đến nhàm chán nhìn tồn dự án Có khả tái sử dụng Vấn đề cơng cụ nhân lực: có nhiều cơng cụ kiểm thử tự động tốt có hạn chế Ngoài nhân lực đạt yêu cầu sử dụng thành thạo cơng cụ khơng có nhiều Tốc độ kiểm thử nhanh Chi phí thấp: áp dụng kiểm thử tự động cách, ta tiết kiệm nhiều chi phí, thời gian nhân lực Bảng 2–5 Ưu điểm nhược điểm kiểm thử tự động 2.7.4 Khi nên sử dụng kiểm thử tự động? - Kiểm thử tự động hiệu áp dụng cho giai đoạn re-test kiểm thử - hồi quy, cần chạy số lượng testcase khoảng thời gian ngắn Kiểm thử cần thực nhiều môi trường khác Những dự án có tính ổn định cao, đặc điểm kỹ thuật xác định trước Những trường hợp kiểm thử xác nhận hoạt động Kiểm tra kết hợp nhiều giá trị đầu vào bước Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm - Khi muốn thực kiểm thử hiệu 2.7.5 Một số công cụ kiểm thử tự động - Selenium: Là công cụ kiểm thử phần mềm sử dụng để kiểm thử hồi - quy Đây công cụ mã nguồn mở Quick Test Professional (QTP): QTP sử dụng rộng rãi để kiểm thử chức - kiểm thử hồi quy, giải ứng dụng phần mềm môi trường LoadStorm: Là công cụ kiểm thử cho ứng dụng web mobile LambaTest: Là tảng kiểm thử trình duyệt chéo dựa - tảng đám mây, cho phép người dùng thực kiểm thử khả tương thích tự động trang web ứng dụng web Katalon Studio: Là cơng cụ tồn diện cho kiểm thử tự động ứng dụng web điện thoại di động 2.8 Kiểm thử chức 2.8.1 Kiểm thử chức gì?  Kiểm thử chức loại kiểm thử hộp đen (black box) test case  dựa đặc tả ứng dụng phần mềm/thành phần test Các chức kiểm thử cách nhập vào giá trị nhập kiểm tra kết đầu ra, quan tâm đến cấu trúc bên ứng dụng Nó qui trình cố gắng tìm khác biệt đặc tả bên phần mềm thực tế mà phần mềm cung cấp Với đặc tả bên ngồi phần mềm đặc tả xác hành vi phần mềm theo góc nhìn người dùng 2.8.2 Mục đích kiểm thử chức  Với kiểm thử đơn vị ta phát khác biệt đặc tả giao tiếp đơn vị  thực tế mà đơn vị cung cấp Với kiểm thử hệ thống ta chương trình khơng tương thích với  mục tiêu ban đầu Với kiểm thử chức ta hồn thiện nốt phần cần xác minh cịn lại  chương trình khơng tương thích với đặc tả bên ngồi Các lợi ích: tránh kiểm thử dư thừa, ngăn chặn quan tâm nhiều vào nhiều loại lỗi thời điểm Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm CHƯƠNG KẾT QUẢ THỬ NGHIỆM 3.1 Bài toán kiểm thử 3.2 Kịch kiểm thử 3.3 Báo cáo kết kiểm thử KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kiểm thử phần mềm hoạt động quan trọng quy trình phát triển phần mềm, đồng thời đóng vai trò quan trọng việc đảm bảo chất lượng phần mềm Khi mà nhu cầu phần mềm ngày nhiều phức tạp hơn, yêu cầu tối ưu việc kiểm thử phần mềm trước đưa đến tay người sử dụng lại đòi hỏi cấp thiết Việc tự kiểm thử giúp nâng cao nâng cao suất chất lượng dự án Tuy nhiên chi phí cho phần mềm kiểm thử thương mai thường cao Vì sử dụng cơng cụ kiểm thử tự động mã nguồn mở lựa chọn tốt Một lựa chọn cơng cụ Selenium Qua việc tìm hiểu xây dựng đồ án, em đạt kết sau: - Nắm tổng quan phần mềm lỗi phần mềm, đảm bảo chất lượng phần mềm Nắm kiển thức kiểm thử phần mềm: quy trình kiểm thử, phương pháp kiểm thử Đồng thời tìm hiểu kiểm thử tự động Tìm hiểu nắm phương pháp thiết kế testcase kiểm thử phần mềm áp dụng vào toán thực tế Nghiên cứu Selenium, sâu Selenium WebDriver sử dụng Selenium WebDriver với ngơn ngữ lập trình JavaScript Tìm hiểu thêm sử dụng framework hỗ trợ viết tests cript Mocha Điểm hạn chế: Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm - Chưa nghiên cứu lập trình nâng cao với Selenium Webdriver Một số trường hợp chưa thể áp dụng kiểm thử tự động Hướng phát triển đề tài: - Sử dụng cơng cụ Selenium mơ hình phần mềm phức tạp dự án thực tế Tìm hiểu thêm công cụ Selenium IDE, Selenium Grid Học thêm ngôn ngữ lập trình khác để xây dựng test script ngơn ngữ Java, C#, Python Tìm hiểu thêm công cụ kiểm thử tự động khác TÀI LIỆU THAM KHẢO Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm [1] "Tổng quan đảm bảo chất lượng phần mềm," [Online] Available: https://viblo.asia/p/tong-quan-ve-dam-bao-chat-luong-phan-memal5XRBbLRqPe [2] "Defect/Bug Life Cycle in Software Testing," [Online] Available: https://www.guru99.com/defect-life-cycle.html [3] "Tổng quan lý thuyết kiểm thử," [Online] https://voer.edu.vn/m/tong-quan-ve-ly-thuyet-kiem-thu/2d1cf4f3 [4] "Vai trị kiểm thử phần mềm cơng ty gì," [Online] Available: https://www.devpro.edu.vn/vai-tro-cua-kiem-thu-phan-mem [5] "7 nguyên tắc quan trọng kiểm thử phần mềm," [Online] Available: https://viblo.asia/p/7-nguyen-tac-quan-trong-trong-kiem-thu-phan-memQbq5QrPEKD8 [6] "Quy trình kiểm thử phần mềm," [Online] Available: https://viblo.asia/p/quy-trinh-kiem-thu-phan-mem-software-testing-life-cyclestlc-Qbq5QLvmlD8 [7] "Các giai đoạn kiểm thử phần mềm - Testing Levels," [Online] Available: https://viblo.asia/p/cac-giai-doan-kiem-thu-phan-mem-testing-levelsQpmleBOD5rd [8] "Các phương pháp kiểm thử," [Online] https://viblo.asia/p/cac-phuong-phap-kiem-thu-1Je5EjV0KnL [9] "Khi sử dụng kiểm thử tự đông (Automation Testing)?," [Online] Available: https://bizflycloud.vn/tin-tuc/khi-nao-thi-su-dung-automationtesting-20180529114707505.htm [10] "Kiểm thử tự động công cụ sử dụng kiểm thử tự động," [Online] Available: https://viblo.asia/p/kiem-thu-tu-dong-va-cac-cong-cu-duocsu-dung-trong-kiem-thu-tu-dong-aWj531qbZ6m [11] "Selenium WebDriver Locators - xác định vị trí phần tử HTML," [Online] Available: https://viettuts.vn/selenium/selenium-webdriver-locatorsxac-dinh-vi-tri-phan-tu-html [12] "How to test JavaScript with Mocha," [Online] https://codeburst.io/how-to-test-javascript-with-mocha-the-basics80132324752e [13] "Mocha - the fun, simple, flexible JavaScript test framework," [Online] Available: https://mochajs.org/ Available: Available: Available: Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm [14] M q h g v đ p t p m v v đ k t p mềm [Online] Available: https://freetuts.net/moi-quan-he-giua-vong-doi-phat-trien-phan-mem-va-vongdoi-kiem-thu-phan-mem-1531.html Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm PHỤ LỤC .. .Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm Hà Nội, ngày tháng Cán hướng dẫn Lê Quang Huy năm Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Đồ án. .. chuyên ngành Công Nghệ Phần Mềm DANH MỤC CÁC HÌNH VẼ Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm DANH MỤC CÁC BẢNG BIỂU Lê Quang Huy Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm. .. hưởng lớn đến phần mềm Đồ án tốt nghiệp chun ngành Cơng Nghệ Phần Mềm Hình 1-1 Sơ đồ vòng đời lỗi Đồ án tốt nghiệp chuyên ngành Cơng Nghệ Phần Mềm 1.5.5 Quy trình xử lý lỗi phần mềm Hình 1-2

Ngày đăng: 11/09/2022, 23:19

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan