7 Nguyên tắc kiểm thử phần mềm cơ bản mà tester nên biết

nguyen-tac-kiem-thu-phan-mem

Nắm rõ nguyên tắc kiểm thử phần mềm cơ bản sẽ giúp các bạn mới bắt đầu học tester tiết kiệm thời gian hơn trong việc truy tìm lỗi phần mềm. Vậy có những nguyên tắc kiểm thử phần mềm nào? Cùng VnSkills Academy đi tìm hiểu nhé.

Kiểm thử chứng minh sự hiện diện của lỗi

Thông qua việc kiểm thử, tester có thể phát hiện và làm giảm lỗi (bugs) phần mềm thông qua các phương pháp kiểm thử. Tuy nhiên, chúng chỉ chứng minh được sự hiện diện của lỗi. Kiểm thử không thể khẳng định sản phẩm phần mềm hoàn toàn không còn lỗi. Ngay cả khi sản phẩm đã được kiểm tra kỹ lưỡng thì khi tung ra ngoài thực tế vẫn sẽ có các lỗi tiềm ẩn phát sinh. Do đó, sẽ luôn có các lỗi tồn tại kể cả khi ta không tìm thấy lỗi. Tester sẽ cần thiết kế các test cases để có thể phát hiện càng nhiều lỗi càng tốt. 

nguyen-tac-kiem-thu-phan-mem

Kiểm thử toàn bộ là không thể

Các phần mềm hiện nay rất đa dạng và phức tạp với sự tích hợp nhiều nền tảng và công nghệ mới. Do đó, tester sẽ rất khó để có thể kiểm tra tất cả các module, tính năng kết hợp đầu vào đầu ra trong quá trình kiểm tra. Vì vậy, việc kiểm thử tất tần tật để chứng minh sản phẩm không còn bugs là điều không thể. 

Trong một số trường hợp, bạn có thể kiểm thử toàn bộ khi sản phẩm được kiểm thử đơn giản với giá trị đầu vào ít. Tuy nhiên điều này khá hiếm khi xảy ra bởi đa số các phần mềm đều rất phức tạp. Thay vì kiểm tra toàn bộ, tester nên phân tích rủi ro để xác định các phần quan trọng có nguy cơ lỗi cao. Từ đó, tester tập chung vào chúng để tiến hành kiểm thử đạt hiệu quả tốt. 

Kiểm thử càng sớm càng tốt

Nguyên tắc kiểm thử phần mềm sớm nghĩa là thực hiện việc kiểm thử càng sớm trong vòng đời phát triển phần mềm sẽ càng tốt. Tester nên kiểm định để phát hiện bug ngay từ các bước đầu tiên như nghiên cứu cứu yêu cầu hoặc design. Việc phát hiện lỗi sớm và nhanh chóng sửa đổi sẽ giúp tiết kiệm chi phí sửa lỗi cho các giai đoạn về sau. Nếu ta phát hiện lỗi càng muộn, chi phí và thời gian bỏ ra để xử lý lỗi sẽ càng cao. Thậm chí chúng còn ảnh hưởng đến thời gian hoàn thành dự án.

nguyen-tac-kiem-thu-phan-mem-co-ban

Các lỗi thường được phân bố tập trung

Đa phần các lỗi thường tập trung chỉ yêu trong các module hoặc thành phần chính của hệ thống. Nguyên lý Pareto cũng đã chỉ ra rằng “80% số lượng lỗi được tìm thấy trong 20% tính năng của hệ thống”. Khi đã nắm vững được điều này, QA/Tester có thể khoanh vùng và tìm kiếm lỗi nhanh, hiệu quả hơn. Tuy nhiên, nhược điểm của cách tiếp cận này đó là các test case cũ sẽ khó để tìm thấy các bug mới.

Đề phòng nghịch lý thuốc trừ sâu

Một trong những nguyên tắc kiểm thử phần mềm mà các tester cần chú ý đó là nghịch lý thuốc trừ sâu. Chúng xuất phát từ thực tiễn, khi người nông dân sử dụng lặp đi lặp lại một loại thuốc trừ sâu sẽ khiến chúng dần mất đi hiệu quả. Tương tự trong kiểm thử cũng vậy, các test case sử dụng lặp đi lặp lại thì khả năng tìm được lỗi là rất thấp. Nguyên nhân do hệ thống đã dần hoàn thiện hơn sau khi tìm thấy các bug ở test case cũ.

Để ngăn chặn nghịch lý thuốc trừ sâu, một lỗi được sử hay một tính năng mới được thêm vào ta nên tiến hành làm kiểm thử hồi quy (regression). Các test case cần được xem xét và chỉnh sửa phù hợp để đạt được hiệu quả tìm lỗi tốt hơn. Đồng thời, Tester cũng không nên phụ thuộc quá nhiều vào các kỹ thuật test sẵn có. Ta sẽ cần liên tục học hỏi và cải tiến các phương pháp kiểm thử để làm việc hiệu quả hơn.

7-nguyen-tac-kiem-thu-phan-mem

Nguyên tắc kiểm thử phần mềm phụ thuộc vào ngữ cảnh

Trong mỗi lĩnh vực khác nhau, các phần mềm sẽ mang những đặc trưng riêng biệt của từng lĩnh vực. Do đó mà các tester cũng cần điều chỉnh cách thức kiểm thử phù hợp. Chẳng hạn như việc kiểm thử web và ứng dụng di động sẽ rất khác nhau. Nếu bạn sử dụng chiến lược kiểm thử giống nhau cho cả hai loại thì đó là một tư duy sai lầm. Vì vậy, bạn cần chú ý sử dụng các phương thức, kỹ thuật test khác nhau cho các loại phần mềm, ứng dụng hoặc website. 

 

Xem thêm: Vai trò của kiểm thử phần mềm

 

Quan niệm sai lầm về việc phần mềm “hết lỗi”

Nhiều tester thường không tìm thấy bug khi kiểm tra tổng thể. Tuy nhiên, sẽ không có phần mềm nào không chứa bug mà được giao cho tester. Nhiệm vụ của tester không chỉ cần kiểm tra bug mà còn phải dự đoán các lỗi có thể xảy ra. Đồng thời, tester cần kiểm tra phần mềm đã đáp ứng đầy đủ các yêu cầu mà khách hàng đặt ra hay chưa. 

Kiểm thử không tìm ra lỗi không đồng nghĩa với việc phần mềm đã hoàn thiện và có thể tung ra trên thị trường. Việc không tìm thấy lỗi có thể do bộ phận kiểm thử chỉ kiểm tra các tính năng được chỉ định theo yêu cầu chứ không phải tìm kiếm lỗi mới. Bên cạnh đó, một phần mềm sạch bug đến 99% vẫn có thể không sử dụng được do kiểm thử bằng một requirement sai. Vì vậy phần mềm hết lỗi là một quan niệm sai lầm. 

Trên đây là 7 nguyên tắc kiểm thử phần mềm cơ bản mà VnSkills Academy muốn chia sẻ với các bạn. Hy vọng rằng bài viết sẽ giúp bạn hiểu hơn về kiểm thử phần mềm và giúp quá trình kiểm thử tối ưu hơn. 

Đánh giá bài viết này nếu bạn thấy hay

Vui lòng đánh giá

Chia sẻ bài viết này:

Bài viết liên quan

.
.
.
.