ISTQB-Nguyên tắc cơ bản về kiểm thử – Mục 1.1 – Phần 6/6

KIỂM THỬ BAO NHIÊU LÀ ĐỦ?

Nguyên lý kiểm thử – Exhaustive testing is impossible (Kiểm thử toàn bộ là không thể).

Kiểm thử mọi thứ (tất cả các kết hợp của đầu vào và điều kiện tiên quyết) là không khả thi ngoại trừ những trường hợp nhỏ. Thay vì kiểm thử toàn bộ, chúng ta sử dụng rủi ro và ưu tiên để tập trung nỗ lực kiểm tra.

How much testing is enough

Kiểm thử giúp tìm ra các defect và giúp cải thiện chất lượng phần mềm. Vậy, phải kiểm thử nhiều đến mức nào? Chúng ta có một sự lựa chọn: kiểm thử mọi thứ, không kiểm thử bất kì điều gì hoặc kiểm thử một số phần mềm.

Có thể bạn sẽ nói rằng “Mọi thứ đều phải được kiểm tra. Chúng tôi không muốn sử dụng phần mềm chưa được kiểm tra hoàn toàn”. Điều này ngụ ý rằng ta phải thực hiện mọi khía cạnh của hệ thống phần mềm trong quá trình kiểm thử. Điều ta cần xem xét là liệu có phải (hoặc có thể) kiểm thử toàn bộ hay không.

Liệu có phải kiểm thử toàn bộ không?

Cần phải thực hiện bao nhiêu bài kiểm thử để có thể kiểm tra toàn bộ?  Hãy lấy một ví dụ: Bạn cần thực hiện bao nhiêu thử nghiệm để kiểm tra toàn bộ trường số có một chữ số? Câu hỏi trước mắt là, “Kiểm thử toàn bộ nghĩa là gì?”. Hãy cùng phân tích,

Có thể có 10 giá trị số có một chữ số hợp lệ, ta cần đảm bảo rằng tất cả các giá trị không hợp lệ đều bị từ chối. Có 26 ký tự alpha viết hoa, 26 ký tự viết thường, ít nhất 6 ký tự đặc biệt, dấu câu và giá trị trống. Vì vậy, sẽ có ít nhất 68 bài kiểm tra cho ví dụ về trường một chữ số này.

Nếu nhiều yếu tố đầu vào?

Vấn đề này chỉ trở nên tồi tệ hơn khi chúng ta xem xét các ví dụ thực tế hơn. Trong thực tế, các hệ thống có nhiều hơn một trường đầu vào với các trường có kích thước khác nhau. Các bài kiểm tra này sẽ song hành với những bài kiểm tra khác, chẳng hạn như chạy các bài kiểm tra trong các môi trường khác nhau.

Nếu lấy một ví dụ trong đó một màn hình có 15 trường đầu vào, mỗi trường có 5 giá trị khả thi, thì để kiểm tra tất cả các kết hợp giá trị đầu vào hợp lệ, bạn sẽ cần 30.517.578.125 (5^15) giá trị kiểm tra! Dự án có thời gian để thực hiện được hết các bài kiểm thử này?

Việc kiểm tra trường một chữ số với các giá trị 2, 3 và 4 làm cho các bài kiểm tra trở nên kỹ lưỡng hơn, nhưng nó không cung cấp nhiều thông tin hơn nếu chỉ kiểm tra với giá trị 3.

Áp lực đối với một dự án bao gồm thời gian, ngân sách và đưa ra giải pháp kỹ thuật đáp ứng nhu cầu của khách hàng. Khách hàng và người quản lý dự án sẽ muốn chi một khoản cho kiểm thử giúp mang lại ROI cho họ. ROI này bao gồm việc ngăn ngừa những failure sau khi phát hành.

Ngay cả khi khách hàng và người quản lí dự án yêu cầu, thì không phải lúc nào cũng đủ khả năng để kiểm thử toàn bộ được.

Có cần quản lý rủi ro?

Ta cần một phương pháp kiểm thử phù hợp cho dự án, khách hàng (và các bên liên quan khác) và phần mềm. Thực hiện điều này bằng cách sắp xếp rủi ro đối với khách hàng, các bên liên quan, dự án và phần mềm.

Đánh giá và quản lý rủi ro là một trong những hoạt động quan trọng nhất trong bất kỳ dự án nào, và là hoạt động chính và lý do để kiểm thử.

Quyết định kiểm thử bao nhiêu là đủ cần tính đến mức độ rủi ro, bao gồm cả rủi ro kỹ thuật, kinh doanh liên quan đến các ràng buộc của sản phẩm và dự án như thời gian, ngân sách.

Thực hiện đánh giá rủi ro để quyết định mức độ thử nghiệm cần thực hiện. Sau đó, có thể thay đổi nỗ lực kiểm thử dựa trên mức độ rủi ro trong các lĩnh vực khác nhau.

Ngoài ra, kiểm thử phải cung cấp đầy đủ thông tin cho các bên liên quan để đưa ra quyết định sáng suốt về việc phát hành phần mềm hoặc hệ thống đang thử nghiệm, cho bước phát triển tiếp theo hoặc bàn giao cho khách hàng.

Nỗ lực dành cho các hoạt động kiểm thử và đảm bảo chất lượng cần được điều chỉnh phù hợp với rủi ro và chi phí liên quan đến dự án.

Do giới hạn về ngân sách, thời gian và trong quá trình thử nghiệm, cần quyết định cách tập trung kiểm thử dựa trên những rủi ro. Chúng ta sẽ xem xét đánh giá rủi ro trong Chương 5.

Bản gốc Tiếng Anh các bạn có thể Tải về Tại đây.

Ezami

Related Posts

Leave a Reply

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