So sánh giữa Regression testing và Retesting

Hai khái niệm vô cùng quen thuộc với đội ngũ trong nghề đúng không nào?!, Thực ra khi mà nhắc đến hai khái niệm này và bảo so sánh với nhau, hầu như là ai cũng sẽ có đầy tự tin mà trả lời được rằng retest là test lại bug đã có, còn regression test là test hồi quy – test xem việc sửa 1 bug có sinh ra bug mới hay không. Câu trả lời này tất nhiên là đúng, nhưng mà chưa đủ, hehe. Muốn biết câu trả lời đầy đủ là gì, thì xin mời đọc tiếp!

Retesting

Retesting – Kiểm thử lại: là công việc thực hiện để đảm bảo rằng bug đã log và được fix trước đó có đúng là đã được sửa ở phiên bản hiện tại này hay chưa. Hay đơn giản là như thế này, bạn tìm thấy 1 bug > sau đó gán cho 1 chú dev nào đó > chú dev này sửa bug, và báo với bạn là bug này tui sửa rồi đó, bản build ngày mai sẽ có > tới ngày mai, bạn vào test lại cái bug này để xác nhận là ồ đúng là chú này đã fix con bug, cái việc này gọi là retesting. 🙂

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ỗ đó.

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…)

Bảng so sánh Retesting vs 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 quyVerify 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ăngThực hiện re-testing với cùng bộ dữ liệu test, môi trường test.

Tóm lại

Bài viết dông dài thế kia thôi, tóm lại là như này cho dễ hình dung, dễ thuộc bài nè. Re-testing là kiểm tra xem có thực sự là lỗi đã được sửa hay không, và Regression testing là kiểm tra xem liệu có lỗi mới nào phát sinh sau khi chỉnh sửa hay không. :)) .

Vậy thôi, xin mời các bạn cho thêm ý kiến dưới phần bình luận nhé, bài viết của mình tham khảo từ nhiều nguồn, mọi người có thể đọc các bài viết gốc dưới đây nha!

https://www.guru99.com/re-testing-vs-regression-testing.html.

https://www.softwaretestingmaterial.com/difference-between-regression-and-retesting/

Bình luận về bài viết này