Regression testing Vs Retesting
1. Retesting
Retesting là một quy trình kiểm tra lại các testcase failed trong lần cuối cùng thực hiện test. Nói chung, tester tìm bug đó trong quá trình kiểm thử và assign lại cho Dev fix. Sau khi Dev fix xong thì đẩy lại cho Tester kiểm tra lại. Quá trình liên tục này được gọi là Re-testing.
Retesting có nghĩa là kiểm tra lại. Khi bạn lặp lại một kiểm thử thì đó chính là retest. Bạn có thể test lại chức năng của phiên bản hiện tại, một bug đã fix, chức năng của phiên bản trước đó hay một test case bạn vừa thực hiện, vv…
Việc re-test này chỉ thực hiện kiểm thử ở chỗ đã xảy ra lỗi trước đó, tức là trước đó lỗi ở đâu thì sau khi sửa mình sẽ test lại đúng chỗ đó.
2. Regression testing
Regression testing – kiểm thử hồi quy: là một loại kiểm thử phần mềm để đảm bảo rằng việc sửa lỗi, hay sửa đổi, cập nhật chức năng không làm sinh ra lỗi mới liên quan đến các phần được sửa đổi đó. Tức là việc này có thể test lặp lại những phần mà trước đây đã từng test rồi, và mục đích ở lần này là để phát hiện liệu phần sửa đổi kia có là nguyên nhân gây ra lỗi hay không.
Thông thường, ta sẽ thực hiện regression testing khi:
- Ứng dụng có thêm một function mới nào đó
- Có yêu cầu thay đổi (Change Requirement)
- Sau khi sửa lỗi
- Sau khi sửa lỗi hiệu năng
- Môi trường ứng dụng thay đổi (VD: Chuyển đổi Database từ MySQL sang Oracle…)
3. So sánh Retesting với Regression testing
REGRESSION TESTING | RETESTING |
Kiểm thử hồi quy được thực hiện để đảm bảo các thay đổi không ảnh hưởng đến các chức năng hiện có. | Kiểm thử lại được thực hiện để đảm bảo rằng các test case failed trước đó đã pass khi các bug được sửa |
Kiểm thử hồi quy được thực hiện để xác minh xem liệu có chức năng hiện có nào bị ảnh hưởng hay không, liên quan đến sự thay đổi đó. | Kiểm thử lại được thực hiện trên việc bug log trước đó đã được sửa. |
Tùy theo tình hình dự án, regressiton testing có thể được thực hiện song song với retesting. | Retesting được đánh giá có độ ưu tiên cao hơn so với regression testing, nên thường được thực hiện trước regresstion testing. |
Verify defect không thuộc kiểm thử hồi quy | Verify defect là một phần của retesting. |
Ta thường thực hiện kiểm thử tự động với regresstion testing, thực hiện manually có thể tốn nhiều chi phí và thời gian. | Ta không thể thực hiện tự động với những case cần retest. |
Regresstion testing được biết đến như là một loại kiểm thử chung chung. | Re-testing là một kiểu kiểm thử có kế hoạch. |
Việc thực hiện test này có thể thực hiện trên cả những test case đã từng pass trước đó. | Re-testing chỉ thực hiện trên những test case fail. |
Regresstion test case được đưa ra dựa vào mô tả chức năng | Thực hiện re-testing với cùng bộ dữ liệu test, môi trường test. |