Regression test
Regression test là gì?
Dành cho những ai chưa biết Regression test là gì thì cụm từ này còn có tên gọi việt hóa là kiểm thử hồi quy. Sở dĩ được gọi như vậy là vì đây là một loại kiểm thử được dùng để xác minh các thay đổi trong phần mềm khi tiến hành cập nhật, nâng cấp tính năng.
Mục đích cốt lõi là đảm bảo những đoạn code mới được thêm vào sẽ không ảnh hưởng đến các chức năng hiện có. Bởi vì đôi khi sẽ có sự xung đột giữa các tính năng mới và cũ khiến cho hệ thống không hoạt động như mong muốn được.
Khi nào cần dùng regression test?
- Một phần mềm sẽ có nhiều lần nâng cấp và cải tiến để mang đến phiên bản hoàn thiện nhất cho khách hàng. Để làm được điều đó, các lập trình viên sẽ không ngừng đổi mới cái cũ, thêm tính năng để đáp ứng nhu cầu ngày càng cao của người dùng. Tuy nhiên, điều này lại có thể mang đến nhiều phiền toái khi có thể xảy ra xung đột giữa các tính năng mới với những tính năng cũ. Lúc này, các chuyên viên kiểm thử sẽ phải phối hợp Regression test một cách liên tục để đảm bảo chất lượng sản phẩm.
- Chỉ cần thực hiện một thay đổi nhỏ trong đoạn code cũng có thể khiến cho việc chạy phần mềm trở nên khó khăn. Lúc này, vài trò của kiểm thử hồi quy lại càng quan trọng hơn, góp phần cải thiện chất lượng tổng thể của sản phẩm.
- Kiểm thử hồi quy còn được sử dụng trong trường hợp kiểm tra lại với các lỗi đã phát hiện trước đó. Mục đích là để chắc chắn rằng lỗi đã được fix thành công. Bên cạnh đó, kiểm thử hồi quy cũng giúp nhóm phát triển có thể so sánh kết quả đạt được ở hiện tại so với quá khứ.
Tóm lại, chỉ cần có bất cứ thay đổi nào được phát hiện thì kiểm thử hồi quy sẽ được thực hiện. Điều đó nhằm đảm bảo chất lượng phần mềm đạt chuẩn trước khi đến tay khách hàng.
Các kỹ thuật kiểm thử hồi quy cơ bản
Để đảm bảo chất lượng phần mềm, người ta sẽ sử dụng các kỹ thuật kiểm thử hồi quy chủ yếu sau đây.
- Kiểm tra lại toàn bộ: Chuyên viên kiểm thử sẽ tiến hành kiểm tra lại toàn bộ phần mềm để đảm bảo tính toàn vẹn từ trên xuống dưới. Cách này khá tốn thời gian khi đòi hỏi phải kiểm tra tất cả phần mềm.
- Kiểm tra có chọn lọc: Tester có thể lựa chọn một nhóm đại diện để làm kết quả xấp xỉ cho một thử nghiệm đầy đủ. Cách này sẽ giúp rút ngắn được thời gian và tối ưu chi phí hơn khi test toàn bộ quy trình. Tuy nhiên, tính chính xác không thể chắc chắn như cách trên được.
- Kiểm tra ưu tiên cho trường hợp thử nghiệm: Trong điều kiện thử nghiệm hạn chế, Tester/QA sẽ ưu tiên cho các trường hợp có thể ảnh hưởng đến kết quả của cả bản dựng hay tương lai của phần mềm. Cách này có vẻ tối ưu thời gian lẫn chi phí nhưng cũng không thể đảm bảo 100% độ chính xác cho phần mềm.