[SOFTWARE TESTING] - Một số khái niệm cần phân biệt
Một số khái niệm cần phân biệt trong kiểm thử phần mềm
- Verification (Xác minh) vs Validation (Xác nhận)
- Verification:
- Confirm that sản phẩm có đáp ứng được đặc tả yêu cầu hay không
- product right: chúng tôi xây dựng sản phẩm có đúng không?
- Các hoạt động: nhận xét, hướng dẫn, xác minh
- Validation:
- Sản phẩm có đúng mong đợi của khách hàng hay không
- right product: chúng tôi xây dựng đúng sản phẩm không
- Thực hiện sau bước Verification
- Các hoạt động: functional testing, regression testing, smoke testing, system testing, UAT,...
- Static vs Dynamic testing
- Static testing:
- Thực hiện trong Verification
- Đưa đánh giá về code
- Các phương pháp: walkthroughs, code review,...
- Dynamic testing:
- Thực hiện trong Validation
- Cho biết phần giới hạn của hệ thống
- Các phương pháp: Functional & Non-functional testing
- Functional vs Non-functional testing
- Functional testing:
- Sản phẩm làm gì: what the product does?
- Quan tâm "action & behavior"
- Dựa theo đặc tả yêu cầu
- Non-functional testing:
- Sản phẩm làm việc như thế nào: how the product works?
- Hiểu suất của phần mềm
- Dựa theo mong đợi của khách hàng
- Whitebox vs Blackbox testing
- Black-box testing:
- Chủ yếu trên giao diện người dùng
- Quan tâm output và input mà không cần quan tâm toiwsc cách nó xử lí như thế nào (1 đúng, 2 sai)
- Dựa vào SRS để viết test case => có thể viết ngay khi SRS hoàn thành
- White-box testing:
- Chủ yếu dùng trong unit test
- Test code và thuật toán
- Dựa theo cấu trúc code để viết test case
- QA vs QC -> Mục đích: cả 2 đều nhằm nâng cao chất lượng của dự án
+ QA:
- Hướng về qui trình làm ra phần mềm của công ty
- Check qui trình: daily meeting, sau daily thì output là gì,...
+ QC:
- Hướng về sản phẩm phần mềm
- Sử dụng sản phẩm và tìm ra các khiếm khuyết của SP
Nhận xét
Đăng nhận xét