Khi nào có thể kết thúc việc kiểm thử (Các tiêu chí kết thúc việc kiểm thử phần mềm) Phần 1
Bài đăng này đã không được cập nhật trong 3 năm
Trong bài viết này, tôi muốn giải quyết câu hỏi mà nhiều Tester luôn đặt ra trong mỗi dự án: “When, where and how to stop Testing?”
1.Khi nào thì việc kiểm thử là đủ?
Để trả lời những câu hỏi này, chúng ta sẽ phải phân tích các hoạt động kiểm thử từ đầu đến cuối. Hãy xem xét việc bạn đang bắt đầu thử nghiệm một dự án mới. Các hoạt động ban đầumà nhóm kiểm thử cần làm là:
-
Nhận được yêu cầu đặc tả phần mềm.
-
Lập kế hoạch kiểm thử và thiết kế testcase.
-
Tài liệu kiểm thử ban đầu đã sẵn sàng.
Chạy kiểm thử lần 1:
-
Nhóm kiểm thử bắt đầu thực hiện việc kiểm thử một khi họ nhận được phiên bản sản phẩm phát triển đầu tiên.
-
Trong giai đoạn này, họ thực thi các kịch bản khác nhau để phá vỡ các phần mềm và tìm thấy nhiều khiếm khuyết càng tốt và phản hồi lại với nhóm phát triển phần mềm.
-
Ở giai đoạn này, tỷ lệ khuyết tật ở đây là cao hơn bởi vì các ứng dụng mới và đang trải qua đánh giá cho lần đầu tiên.
-
Các khiếm khuyết được nhóm phát triển sửa lỗi và trở về lại nhóm kiểm thử cho việc kiểm tra lại lần nữa.
-
Các đội kiểm thử thực hiện kiểm tra lại các khuyết tật và phản hồi.
-
Khi hầu hết các khiếm khuyết nghiêm trọng cao được giải quyết và các phần mềm có vẻ ổn định, đội ngũ phát triển phần mềm sẽ tiến hành phát triển phiên bản tiếp theo.
Chạy kiểm thử lần 2:
-
Nhóm kiểm thử bắt đầu tiến hành việc kiểm thử lần thứ 2 và hoạt động tương tự như lần đầu tiên.
-
Trong quá trình, có ít khuyết tật hơn bị bắt so với lần trước.
-
Các khiếm khuyết lại được sửa chữa bởi nhóm phát triển phần mềm và trở về lại nhóm kiểm thử để kiểm tra lại lần nữa
-
Các đội kiểm thử thực hiện kiểm tra lại các khuyết tật và phản hồi.
-
Điều này có thể tiếp tục mãi mãi. Chạy vòng lặp kiểm thử lần thứ 3, lần thứ 4 trở đi cho đến khi tất cả các khiếm khuyết trong phần mềm được tìm thấy và phần mềm trở nên hoàn chỉnh.
Từ biểu đồ ở trên, chúng ta có thể kết luận rõ rang kiểm thử phần mềm có thể tiếp tục cho đến khi tất cả các khiếm khuyết trong phần mềm được tìm thấy.
Nhưng câu hỏi đặt ra là – **Liệu có thể tìm thấy mọi khiếm khuyết trong các phần mềm? **
2.Dừng việc kiểm thử phần mềm lại khi tất cả các khiếm khuyết được tìm thấy: Điều này là có thể hay không?
Hầu hết các phần mềm phức tạp và có một phạm vi kiểm thử rất lớn. Nó không phải là không thể tìm thấy tất cả các khiếm khuyết trong phần mềm nhưng nó được thực hiện mãi mãi.
Ngay sau khi phát hiện nhiều lỗi trong phần mềm và sửa lỗi, không ai thực sự có thể đảm bảo rằng phần mềm sẽ hoàn thành. Và đương nhiên, chúng ta không có thể tự tin nói rằng chúng tôi đã hoàn thành việc kiểm thử, tìm thấy tất cả các khiếm khuyết trong phần mềm và nó không có bất kỳ lỗi nào nữa.
Hơn nữa, mục đích của kiểm thử không phải là tìm thấy khiếm khuyết trong phần mềm. Mục đích của kiểm thử phần mềm là để chứng minh rằng các phần mềm không làm việc như dự định bằng cách phá vỡ nó hoặc tìm độ lệch giữa kết quả hành vi của người dung và kết quả mà họ mong đợi.
Có những khuyết tật không giới hạn trong phạm vi phần mềm và do đó thực tế là không thể thực hiện việc kiểm thử cho đến khi tất cả các khuyết tật được tìm thấy như thể chúng ta không bao giờ có thể biết được đâu là lỗi cuối cùng của phần mềm. Sự thật là chúng ta không thể phụ thuộc vào việc tìm kiếm tất cả các khiếm khuyết trong phần mềm để kết luận sản phẩm đã hoàn chỉnh hay chưa.
Thật tình mà nói, kiểm thử phần mềm là chu kỳ vô tận và việc kiểm thử sẽ tiếp tục cho đến khi có quyết định khi nào và dừng lại ở đâu. Để đi đến một quyết định ngừng việc kiểm thử phải trải qua nhiều công đoạn rất phức tạp.
Nếu "dừng lại khi tất cả các khiếm khuyết được tìm thấy" không phải là tiêu chí để ngừng kiểm thử phần mềm thì đâu là cơ sở đi đến quyết định này?
3.Quyết định ngừng thử nghiệm: tiêu chí để dừng lại
Bây giờ hãy cố gắng hiểu - những yếu tố quan trọng nhất để được xem xét khi kết thúc các hoạt động kiểm thử phần mềm là gì? Theo tôi cảm thấy, quyết định ngừng việc kiểm thử phần mềm là chủ yếu phụ thuộc vào 3 yếu tố: thời gian, ngân sách và mức độ kiểm thử.
Phương pháp phổ biến nhất là dừng lại khi một trong hai yếu tố Thời gian / Ngân sách cạn hoặc tất cả các kịch bản kiểm thử được thực hiện. Tuy nhiên, với phương pháp này, nó sẽ làm ảnh hưởng đến chất lượng của việc kiểm thử và điều này sẽ không cung cấp đầy đủ sự tin tưởng về phần mềm việc phần mềm đã hoàn chỉnh hay chưa? Vậy phải làm sao?
Chúng ta hãy xem xét một ví dụ.
Kịch bản kiểm thử:
Giả sử bạn đang thử nghiệm một mô-đun phần mềm. Bạn đã được phân bổ ngân sách nhất định để trang trải nó. Các mốc thời gian dự án là một tháng. Tổng số các kịch bản thử nghiệm là 200. Bạn là người duy nhất thử nghiệm mô-đun này.
Kịch bản 1:
Tuần 1: Bạn tìm thấy những khiếm khuyết showstopper / mức độ 1 vào ngày 1 và toàn bộ thử nghiệm bị block trong 3 ngày. Do đó bạn không thể thực hiện bất kỳ kịch bản cho đến mức độ nghiêm trọng 1 lỗi được giải quyết. Sau khi mất 3 ngày, block được giải quyết và bạn tiếp tục với việc kiểm thử của bạn.
Vào cuối tuần, bạn hoàn thành 20 kịch bản với vài khuyết điểm quan trọng hơn được ưu tiên cao.
Tuần 2: Bạn bắt đầu thử nghiệm các phần mềm và tập trung hơn vào các khuyết tật tìm kiếm. Bạn mở thêm vài mức độ: Mức độ nghiêm trọng 1, Mức độ nghiêm trọng 2 và mức độ nghiêm trọng 3 của khuyết tật trong tuần thứ hai và vào cuối tuần, bạn có thể bao gồm 70 kịch bản.
Tuần 3: Đến đầu tuần thứ 3 bạn có được tất cả những khuyết điểm có độ ưu tiên cao cần giải quyết. Do đó, cùng với việc chờ đợi thực hiện các kịch bản bây giờ bạn phải kiểm tra lại tất cả những khuyết tật mà đã được sửa lỗi. Tiếp tục với những bước tiếp theo bạn bao gồm 120 kịch bản với các khuyết tật khác. Đến thời điểm này tất cả các khuyết tật ưu tiên cao đã được tìm thấy và báo cáo. Vì vậy, bây giờ bạn chỉ còn những khiếm khuyết còn lại với mức độ nghiêm trọng 3 được tìm thấy.
Tuần 4: Ở tuần này, bạn cần phải kiểm tra lại hầu hết các khuyết tật đã tìm thấy và 80 kịch bản kiểm thử còn lại. Với điều này vào cuối tuần thứ 4, bạn có thể hoàn thành lên đến 180 kịch bản với tất cả các khuyết tật có độ ưu tiên cao và trung bình được sửa lỗi và tái kiểm tra.
Các thông tin được ghi lại cụ thể như sau:
Bạn nên dừng lại ở đây?
Lý do là bạn đã cạn kiệt Thời gian kiểm thử và hầu hết các khuyết điểm với độ ưu tiên cao đã được đã được báo cáo và sửa lỗi. Sẽ dừng lại ở thời điểm này một lần đặt ra câu hỏi bạn có đã tự tin về rang phần mềm đã hoàn chỉnh hay chưa? Không thực sự vậy vì một số lí do dưới đây:
-
Kịch bản kiểm thử không được thực hiện hoàn toàn.
-
Vài chức năng, phi chức năng thậm chí không được kiểm thử .
-
Hầu hết các kịch bản đó chỉ được thực hiện chỉ một lần.
-
Phần mềm còn có các khuyết tật khác trong đó mà bạn chưa biết.
(Những yếu tố khác sẽ được trình bày trong phần 2)
Nguồn: http://www.softwaretestinghelp.com/when-to-stop-testing-exit-criteria-in-software-testing/
All rights reserved