Skip to content

Dashboard

Regression Testing

Created by Admin

REGRESSION TESTING được định nghĩa là một loại kiểm tra phần mềm để xác nhận rằng một chương trình hoặc thay đổi mã gần đây không ảnh hưởng xấu đến các tính năng hiện có.

Kiểm thử hồi quy là việc lựa chọn đầy đủ hoặc một phần các trường hợp kiểm thử đã được thực thi được thực thi lại để đảm bảo các chức năng hiện có hoạt động tốt.

Thử nghiệm này được thực hiện để đảm bảo rằng các thay đổi mã mới sẽ không có tác dụng phụ đối với các chức năng hiện có. Nó đảm bảo rằng mã cũ vẫn hoạt động sau khi các thay đổi mã mới nhất được thực hiện.

Need of Regression Testing

Nhu cầu kiểm tra hồi quy chủ yếu phát sinh bất cứ khi nào có yêu cầu thay đổi mã và chúng ta cần kiểm tra xem mã đã sửa đổi có ảnh hưởng đến phần khác của ứng dụng phần mềm hay không. Hơn nữa, kiểm tra hồi quy là cần thiết, khi một tính năng mới được thêm vào ứng dụng phần mềm và để sửa lỗi cũng như khắc phục sự cố về hiệu suất.

How to do Regression Testing

Để thực hiện quy trình Kiểm tra hồi quy, trước tiên chúng ta cần gỡ lỗi mã để xác định lỗi. Khi các lỗi được xác định, các thay đổi cần thiết sẽ được thực hiện để khắc phục nó, sau đó kiểm tra hồi quy được thực hiện bằng cách chọn các trường hợp thử nghiệm có liên quan từ bộ thử nghiệm bao gồm cả các phần đã sửa đổi và bị ảnh hưởng của mã.

Bảo trì phần mềm là một hoạt động bao gồm các cải tiến, sửa lỗi, tối ưu hóa và xóa các tính năng hiện có. Những sửa đổi này có thể khiến hệ thống hoạt động không chính xác. Do đó, Kiểm thử hồi quy trở nên cần thiết. Kiểm tra hồi quy có thể được thực hiện bằng cách sử dụng các kỹ thuật sau:

Kiểm tra lại tất cả

Đây là một trong những phương pháp để Kiểm tra hồi quy trong đó tất cả các thử nghiệm trong nhóm hoặc bộ thử nghiệm hiện có phải được thực thi lại. Điều này rất tốn kém vì nó đòi hỏi thời gian và nguồn lực lớn.

Regression Test Selection

Lựa chọn kiểm thử hồi quy là một kỹ thuật trong đó một số trường hợp kiểm thử được chọn từ bộ kiểm thử được thực thi để kiểm tra xem mã sửa đổi có ảnh hưởng đến ứng dụng phần mềm hay không. Các trường hợp kiểm thử được phân loại thành hai phần, các trường hợp kiểm thử có thể sử dụng lại có thể được sử dụng trong các chu kỳ hồi quy tiếp theo và các trường hợp kiểm thử lỗi thời không thể sử dụng trong các chu kỳ tiếp theo.

Prioritization of Test Cases

Ưu tiên các trường hợp thử nghiệm tùy thuộc vào tác động kinh doanh, các chức năng quan trọng và thường xuyên được sử dụng. Việc lựa chọn các trường hợp kiểm thử dựa trên mức độ ưu tiên sẽ làm giảm đáng kể bộ kiểm thử hồi quy.

Selecting test cases for regression testing

Từ dữ liệu ngành đã phát hiện ra rằng một số lượng lớn các lỗi được khách hàng báo cáo là do các bản sửa lỗi vào phút cuối tạo ra các tác dụng phụ và do đó việc chọn Test Case để kiểm tra hồi quy là một nghệ thuật và không hề dễ dàng. Kiểm tra hồi quy hiệu quả có thể được thực hiện bằng cách chọn các trường hợp kiểm tra sau:

  • Các trường hợp kiểm tra có lỗi thường xuyên
  • Các chức năng hiển thị nhiều hơn cho người dùng
  • Các trường hợp kiểm tra xác minh các tính năng cốt lõi của sản phẩm
  • Các trường hợp thử nghiệm của các Chức năng đã trải qua nhiều thay đổi hơn và gần đây
  • Tất cả các trường hợp kiểm tra tích hợp
  • Tất cả các trường hợp thử nghiệm phức tạp
  • Các trường hợp kiểm tra giá trị ranh giới
  • Một mẫu các trường hợp thử nghiệm thành công
  • Một mẫu các trường hợp kiểm tra Thất bại

