Xem thêm

Kiểm thử phần mềm: Các loại kiểm thử và kiểm thử bảo trì

Huy Erick
Chào mừng các bạn đến với bài viết này! Trong bài viết này, chúng ta sẽ tìm hiểu về các loại kiểm thử phần mềm và kiểm thử bảo trì. Điều này sẽ giúp các...

Chào mừng các bạn đến với bài viết này! Trong bài viết này, chúng ta sẽ tìm hiểu về các loại kiểm thử phần mềm và kiểm thử bảo trì. Điều này sẽ giúp các bạn có cái nhìn tổng quan về kiểm thử phần mềm và những kiến thức cơ bản liên quan đến kiểm thử, kỹ thuật sử dụng trong kiểm thử và các công cụ hỗ trợ.

1. Kiểm thử chức năng (functional testing)

Kiểm thử chức năng là một loại kiểm thử hộp đen (black box) và các trường hợp kiểm thử của nó được dựa trên mô tả của ứng dụng phần mềm hoặc thành phần đang được kiểm thử. Các chức năng sẽ được kiểm thử bằng cách đưa vào các giá trị và kiểm tra kết quả đầu ra, ít quan tâm đến cấu trúc bên trong của ứng dụng.

Kiểm thử chức năng có thể được thực hiện từ hai góc nhìn: dựa trên yêu cầu và dựa trên quy trình kinh doanh.

Dựa trên yêu cầu: Sử dụng các mô tả kỹ thuật của các yêu cầu chức năng để làm cơ sở cho việc kiểm thử các thiết kế. Nội dung của các yêu cầu có thể được sử dụng để tạo ra các trường hợp kiểm thử ban đầu hoặc sử dụng như một danh sách các trường hợp kiểm thử hoặc không kiểm thử. Dựa theo yêu cầu để ưu tiên các trường hợp kiểm thử theo mức độ quan trọng. Cần ưu tiên các yêu cầu có mức độ rủi ro cao.

Dựa trên quy trình kinh doanh: Các quy trình kinh doanh mô tả các kịch bản liên quan đến các hoạt động hàng ngày của hệ thống. Các use case là một cơ sở hữu ích cho các trường hợp kiểm thử từ góc độ kinh doanh. Kiểm thử chức năng bao gồm 5 bước:

  • Xác định các chức năng mà phần mềm mong muốn thực hiện.
  • Tạo ra các dữ liệu đầu vào dựa trên các tài liệu mô tả kỹ thuật của các chức năng.
  • Xác định kết quả đầu ra dựa trên các tài liệu mô tả kỹ thuật của các chức năng.
  • Thực hiện các trường hợp kiểm thử.
  • So sánh kết quả thực tế và kết quả mong muốn.

Các loại kiểm thử chức năng:

  • Kiểm thử đơn vị (Unit Testing)
  • Kiểm thử khói (Smoke Testing - kiểm tra nhanh xem hệ thống có khởi động được hay không)
  • Kiểm thử độ tỉnh táo (Sanity Testing - kiểm tra nhanh xem sau khi sửa đổi thì chức năng có hoạt động như mong muốn hay không)
  • Kiểm thử giao diện (Interface Testing)
  • Kiểm thử tích hợp (Integration Testing)
  • Kiểm thử hệ thống (Systems Testing)
  • Kiểm thử hồi quy (Regression Testing)
  • Kiểm thử chấp nhận (Acceptance testing)

2. Kiểm thử phi chức năng (non-functional testing)

Kiểm thử phi chức năng tương tự kiểm thử chức năng ở chỗ nó có thể được thực hiện ở mọi cấp độ kiểm thử. Kiểm thử phi chức năng xem xét các hành vi bên ngoài của phần mềm. Kiểm thử phi chức năng bao gồm:

  • Kiểm thử hiệu năng (performance testing)
  • Kiểm thử khả năng chịu tải (load testing)
  • Kiểm thử áp lực (stress testing)
  • Kiểm thử khả năng sử dụng (usability testing)
  • Kiểm thử bảo trì (maintainability testing)
  • Kiểm thử độ tin cậy (reliability testing)
  • Kiểm thử tính tương thích (portability testing)

3. Kiểm thử cấu trúc/kiến trúc phần mềm (structural testing)

Kiểm thử cấu trúc có thể xảy ra ở bất kỳ mức độ kiểm thử nào và được áp dụng chủ yếu trong kiểm thử thành phần và tích hợp. Phương pháp kiểm thử cấu trúc cũng có thể áp dụng ở các mức độ như kiểm thử tích hợp hệ thống hoặc kiểm thử chấp nhận. Kỹ thuật kiểm thử cấu trúc được sử dụng tốt nhất sau các kỹ thuật dựa trên các đặc điểm kỹ thuật. Độ bao phủ là phạm vi mà một cấu trúc đã được thực hiện bởi một bộ kiểm thử, tính theo phần trăm của các mục đã được bao phủ. Nếu độ bao phủ không phải là 100%, các kiểm thử sẽ được thiết kế để kiểm tra các mục đã bị bỏ lỡ để tăng độ bao phủ. Các kỹ thuật được sử dụng để kiểm thử cấu trúc là: các kỹ thuật hộp trắng và các mô hình luồng điều khiển (Control flow models).

4. Kiểm thử xác nhận (confirmation testing) và kiểm thử hồi quy (regression testing)

Kiểm thử xác nhận là quá trình kiểm thử lại phần mềm sau khi một lỗi đã được phát hiện và sửa chữa, để xác nhận rằng lỗi ban đầu đã được khắc phục. Kiểm thử xác nhận phải đảm bảo rằng các thử nghiệm được thực hiện giống như lần đầu tiên, sử dụng cùng các input, dữ liệu và môi trường. Kiểm thử hồi quy nhằm xác minh rằng sự thay đổi trong phần mềm hoặc môi trường không gây ra các phản ứng phụ không mong muốn và hệ thống vẫn đáp ứng yêu cầu. Kiểm thử hồi quy là việc lặp lại các kiểm thử của một chương trình sau khi đã có sự thay đổi. Kiểm thử hồi quy có thể được thực hiện ở mọi cấp độ kiểm thử, bao gồm kiểm thử chức năng, phi chức năng và kiểm thử cấu trúc.

5. Kiểm thử bảo trì (maintenance testing)

Kiểm thử bảo trì bao gồm việc kiểm thử các thay đổi và kiểm thử hồi quy để đảm bảo rằng các phần còn lại của hệ thống không bị ảnh hưởng bởi công việc bảo trì. Hoạt động chính trong kiểm thử bảo trì là phân tích tác động của các thay đổi. Từ việc phân tích, chúng ta có thể xác định những phần nào của hệ thống có thể bị ảnh hưởng không mong muốn. Kiểm thử bảo trì thường được thực hiện trên hệ thống hiện có khi có sự thay đổi, di chuyển hoặc rút lui phần mềm hoặc hệ thống. Kiểm thử bảo trì có thể áp dụng cho việc thay đổi, chuyển đổi và việc hệ thống không hoạt động nữa. Có hai loại chuyển đổi: Chuyển đổi theo kế hoạch (chuyển đổi đã được lên kế hoạch trước) và chuyển đổi bất ngờ (chuyển đổi không được lên kế hoạch trước).

Đó là những kiến thức cơ bản về 4 loại kiểm thử chính (chức năng, phi chức năng, kiến trúc và kiểm thử bảo trì). Hy vọng rằng bài viết này đã giúp các bạn có cái nhìn tổng quan về kiểm thử phần mềm và các loại kiểm thử.

1