Sự khác nhau giữa Retesting và Regression Testing
Rất nhiều bạn tester hơi bị nhằm lẫn giữa Retesting và Regression Testing. Hôm nay mình chia sẽ ít kiến thức về 2 khái niệm này.
1. Retest
Có nghĩa là kiểm tra lại. Trong quá trình test bạn gặp 1 bug. bạn mở bug ra và chuyển qua cho DEV sẽ fix nó xong. DEV sẽ update lên môi trường test cho tester kiểm tra lại.
2.Regression testing
Tester lo lắng sau khi DEV đã fix bug xong nhưng trong quá trình DEV làm việc thì có thể làm phát sinh ra lỗi ở chỗ nào đó trong code dẫn đến việc sinh ra lỗi ở một vài chức năng nào đó (có thể có liên quan đến chức năng đang được sửa lỗi)
Regression testing còn gọi là test hồi qui, là kiểm các chức năng liên quan hay toàn bộ phần mềm nhằm để xác nhận rằng trong quá trình sửa lỗi, DEV không làm phát sinh thêm lỗi khác. (Nhiều công ty thực hiện bằng tool automation testing)
Xem thêm: Chia Sẻ Hàm Chụp Hình – (Capture Screen) Màn Hình Java – Selenium
Regression là một dạng của Retest. Những đặc trưng của “Why” và “When” là những điểm khác biệt giữa test hồi quy so với retest.
When: khi nào chúng ta thực hiện retest? Khi phần mềm trải qua một sự thay đổi.
Why: tại sao chúng ta phải retest? Để đảm bảo việc thêm mới và thay đổi các tính năng không làm ảnh hưởng đến sự ổn định của các chức năng cũ. Regression là phần thực hiện chung và được yêu cầu khi:
- Một phiên bản mới trở nên có hiệu lực. (Hồi quy tất cả hoặc ít nhất một tính năng quan trọng của phiên bản cũ).
- Bug đã được fix.
Note: Kiểm thử hồi quy toàn bộ ( Exhaustive regression testing) là không thể thực hiện mặc dù rất mong muốn.
Đó là lý do tại sao phải phân tích Regression trước khi bạn nhảy luôn vào thực hiện kiểm thử. Đây là bước quan trọng liên quan đến việc quyết định cần phải thực hiện bao nhiêu Regression cho một ứng dụng.
Tùy thuộc vào các nhân tố khi hoạt động, một tập hợp kiểm thử có thể thực hiện theo một trong những follow sau:
- Unit Regression
- Partial Regression
- Full Regression
Unit regression nghĩa là bạn chỉ cần thực hiện retest đối với sự thay đổi ở module hoặc vùng nào đó của ứng dụng.
Partial regression nghĩa là bạn sẽ thực hiện retest đối với sự thay đổi ở các module kèm theo những tương tác với nó.
Full regression là bạn sẽ phải kiểm tra lại toàn bộ ứng dụng, không phụ thuộc vào vị trí của sự thay đổi.
Điều này dựa trên tình hình (thời gian và nguồn lực sẵn có), mức độ nghiêm trọng của sự thay đổi (mức độ ảnh hưởng của nó), đầu vào của deverlopver, vv… Sẽ hiệu quả hơn khi bạn lựa chọn đúng một bộ kiểm thử so với việc kiểm thử toàn bộ.
Xem thêm: Regression Testing Là Gì? Khi Nào Tester Phải Làm Regression Testing?