Kiểm thử lại và Kiểm thử hồi quy - Nên kiểm thử hồi quy bao nhiêu là đủ?

1. Kiểm thử lại

Kiểm thử lại nghĩa là thực hiện test lại một lần nữa. Lý do không quan trọng. Khi bạn thực hiện lại 1 lần kiểm thử, nghĩa là bạn đang Kiểm thử lại. bạn có thể kiểm thử lại các chức năng của phiên bản hiện tại, hoặc 1 sửa lỗi, hoặc chức năng của phiên bản cũ, hoặc một test case mà bạn vừa xây dựng, v.v...

Retest-vs-regression-testing.jpg

Nếu bạn vẫn còn băn khoăn tại sao phải kiểm thử lại, thì dưới đây là một vài lý do tốt nhất:

  • Bạn đã thực hiện kiểm thử ngày hôm qua và phát hiện ra 1 lỗi. Bạn muốn xác nhận các bước thực hiện và khả năng tái hiện lỗi => Nên bạn thực hiện Kiểm thử lại.

  • Bạn đã thực hiện kiểm thử, nhưng bạn không hoàn toàn tập trung khi thực hiện (có thể bạn phải nghe điện thoại, hoặc phải trao đổi với đồng nghiệp,...). Giờ bạn muốn kiểm tra lại 1 lần nữa => Bạn thực hiện Kiểm thử lại.

Kiểm thử lại là khi bạn lặp lại 1 lần kiểm thử vì 1 lý do bất kỳ. Nó là 1 trong những khái niệm luôn đúng như định nghĩa của nó.

2. Kiểm thử hồi quy

Phần mềm luôn phát triển, luôn có những phiên bản mới thay thế phiên bản cũ, luôn có những tính năng mới, mở rộng mới,... Nhưng theo thời gian, việc đó sẽ dẫn đến tính thiếu ổn định của ứng dụng. Hãy tưởng tượng bạn đang xây dựng một ngọn tháp bằng cách đặt các khối này trên khối khác. Nhưng Bạn không có thời gian để củng cố lại nền móng của nó, việc ngọn tháp bị sập chắc chắn sẽ xảy ra sớm thôi.

Cũng tương tự như vậy, bạn sẽ phải liên tục kiểm tra lại về sự ổn định và bền vững của phần mềm. Để làm được thế, chúng ta phải Kiểm thử lại phần mềm. Đó là cách duy nhất.

Kiểm thử hồi quy là 1 dạng của Kiểm thử lại. Chi tiết để trả lời câu hỏi "Vì sao" và "Khi nào" sẽ giúp phân biện nó với Kiểm thử lại.

  1. Khi nào chúng ta kiểm thử lại: khi phần mềm đang có thay đổi.

  2. Tại sao chúng ta kiểm thử lại: để đảm bảo các thay đổi mới thêm vào không làm cho các chức năng đã/đang hoạt động trở nên không ổn định. Kiểm thử hồi quy thường được khuyến cáo sử dụng khi:

  • Một phiên bản mới được triển khai: Kiểm thử hồi quy toàn bộ hoặc ít nhất là các chức năng quan trọng của phiên bản cũ hơn.
  • Sửa lỗi.

Đó là lý do tại sao cần thực hiện Phân tích hồi quy trước khi thực hiện kiểm thử. Bước này sẽ quyết định, chúng ta cần phải kiểm thử hồi quy như thế nào đối với ứng dụng.

Cái gì ảnh hưởng đến phạm vi kiểm thử hồi quy?

  • Bản chất của thay đổi được thêm vào.
  • Mối quan hệ/ảnh hưởng của thay đổi đối với hệ thống/chức năng của hệ thống.
  • Thời gian và nhân lực hiện có

Làm thế nào để Tester xác định được phạm vi kiểm thử hồi quy?

  1. dựa vào kinh nghiệm và hiểu biết về ứng dụng.

  2. Trao đổi với developer

  3. Nơi mà thay đổi được thực hiện: ví dụ, nếu thay đổi ở Home Page thì cần phải bỏ nhiều công sức để kiểm thử hơn so với những thay đổi ở các page ít được truy cập.

