Tổng quan kiểm thử phần mềm

Failure. Fault. Error

Giới thiệu về kiểm thử

Failure: là các hành vi có thể nhìn thấy của phần mềm

Fault: những đoạn code không đúng

Error: nguyên nhân gây ra fault

Hướng tiếp cận Verification

Testing

Là các hoạt động làm hệ thống fail

Xem xét kiểm tra từng input, output cụ thể của chương trình

Verification

Xem xét tất cả hành vi, dữ liệu input có thể để phát hiện lỗi

Inspection

Kiểm tra dựa trên các hành vi của người dùng

Thực hiện thủ công một nhóm các hành vi

Formal Proof

Kiểm tra chương trình thực hiện đúng hành vi trong tài liệu đặc tả hay không

Dựa vào tài liệu đặc tả để kiểm tra

Ưu điểm: có sự đảm bảo lỗi là chính xác

Nhược điểm: khó số hóa yêu cầu trong đặc tả, phức tạp

Ưu điểm: quy trình có hệ thống, kĩ lưỡng

Nhược điểm: hiệu quả tùy thuộc vào người thực hiện

Ưu điểm: Xem xét tất cả hành vi của chương trình

Nhược điểm: có thể báo sai lỗi

Ưu điểm: lỗi được xác định chính xác

Nhược điểm: chỉ xem xét được số lượng ít các lỗi

Chỉ kiểm thử một phần nhỏ mẫu trong miền input

Dynamic techinique

Yêu cầu hệ thống phải chạy mới có thể thi hành kiểm thử

Cách tiếp cận optimistic

Chương trình bị kiểm thử được chạy bởi số lượng nhỏ các hành vi mà đầu vào có thể có

Giả định các ca kiểm thử đã chọn đã bao quát được các ca kiểm thử khác

Một kiểm thử thành công nếu sự kiểm thử làm hệ thống lỗi

Các cấp độ kiểm thử

  1. Unit Testing: Kiểm thử độc lập các module, chức năng
  1. Intergration testing: kiểm tra nhiều chức năng, và ảnh hường lẫn nhau của các chức năng
  1. System testing: kiểm thử toàn bộ hệ thống
  1. Acceptance testing: kiểm tra chức năng thỏa mãn được yêu cầu người dùng hay không
  1. Regression testing: kiểm thử bất cứ khi nào có sự thay đổi trong hệ thống, đảm bảo các thay đổi không làm lỗi hệ thống

Alpha and Beta testing

Alpha: triển khai trước khi release hệ thống, triển khai dùng thử trong môi trường nội bộ của đội ngũ phát triển

Beta: chọn một nhóm người dùng thât để dùng thử phần mềm

Kiểm thử hộp trắng và hộp đen

Hộp đen

Kiểm thử mà không chú ý tới mã nguồn

Kiểm thử dựa trên mô tả bởi tài liệu đặc tả

Bao hàm nhiều hành vi nhất có thể

Không thấy được lỗi chi tiết mức độ cài đặt

Hộp trắng

Dựa trên mã nguồn để đưa ra ca kiểm thử

Kiểm thử nhiều mã nguồn nhất có thể

Không thể kiểm tra những mã nguồn bị thiếu, mất