Phát triển ứng dụng - Chương 4: Kiểm thử chức năng ứng dụng

pptx 27 trang vanle 1660
Bạn đang xem 20 trang mẫu của tài liệu "Phát triển ứng dụng - Chương 4: Kiểm thử chức năng ứng dụng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxphat_trien_ung_dung_chuong_4_kiem_thu_chuc_nang_ung_dung.pptx

Nội dung text: Phát triển ứng dụng - Chương 4: Kiểm thử chức năng ứng dụng

  1. Môn: PHÁT TRIỂN ỨNG DỤNG Chương 4. Kiểm thử chức năng ứng dụng
  2. Nội dung 4.1. Kiểm định ứng dụng 4.2. Đóng gói ứng dụng Chương 4. Kiểm thử chức năng ứng dụng 2
  3. 4.1. Kiểm thử ứng dụng 4.1.1. Mục tiêu kiểm thử ứng dụng 4.1.2. Các loại và nguyên tắc kiểm thử ứng dụng (mức đơn giản) Nguyên tắc Kiểm thử thành phần/đơn vị Kiểm thử hộp trắng, hộp đen Kiểm thử tích hợp Kiểm thử hệ thống 4.1.3. Kế hoạch kiểm thử ứng dụng 4.1.4. Hiện thực kiểm thử ứng dụng Chương 4. Kiểm thử chức năng ứng dụng 3
  4. 4.1.1. Mục tiêu kiểm thử ứng dụng Một số vấn đề thường gặp trong phát triển ứng dụng: Tính toán không chính xác, hiệu chỉnh sai dữ liệu. Tìm kiếm dữ liệu sai yêu cầu. Xử lý không chính xác mối quan hệ giữa các dữ liệu. Coding/hiện thực sai các yêu cầu nghiệp vụ. Kết quả không chính xác. Hiệu suất của ứng dụng còn thấp. Hỗ trợ chưa đầy đủ các nhu cầu nghiệp vụ. Chương 4. Kiểm thử chức năng ứng dụng 4
  5. 4.1.1. Mục tiêu kiểm thử ứng dụng (tt) Mục tiêu: Phát hiện càng nhiều lỗi càng tốt trong thời gian kiểm thử ứng dụng Chứng minh rằng ứng dụng phù hợp với các nghiệp vụ ban đầu đặt ra. Xác thực chất lượng kiểm thử ứng dụng Tạo các tình huống kiểm thử đạt yêu cầu chất lượng cao Thực hiện kiểm thử hiệu quả và tạo ra các báo cáo hữu ích. Chương 4. Kiểm thử chức năng ứng dụng 5
  6. 4.1.1. Mục tiêu kiểm thử ứng dụng (tt) Verification,Validation, và Testing Kiểm chứng (Verification) ◼ Có đúng đặc tả ban đầu không, có đúng thiết kế không ◼ Phát hiện lỗi lập trình Thẩm định (Validation) ◼ Có đáp ứng nhu cầu người sử dụng không ◼ Ứng dụng có hoạt động hiệu quả không ◼ Phát hiện lỗi phân tích, lỗi thiết kế V&V = Verification and Validation ◼ Mục tiêu là phát hiện và sửa lỗi ứng dụng, đánh giá tính năng có thể sử dụng được của ứng dụng Thứ tự thực hiện: Verification → Validation Chương 4. Kiểm thử chức năng ứng dụng 6
  7. 4.1.2. Nguyên tắc và các loại kiểm thử ứng dụng Nguyên tắc Kiểm thử thành phần/đơn vị Kiểm thử tích hợp Kiểm thử hệ thống Chương 4. Kiểm thử chức năng ứng dụng 7
  8. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Yêu cầu đối với kiểm thử Tính lặp lại ◼ Kiểm thử phải lặp lại được (kiểm tra xem lỗi đã được sửa hay chưa) ◼ Dữ liệu/trạng thái phải mô tả được Tính hệthống ◼ Đảm bảo kiểm tra hết các trường hợp xảy ra (coverage) Được lập tài liệu ◼ Kiểm soát tiến trình/kết quả Chương 4. Kiểm thử chức năng ứng dụng 8
  9. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Kiểm thử thành phần/đơn vị Một đơn vị là một thành phần nhỏ nhất của phần mềm có thể kiểm tra được ◼ Functions, Procedures, Classes, và Methods có thể xem là “đơn vị” Ví dụ : ◼ C++ or Java: lớp (Class) ◼ C: hàm hoặc chương trình con ◼ Pascal: hàm hoặc thủ tục ◼ 4GL: Menu hoặc GUI Chương 4. Kiểm thử chức năng ứng dụng 9
  10. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Kiểm thử thành phần/đơn vị (tt) Nội dung kiểm thử đơn vị Giải thuật và logic Cấu trúc dữ liệu Giao diện (Interfaces) Các nhánh độc lập (Independent paths) Giá trị biên, điều kiện biên Bẫy lỗi và kiểm soát lỗi (Error handling) Chương 4. Kiểm thử chức năng ứng dụng 10
  11. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Kiểm thử thành phần/đơn vị (tt) Kiểm tra các ràng buộc giao diện Lưu ý các mẫu nhập liệu trên giao diện ◼ Số ◼ Chuỗi ◼ Ngày/Tháng/Năm Sử dụng Regular Expression để kiểm tra các dữ liệu nhập Chương 4. Kiểm thử chức năng ứng dụng 11
  12. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Test hộp đen (Black box testing) Kiểu test mà Tester thực hiện test không chú ý gì đến code (hoặc là một hình thức test mà ứng dụng đang test được xem như một hộp đen và hành vi bên trong của chương trình hoàn toàn được bỏ qua. Việc test xảy ra dựa trên các đặc tả bên ngoài. Cũng hiểu như test hành vi, chỉ hành vi bên ngoài của ứng dụng là được đánh giá và phân tích). Test hộp trắng (White box testing) Các tester tìm kiếm lỗi bên trong code. Chương 4. Kiểm thử chức năng ứng dụng 12
  13. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Kiểm thử tích hợp Kiểm thử tích hợp là kiểm thử một tổ hợp các thành phần của một phần mềm (tạo thành một chức năng đầy đủ) ◼ Tập trung vào việc làm thế nào để các thành phần (đơn vị) làm việc với nhau. Kiểm thử tích hợp nhằm: ◼ Phát hiện lỗi xảy ra trong giao diện giữa các thành phần đơn vị. ◼ Lắp ráp các đơn vị riêng rẽ vào một hệ thống con và vào một hệ thống hoàn chỉnh cuối cùng. Chương 4. Kiểm thử chức năng ứng dụng 13
  14. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Kiểm thử tích hợp (tt) Chương 4. Kiểm thử chức năng ứng dụng 14
  15. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Kiểm thử hệ thống Kiểm thử hệ thống nhằm kiểm tra thiết kế và hệ thống thỏa mãn đặc tả ban đầu hay không. Kiểm thử hệ thống được thực hiện sau khi hoàn tất kiểm thử đơn vị và kiểm thử tích hợp. Chương 4. Kiểm thử chức năng ứng dụng 15
  16. 4.1.2. Nguyên tắc và các loại kiểm thử (tt) Nguyên tắc kiểm thử Chọn các dữ liệu test để lộ ra lỗi ◼ Chọn đầu vào làm cho hệ thống sinh ra các thông báo lỗi ◼ Thiết kế input sao cho tràn buffer, tràn số, ◼ Lặp lại cùng input vài lần ◼ Chọn dữ liệu vào làm sinh ra output sai ◼ Chọn dữ liệu vào làm sinh tính toán quá lớn hoặc quá nhỏ Lưu đồ công việc kiểm thử Chương 4. Kiểm thử chức năng ứng dụng 16
  17. 4.1.3. Kế hoạch kiểm thử ứng dụng Kế hoạch kiểm thử ứng dụng (mức đơn giản) Lập danh sách các tình huống kiểm thử để chứng minh ứng dụng có đầy đủ các hành vi mong muốn với yêu cầu đặt ra Mỗi tình huống kiểm thử chứa các thông tin cần thiết để kiểm thử thành phần ứng dụng theo 1 mục tiêu xác định. Thường tình huống kiểm thử bao gồm bộ 3 thông tin {tập dữ liệu đầu vào, trạng thái của thành phần ứng dụng, tập kết quả mong muốn} ◼ Tập dữ liệu đầu vào (Input): gồm các giá trị dữ liệu cần thiết để thành phần ứng dụng dùng và xử lý. ◼ Tập kết quả mong muốn: kết quả mong muốn sau khi thành phần ứng dụng xử lý dữ liệu nhập. ◼ Trạng thái thành phần ứng dụng Chương 4. Kiểm thử chức năng ứng dụng 17
  18. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Phương pháp thiết kế các tình huống kiểm thử (test case) Theo góc nhìn sử dụng (Black box testing) ◼ Không cần kiến thức về chi tiết thiết kế và hiện thực bên trong. ◼ Kiểm thử dựa trên các yêu cầu và đặc tả sử dụng thành phần ứng dụng. Theo góc nhìn hiện thực (White box testing) ◼ cần kiến thức về chi tiết thiết kế và hiện thực bên trong. ◼ Kiểm thử dựa vào phủ các lệnh, phủ các nhánh, phủ các điều kiện con, Chương 4. Kiểm thử chức năng ứng dụng 18
  19. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Lưu ý các test case phải mô tả chi tiết: Đặc tả về điều kiện dữ liệu nhập. Đặc tả chính xác về kết quả đúng của chương trình tương ứng với dữ liệu nhập. Chương 4. Kiểm thử chức năng ứng dụng 19
  20. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Danh sách các tình huống kiểm thử Test Điều kiện Dữ liệu Ghi Chức năng Mô tả Kết quả mong muốn ID trước Test chú Tính logic Đã đăng nhập Lập phiếu mượn của giao diện với ID của thủ T001 sách lập phiếu thư. mượn sách. T002 Đăng nhập Đã đăng nhập ID=“123”, Dữ liệu được nhập vào T003 Nhập dữ liệu sách với ID của thủ Tên sách: CSDL thư. “” T004 Tìm kiếm tài liệu Chương 4. Kiểm thử chức năng ứng dụng 20
  21. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Lập test cases từ use case Mô hình luồng các sự kiện trong một use case Chương 4. Kiểm thử chức năng ứng dụng 21
  22. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Lập test cases từ use case Các bước lập test case từ use case ◼ Tìm ra các đường của các luồng sự kiện trong use case. Mỗi đường này được gọi là một scenario ◼ Xác định rõ điều kiện xảy ra mỗi scenario ◼ Mô tả điều kiện, trình tự diễn ra trong mỗi scenario và kết quả mong muốn. Chương 4. Kiểm thử chức năng ứng dụng 22
  23. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Test thế nào cho đủ? Không có câu trả lời chính xác mang tính công thức cho vấn đề test thế nào là đủ cho một ứng dụng. Kinh nghiệm và cảm nhận cụ thể trong từng dự án, từng phần mềm vẫn là vấn đề quan trọng nhất. Cần biết cần dành thời gian và nguồn lực cho những test: ◼ Function testing, và phải bao quát được quy trình nghiệp vụ của hệ thống. ◼ Usability testing, chú ý test GUI, đảm bảo đúng syntax, theo standards và user friendly. ◼ Security testing, installation testing, Chương 4. Kiểm thử chức năng ứng dụng 23
  24. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Chuẩn bị test ngay từ đầu dự án phát triển phần mềm Phân tích requirements Lập các kế hoạch test Lập testing checklist Mô tả các test case phức tạp Theo dõi các thay đổi Chương 4. Kiểm thử chức năng ứng dụng 24
  25. 4.1.3. Kế hoạch kiểm thử ứng dụng (tt) Mô hình chữ V trong Testing Chương 4. Kiểm thử chức năng ứng dụng 25
  26. 4.2. Đóng gói ứng dụng Máy được cài phải đảm bảo các nền tảng cho chương trình hoạt động. Đảm bảo đủ các thư viện cho chương trình hoạt động. Nếu sử dụng đến CSDL thì cần tạo chuỗi kết nối đúng đến CSDL. Có thể dùng các phần mềm hỗ trợ đóng gói ứng dụng. Chương 4. Kiểm thử chức năng ứng dụng 26
  27. Chương 4. Kiểm thử chức năng ứng dụng 27