STLC - Kiểm tra các nguyên tắc cơ bản
Mục tiêu chung của thử nghiệm là tìm ra lỗi càng sớm càng tốt. Và, khi các lỗi đã được sửa, hãy đảm bảo rằng nó đang hoạt động như mong đợi và không phá vỡ bất kỳ chức năng nào khác.
Để đạt được những mục tiêu này, bảy nguyên tắc cơ bản được đưa ra để kiểm thử phần mềm -
Thử nghiệm cho thấy gì?
Thử nghiệm có thể cho thấy có khuyết tật nhưng không có cách nào để chứng minh rằng sản phẩm không có khuyết tật. Các giai đoạn kiểm tra đảm bảo rằng ứng dụng được kiểm tra đang hoạt động dựa trên yêu cầu đã cho và nó giúp giảm xác suất các lỗi chưa được phát hiện trong ứng dụng. Nhưng, ngay cả khi không tìm thấy khuyết tật, điều đó không có nghĩa là nó hoàn toàn chính xác. Chúng tôi có thể cho rằng AUT phù hợp với tiêu chí thoát của chúng tôi và duy trì các yêu cầu theo SRD.
Thử nghiệm hoàn chỉnh có khả thi không?
Không thể bao phủ 100% hoặc kiểm tra tất cả các kết hợp đầu vào và các kết hợp có thể có ngoại trừ các trường hợp nhỏ. Thay vì kiểm tra toàn diện, phân tích rủi ro và ưu tiên được sử dụng để xác định phạm vi kiểm tra. Ở đây, hầu hết các kịch bản thời gian thực cũng có thể xem xét bao gồm cả kịch bản tiêu cực có thể xảy ra nhất. Điều này sẽ giúp chúng tôi theo dõi lỗi.
Thử nghiệm sớm
Các hoạt động kiểm tra nên bắt đầu càng sớm càng tốt và tập trung vào các mục tiêu đã xác định trong Chiến lược kiểm tra và kết quả mong đợi. Giai đoạn đầu của thử nghiệm giúp xác định Khuyết điểm Yêu cầu hoặc sai lệch mức thiết kế. Nếu những loại lỗi này được bắt trong giai đoạn đầu, nó sẽ giúp chúng tôi tiết kiệm thời gian và hiệu quả về chi phí. Câu trả lời cho việc tại sao nên bắt đầu thử nghiệm ở giai đoạn đầu rất đơn giản - ngay sau khi nhận được SRD, người thử nghiệm có thể phân tích yêu cầu từ góc độ thử nghiệm và có thể nhận thấy sự khác biệt về yêu cầu.
Phân cụm khiếm khuyết
Dựa trên phân tích lỗi của sản phẩm trước đây, có thể nói rằng hầu hết các lỗi được xác định từ một nhóm nhỏ các mô-đun rất quan trọng đối với ứng dụng. Các mô-đun này có thể được xác định dựa trên độ phức tạp, sự tương tác hệ thống khác nhau hoặc sự phụ thuộc vào các mô-đun khác khác nhau. Nếu người kiểm tra có thể xác định các mô-đun quan trọng này, họ có thể tập trung nhiều hơn vào các mô-đun này để xác định tất cả các lỗi có thể xảy ra. Trong một nghiên cứu, người ta thấy rằng 8 trong số 10 lỗi được xác định từ 20% chức năng của AUT.
Nghịch lý thuốc trừ sâu
Nghịch lý thuốc trừ sâu là gì - nếu thuốc trừ sâu thường xuyên được sử dụng trên cây trồng, sẽ đến khi côn trùng phát triển một loại kháng thuốc nhất định và dần dần thuốc trừ sâu được phun ra dường như không có tác dụng đối với côn trùng.
Khái niệm tương tự cũng được áp dụng cho thử nghiệm. Ở đây, côn trùng là lỗi trong khi thuốc trừ sâu là trường hợp thử nghiệm được sử dụng để chạy đi chạy lại. Nếu các tập hợp các trường hợp thử nghiệm giống nhau được thực thi lặp đi lặp lại, các trường hợp thử nghiệm này sẽ trở nên vô hiệu sau khung thời gian nhất định và người thử nghiệm sẽ không thể xác định bất kỳ lỗi mới nào.
Để khắc phục những điều kiện này, các trường hợp kiểm thử cần được sửa đổi và xem xét theo thời gian và có thể thêm các trường hợp kiểm thử mới và khác nhau. Điều này sẽ giúp xác định các khiếm khuyết mới.
Thử nghiệm phụ thuộc vào ngữ cảnh
Nguyên tắc này nói rằng không thể kiểm tra hai loại ứng dụng khác nhau bằng cách sử dụng cùng một phương pháp cho đến khi cả hai ứng dụng có cùng bản chất. Ví dụ: nếu người thử nghiệm sử dụng cùng một cách tiếp cận cho Ứng dụng dựa trên web và Ứng dụng dành cho thiết bị di động, điều đó hoàn toàn sai và có nhiều rủi ro về chất lượng sản phẩm kém. Người kiểm tra nên sử dụng các cách tiếp cận, phương pháp luận, kỹ thuật và phạm vi bảo hiểm khác nhau cho các loại và bản chất ứng dụng khác nhau.
Không có lỗi - Sai lầm
Nguyên tắc này nêu rõ việc tìm ra các khiếm khuyết và sửa chữa chúng cho đến khi ứng dụng hoặc hệ thống ổn định, tốn thời gian và cũng tiêu tốn tài nguyên. Ngay cả sau khi sửa chữa 99% các khiếm khuyết, vẫn có nguy cơ ứng dụng không ổn định cao. Điều cần thiết đầu tiên là xác minh tính ổn định của ứng dụng và các điều kiện tiên quyết của môi trường. Nếu hai điều kiện này đáp ứng, chỉ sau đó chúng ta có thể bắt đầu với thử nghiệm chi tiết.