7 nguyên tắc cơ bản của Kiểm thử phần mềm (Seven Testing Principles)

  1. Testing shows the presence of defects, not their absence- Testing chỉ ra lỗi 
  • Kiểm thử chỉ có thể chứng minh được rằng sản phẩm có lỗi. Kiểm thử phần mềm không thể chứng minh rằng sản phẩm không còn lỗi (chỉ là chưa phát hiện ra thôi) 
  1. Exhaustive testing is impossible- Test toàn bộ là không thể 
  • Test toàn bộ (test kiệt sức) là không thể bởi giới hạn về thời gian, nguồn lực, hiểu biết về kỹ thuật. 
  • Do không thể test toàn bộ nên cần phân tích rủi ro, đánh giá độ ưu tiên để thực hiện test các phần quan trọng trước. 
  1. Early testing saves time and money – Test sớm 
  • Kiểm thử càng sớm trong vòng đời phát triển giúp giảm hoặc loại bỏ đi chi phí cần bỏ ra cho việc thay đổi. 
  • Để tìm được defect sớm, cả 2 hoạt động static và dynamic testing cần được triển khai sớm trong vòng đời phát triển.
  1. Defect cluster together – Cụm lỗi 
  • Cụm lỗi là sự tập trung của lỗi. Đa phần các lỗi thường tập trung ở 1 số module thành phần, chức năng chính của hệ thống.
  • Khi thực hiện test nếu phát hiện 1 module có 1 số lỗi thì có thể có nhiều bug trong module đó. Việc xác định cụm lỗi để tập trung điều tra, ngăn chặn defect phát sinh.  
  1. Beware of thư pesticide paradox – Hiệu ứng thuốc trừ sâu 
  • Trong trồng trọt, nếu người nông dân sử dụng lặp lại 1 loại thuốc trừ sâu, các loại sâu bệnh sẽ dần thích nghi và trở nên “nhờn” thuốc. Tương tự trong kiểm thử phần mềm, khi lặp đi lặp lại một test case thì xác xuất tìm được lỗi là rất thấp. 
  • Để tìm được defect mới, cần update và bổ sung testcase, dữ liệu test cần được thay đổi.
  1. Testing is context dependent- Testing trong ngữ cảnh độc lập 
  • Kiểm thử phụ thuộc vào ngữ cảnh. Ví dụ: việc kiểm thử một ứng dụng thương mại điện tử trên mobile app sẽ khác cách test một phần mềm quản lý bệnh viện.
  • Tùy vào bản chất của ứng dụng mà chúng ta áp dúng những phương thức, kỹ thuật, loại kiểm thử khác nhau. 
  1. Abssence – of- errors is a fallacy – Quan niệm sai lầm về việc “hết lỗi” 
  • Một sản phẩm không có lỗi (đã fix hết lỗi) không đảm bảo được sự thành công của sản phẩm đó. Vì sản phẩm có thể đã fix được hầu hết lỗi nhưng khó sử dụng, hệ thống không đáp ứng được nhu cầu và yêu cầu của người dùng.  
  • Kiểm thử phần mềm không chỉ là tìm ra bug mà còn để kiểm tra phần mềm có đáp ứng được các nhu cầu của người dùng hay không. Cần chú trọng việc đặt mình vào vị trí của khách hàng để hiểu mong muốn của họ. Có thể đưa ra đề xuất cải tiến, góp phần hoàn thiện sản phẩm. 

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *