Xem mẫu

  1. Kiểm nghiệm phần mềm GV. Nguyễn Minh Huy Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
  2. Nội dung  Khái niệm kiểm nghiệm nghiệm..  Các hình thức kiểm nghiệm nghiệm..  Quy trình kiểm nghiệm nghiệm.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 2
  3. Nội dung  Khái niệm kiểm nghiệm nghiệm..  Các hình thức kiểm nghiệm nghiệm..  Quy trình kiểm nghiệm nghiệm.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 3
  4. Khái niệm kiểm nghiệm  Kiểm và Nghiệm (V & V): Tiêu chí Verification Validation Ngữ cảnh Kiểm tra phần mềm Nghiệm thu phần mềm Ý nghĩa Phần mềm có đúng với Phần mềm có thỏa mãn đặc tả? nhu cầu Stakeholders?? Mục tiêu Phát hiện lỗi cài đặt Phát hiện hiểu sai Đối tượng thực hiện Đội ngũ phát triển Stakeholders Cách thức thực hiện Vận hành hoặc không Vận hành phần mềm vận hành phần mềm Build the thing right?? Build the right thing?? Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 4
  5. Khái niệm kiểm nghiệm  Phân loại Verification:  Kiểm tra động (dynamic verification):  Kiểm tra bằng vận hành hành,, dùng thử. thử.  Kiểm thử phần mềm (software testing).  Kiểm tra hộp đen (black (black--box testing).  Dựa trên đầu vào và đầu ra. ra.  Ưu điểm điểm::  Ít tốn kém (phần mềm bình thường thường). ).  Kiểm tra yêu cầu phi chức năng năng..  Nhược điểm điểm::  Tốn kém (phần mềm chuyên dụng dụng). ).  Phần mềm phải hoàn thành thành..  Có thể bỏ sót lỗi. lỗi. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 5
  6. Khái niệm kiểm nghiệm  Phân loại Verification:  Kiểm tra tĩnh (static verification):  Kiểm tra bằng xét duyệt, duyệt, chứng minh  Kiểm chứng phần mềmmềm..  Kiểm tra hộp trắng (white (white--box testing).  Dựa trên nội dung bên trong trong..  Ưu điểm điểm::  Không cần hoàn thành phần mềm mềm..  Không cần vận hành hành..  Phát hiện được lỗi tìm ẩn. ẩn.  Nhược điểm điểm::  Chi phí nhân công công..  Cần đội ngũ kinh nghiệm nghiệm..  Tốn thời gian, gian, công sức sức.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 6
  7. Khái niệm kiểm nghiệm  Phân loại Validation:  Nghiệm thu Alpha (Alpha Testing):  Nghiệm thu có giới hạn hạn..  Triển khai thí điểm điểm..  Chọn lọc đối tượng tham gia. gia.  Vận hành có kiểm soát soát..  Nghiệm thu Beta (Beta Testing):  Nghiệm thu không giới hạn hạn..  Triển khai đại trà trà..  Không hạn chế đối tượng tham gia. gia.  Vận hành tự do. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 7
  8. Khái niệm kiểm nghiệm  Tóm tắt các loại kiểm nghiệm nghiệm:: Kiểm tra (Verification) Nghiệm thu (Validation) Kiểm thử (động) Nghiệm thu Alpha (Testing) (Alpha Testing) Kiểm chứng (tĩnh) Nghiệm thu Beta (Static Verification) (Beta Testing) Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 8
  9. Nội dung  Khái niệm kiểm nghiệm nghiệm..  Các hình thức kiểm nghiệm nghiệm..  Quy trình kiểm nghiệm nghiệm.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 9
  10. Các hình thức kiểm nghiệm  Kỹ thuật kiểm tra tĩnh tĩnh::  Thanh tra phần mềm (Software Inspection):  Micheal Fagan đề xuất 1979.  Kiểm tra bằng cách đọc nội dung.  Đội ngũ thanh tra độc lập. lập.  Ưu điểm điểm::  Có thể thực hiện ở mỗi pha pha..  Rất hiệu quả để tìm lỗi. lỗi.  Khuyết điểm điểm::  Đội ngũ nhiều kinh nghiệm nghiệm..  Tốn kém thời gian và chi phí phí.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 10
  11. Các hình thức kiểm nghiệm  Kỹ thuật kiểm tra tĩnh tĩnh::  Model Checking:  Kiểm tra bằng cách chứng minh.  Mô hình toán học sản phẩm kiểm tra tra..  Chứng minh mô hình đúng đắn đắn..  Thực hiện ở pha phân tích tích,, thiết kế. kế.  Ưu điểm điểm::  Kiểm tra đúng đắn hoàn toàn toàn..  Có thể thực hiện tự động động..  Khuyết điểm điểm::  Phức tạp để mô hình hóa hóa..  Chưa có công cụ tự động hiệu quả quả.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 11
  12. Các hình thức kiểm nghiệm  Kỹ thuật kiểm tra động động::  Test Case: Dữ liệu đầu vào  Kiểm tra đầu vào đầu ra. ra.  Dùng kịch bản kiểm thử. thử.  Các đối tượng kiểm tra tra::  Một đoạn mã nguồn nguồn..  Một tình huống Use Case.  Một chức năng hoàn chỉnh chỉnh..  Nội dung Test Case:  Ngữ cảnh kiểm tra tra.. Kết quả mong đợi  Dữ liệu đầu vào vào..  Kết quả đầu ra mong đợi đợi.. Kết quả thực tế  Các bước thực hiện hiện.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 12
  13. Các hình thức kiểm nghiệm  Test Case tình huống “Nhập sách thất bại”: bại”: Test Case Nhập sách thất bại Related Use Case Nhập sách mới Context Đăng nhập với quyền “Thủ thư” Input Data Tên sách: Chiến tranh và Hòa bình Tác giả: (trống) Nhà xuất bản: (trống) Số tập: 2 tập w Expected Output Hiện thông báo “Lỗi: Thông tin sách bạn nhập vào không đầy đủ!”. Thông tin sách không được lưu vào cơ sở dữ liệu. Test Steps 1. Đăng nhập vào hệ thống: (username “nmhuy”, password “12345” 2. Chọn chức năng “Nhập sách mới” (menu “Sách / Nhập sách”) 3. Nhập thông tin như Input Data. 4. Nhấn nút cập nhật. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 13
  14. Nội dung  Khái niệm kiểm nghiệm nghiệm..  Các hình thức kiểm nghiệm nghiệm..  Quy trình kiểm nghiệm nghiệm.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 14
  15. Quy trình kiểm nghiệm  Mô hình chữ V (V (V--Model): Project Acceptance Planning Testing Requirement System Analysis Testing Software Integration Design Testing Coding Unit Testing Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 15
  16. Quy trình kiểm nghiệm  Các pha kiểm nghiệm nghiệm::  Kiểm thử đơn vị (Unit Testing):  Kiểm tra từng đơn vị lập trình trình..  Các hàm trong mã nguồn nguồn..  Thực hiện trong môi trường cô lập. lập.  Lập trình viên thực hiện hiện..  Unit Test Case: Unit Test Case Chia cho số không Context (Không có) Method Number.divide(float a, float b) Input Data a=5 b=0 Expected Output Exception: Divided by zero Test Steps float c = Number.divide(5, 0) Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 16
  17. Quy trình kiểm nghiệm  Các pha kiểm nghiệm nghiệm::  Kiểm thử tích hợp (Sub (Sub--system Testing).  Kiểm tra một nhóm đơn vị lập trình trình..  Kiểm tra sự phối hợp hoạt động động..  Dancing testing.  Thực hiện trong môi trường tích hợp hợp.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 17
  18. Quy trình kiểm nghiệm  Các pha kiểm nghiệm nghiệm::  Kiểm thử hệ thống (System Testing).  Kiểm tra toàn bộ hệ thống thống..  Hệ thống hoạt động như đặc tả tả? ?  Thực hiện trong môi trường giả lập. lập.  Phân loại loại::  Functional Testing.  Non--functional Testing. Non Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 18
  19. Quy trình kiểm nghiệm  Các pha kiểm nghiệm nghiệm::  Nghiệm thu phần mềm (Acceptance Testing).  Khách hàng dùng thử. thử.  Hệ thống thỏa mãn nhu cầu cầu? ?  Thực hiện trong môi trường vận hành thật sự. sự.  Phân loại loại::  Nghiệm thu Alpha.  Nghiệm thu Beta. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 19
  20. Bài tập  Bài tập viết Test Case:  Hệ thống “Online Bookstore”.  Công việc việc::  Chức năng “Check “Check--out đơn hàng hàng”: ”:  Thiết kế màn hình hình..  Viết các test case để kiểm tra tất cả tình huống có thể xảy ra. ra.  Chức năng “Thêm sách mới vào hệ thống thống”: ”:  Thiết kế màn hình hình..  Viết các test case để kiểm tra tất cả tình huống có thể xảy ra. ra. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 20
nguon tai.lieu . vn