Regression Testing Tools

Nếu phần mềm của bạn thường xuyên thay đổi, chi phí kiểm tra hồi quy sẽ tăng lên. Trong những trường hợp như vậy, việc thực hiện thủ công các trường hợp kiểm thử làm tăng thời gian thực hiện kiểm thử cũng như chi phí. Tự động hóa các trường hợp kiểm thử hồi quy là sự lựa chọn thông minh trong những trường hợp như vậy. Mức độ tự động hóa phụ thuộc vào số lượng các trường hợp thử nghiệm vẫn có thể sử dụng lại cho các chu kỳ hồi quy liên tiếp.

Sau đây là các công cụ quan trọng nhất được sử dụng cho cả kiểm thử chức năng và hồi quy trong kỹ thuật phần mềm:

Selenium: Đây là một công cụ mã nguồn mở được sử dụng để tự động hóa các ứng dụng web. Selenium có thể được sử dụng để kiểm tra hồi quy dựa trên trình duyệt.

Quick Test Professional (QTP): HP Quick Test Professional là phần mềm tự động được thiết kế để tự động hóa các trường hợp kiểm tra chức năng và hồi quy. Nó sử dụng ngôn ngữ VBScript để tự động hóa. Nó là một công cụ dựa trên Từ khóa, theo hướng Dữ liệu.

Trình kiểm tra chức năng hợp lý (RFT): Trình kiểm tra chức năng hợp lý của IBM là một công cụ Java được sử dụng để tự động hóa các trường hợp kiểm thử của các ứng dụng phần mềm. Điều này chủ yếu được sử dụng để tự động hóa các trường hợp kiểm thử hồi quy và nó cũng tích hợp với Rational Test Manager.

Regression Testing and Configuration Management

Quản lý cấu hình trong quá trình kiểm tra hồi quy trở nên bắt buộc trong Môi trường Agile nơi mã đang được sửa đổi liên tục. Để đảm bảo kiểm tra hồi quy hiệu quả, hãy tuân thủ những điều sau:

  • Mã đang được kiểm tra hồi quy phải nằm trong một công cụ quản lý cấu hình
  • Không được phép thay đổi mã, trong giai đoạn kiểm tra hồi quy. Mã kiểm tra hồi quy phải được giữ miễn nhiễm với các thay đổi của nhà phát triển.
  • Cơ sở dữ liệu được sử dụng để kiểm tra hồi quy phải được cô lập. Không được phép thay đổi cơ sở dữ liệu

Difference between Re-Testing and Regression Testing:

  • Kiểm tra lại có nghĩa là kiểm tra lại chức năng hoặc lỗi để đảm bảo mã đã được sửa. Nếu nó không được sửa, Defect cần được mở lại. Nếu được sửa, Defect được đóng lại.

  • Kiểm thử hồi quy có nghĩa là kiểm tra ứng dụng phần mềm của bạn khi ứng dụng đó trải qua quá trình thay đổi mã để đảm bảo rằng mã mới không ảnh hưởng đến các phần khác của phần mềm.

Challenges in Regression Testing:

Sau đây là các vấn đề kiểm tra chính để thực hiện kiểm thử hồi quy:

  • Với các lần chạy hồi quy liên tiếp, các bộ thử nghiệm trở nên khá lớn. Do hạn chế về thời gian và ngân sách, toàn bộ bộ thử nghiệm hồi quy không thể được thực thi
  • Giảm thiểu bộ thử nghiệm trong khi vẫn đạt được mức độ bao phủ Thử nghiệm tối đa vẫn là một thách thức
  • Việc xác định tần suất Kiểm tra hồi quy, tức là sau mỗi lần sửa đổi hoặc mỗi bản cập nhật bản dựng hoặc sau một loạt các bản sửa lỗi, là một thách thức.

Phần kết luận:

Một chiến lược hồi quy hiệu quả, tiết kiệm cho tổ chức cả thời gian và tiền bạc. Theo một trong những nghiên cứu điển hình trong lĩnh vực ngân hàng, hồi quy tiết kiệm đến 60% thời gian sửa lỗi (điều này có thể bị bắt bởi các bài kiểm tra hồi quy) và 40% tiền bạc

Nguồn tham khảo: https://www.guru99.com/regression-testing.html

Source: https://viblo.asia/p/regression-testing-E375zVP15GW