Tuỳ thuộc vào các yếu tố và thời điểm, team kiểm thử có thể đi theo các hướng sau:

  • Kiểm thử hồi quy đơn vị: nghĩa là chỉ cần Kiểm thử lại với module/vùng bị thay đổi của ứng dụng.
  • Kiểm thử hồi quy 1 phần: nghĩa là chỉ thực hiện kiểm thử lại với module có thay đổi, cùng với các module khác có tương tác với nó.
  • Kiểm thử hồi quy toàn bộ: nghĩa là thực hiện kiểm thử lại với toàn bộ ứng dụng, không quan tâm đến module nào bị thay đổi.

Tuỳ vào từng tình huống (thời gian và nguồn lực có sẵn), mức độ nghiêm trọng của thay đổi (và ảnh hưởng của nó), thông tin mà developer cung cấp,... sẽ hiệu quả hơn khi bạn có thể lựa chọn một phạm vi đúng cho việc kiểm thử hồi quy.

Phân tích hồi quy là chìa khoá cho sự thành công. Nó cần xử lý thông minh hơn là chăm chỉ.

Các hiểu nhầm về kiểm thử hồi quy:

  1. Kiểm thử hồi quy luôn được tự động hoá: Không hoàn toàn, kiểm thử hồi quy hoàn toàn có thể được làm manual. Nên nhớ rằng, kiểm thử hồi quy là ứng cử viên để tự động hoá. Việc kiểm thử lặp đi lặp lại sẽ rất tốn thời gian và thậm chí còn gây nhàm chán. Ngoài ra, những kiểm tra quan trọng cũng có thể bị bỏ qua. Tự động hoá sẽ là giải pháp đáng tin cậy, nhanh và hiệu quả hơn.

  2. Kiểm thử hồi quy không bao giờ kết thúc: Đúng nhưng không hoàn toàn. Ý của tôi là, kiểm thử hồi quy vét cạn có thể là bất khả thi. Nhưng kiểm thử hồi quy vét cạn cũng có thể là không cần thiết. Giả sử bạn thay đổi một lỗi chỉnh tả trên trang chủ. Đó là một thay đổi rất nhỏ, và cũng không liên quan đến các phần khác của ứng dụng. Vì thế, chỉ cần kiểm thử lại 1 cách đơn giản. Không cần thiết phải thực hiện Kiểm thử hồi quy toàn bộ các tính năng của trang chủ.

  3. Nếu bạn không có thời gian thì kiểm thử hồi quy là không cần thiết: Không đúng. Không kiểm thử đủ sẽ dẫn đến sự thiếu lòng tin vào sản phẩm. Bạn sẽ không bao giờ biết cái gì có thể xảy ra với các kịch bản người dùng khác nhau.

  4. Cần phải chạy từng test case của các phiên bản trước: Một lần nữa, sử dụng mọi test case không phải là 1 cách đúng. Chiến lược lựa chọn là chìa khoá. Hãy hiểu thay đổi và lựa chọn những test case phù hợp.

3. So sánh Kiểm thử lại và Kiểm thử hồi quy

Điểm giống nhau:

  • Đều là việc thực hiện lặp lại
  • Sử dụng các kỹ thuật kiểm thử Hộp Đen.
  • Tự động hoặc manual cho cả 2 trường hợp
  • Kết quả đầu ra phải là câu trả lời Yes (lỗi)/No (không lỗi)

Điểm khác:

  • Kiểm thử lại áp dụng cho tất cả các loại kiểm thử: hướng đến phiên bản hiện tại hoặc phiên bản trước đó; Kiểm thử hồi quy tập trung vào các tính năng của phiên bản trước.
  • Kiểm thử lại không phụ thuộc vào thay đổi đã thực hiện; Kiểm thử hồi quy tập trung vào thay đổi đã thực hiện.

Qua sự so sánh trên có thể thấy Kiểm thử lại và Kiểm thử hồi quy không phải là một nhưng chúng cũng có những nét tương đồng. Sự kết hợp của Kiểm thử lại và Kiểm thử hồi quy sẽ là một bộ đôi năng động.