TESTING FUNDAMENTALS
TYPES OF TESTING
TESTCASE DEVELOPMENT
TESTING TECHNIQUES
TEST MANAGEMENT & CONTROL
DEFECTS
AGILE
TESTING DIFFERENT DOMAINS
WHITEBOX TESTING
PERFORMANCE TESTING
ADVANCE TESTING TOPICS
FAQ
TESTING TYPES - MEGA LIST
TOOLS
CHECK!
CERTIFICATION
LIVE TESTING PROJECT
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Kỹ thuật kiểm thử chuyển đổi trạng thái

Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì? Khi nào sử dụng kỹ thuật chuyển đổi trạng thái? Sơ đồ chuyển đổi trạng thái bao gồm các thành phần nào? Ưu điểm và nhược điểm của kỹ thuật chuyển đổi trạng thái là gì? Hãy tìm hiểu kỹ thuật này để có cái nhìn bao quát và hiểu cách xử lý của hệ thống dễ dàng hơn nhé.

1. Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì?

Kiểm thử chuyển đổi trạng thái được định nghĩa là kỹ thuật kiểm thử phần mềm trong đó thay đổi điều kiện đầu vào gây ra thay đổi trạng thái trong Ứng dụng được kiểm thử (Application under Test - AUT).

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Đây là một kỹ thuật kiểm thử hộp đen trong đó tester phân tích cách xử lý của một ứng dụng được kiểm thử để đưa ra các điều kiện đầu vào khác nhau trong một trình tự. Trong kỹ thuật này, tester cung cấp cả giá trị kiểm thử đầu vào hợp lệ và không hợp lệ, sau đó xác định cách xử lý của hệ thống.

Kỹ thuật kiểm thử chuyển đổi trạng thái rất hữu ích khi bạn cần kiểm thử các cách chuyển đổi khác nhau trong hệ thống.

2. Khi nào sử dụng kỹ thuật chuyển đổi trạng thái?

  • Điều này có thể được sử dụng khi tester kiểm thử ứng dụng cho một tập hợp các giá trị đầu vào hữu hạn.
  • Khi tester đang cố kiểm thử theo tuần tự các sự kiện xảy ra trong ứng dụng được kiểm thử. Tức là, điều này sẽ cho phép tester kiểm thử cách xử lý ứng dụng cho một tuần tự các giá trị đầu vào.
  • Khi hệ thống được kiểm thử phụ thuộc vào các trạng thái / giá trị đã triển khai trước đó.

3. Khi nào không sử dụng kỹ thuật chuyển đổi trạng thái?

  • Khi kiểm thử không được thực hiện cho các kết hợp đầu vào tuần tự.
  • Nếu kiểm thử được thực hiện cho các chức năng khác nhau như kiểm thử thăm dò (exploratory testing).

4. Các thành phần trong sơ đồ chuyển đổi trạng thái

Có 4 thành phần chính của Mô hình Chuyển đổi trạng thái như dưới đây:

1) Xác nhận rằng phần mềm có thể nhận được.

ky thuat chuyen trang thai 1 png

2) Chuyển từ trạng thái này sang trạng thái khác.

ky thuat chuyen trang thai 2 png

3) Các sự kiện bắt nguồn từ quá trình chuyển đổi như đóng file hoặc rút tiền.

ky thuat chuyen trang thai 3 png

4) Các hành động phát sinh từ quá trình chuyển đổi (thông báo lỗi hoặc được nhận tiền mặt).

ky thuat chuyen trang thai 4 png

5. Sơ đồ chuyển trạng thái và Bảng chuyển trạng thái

Có hai cách chính để biểu diễn sự chuyển đổi trạng thái, đó là sơ đồ chuyển trạng thái và bảng chuyển trạng thái.

Trong sơ đồ chuyển trạng thái (Biểu đồ trạng thái), các trạng thái được hiển thị trong các đoạn text được đóng khung và quá trình chuyển đổi được thể hiện bằng các mũi tên, rất hữu ích trong việc xác định những chuyển tiếp hợp lệ.

Trong bảng chuyển trạng thái (Bảng trạng thái), tất cả các trạng thái được liệt kê ở phía bên trái và các sự kiện được mô tả ở trên cùng. Mỗi ô trong bảng biểu thị trạng thái của hệ thống sau khi sự kiện đã xảy ra. Nó rất hữu ích trong việc xác định chuyển tiếp không hợp lệ.

6. Ví dụ về cách thực hiện chuyển đổi trạng thái

Ví dụ 1:

Hãy xem chức năng của hệ thống ATM: nếu người dùng nhập mật khẩu không hợp lệ ba lần thì tài khoản sẽ bị khóa.

Trong hệ thống này, nếu người dùng nhập mật khẩu hợp lệ, người dùng sẽ đăng nhập thành công. Nếu người dùng nhập mật khẩu không hợp lệ trong lần thử đầu tiên hoặc lần thứ hai, người dùng sẽ được yêu cầu nhập lại mật khẩu, nếu người dùng nhập mật khẩu không đúng lần thứ 3, tài khoản sẽ bị chặn.

Sơ đồ chuyển trạng thái

ky thuat chuyen trang thai 5 png

Trong sơ đồ, bất cứ khi nào người dùng nhập mã PIN chính xác sẽ được chuyển sang trạng thái được cấp quyền truy cập, nếu nhập sai mã PIN sẽ được chuyển sang lần thử tiếp theo và nếu nhập sai đến lần thứ 3 thì trạng thái bị chặn tài khoản sẽ đạt được.

Bảng chuyển trạng thái

  Mã PIN chính xác Mã PIN không chính xác
S1: Bắt đầu S5 S2
S2: Lần thử đầu tiên S5 S3
S3: Lần thử thứ 2 S5 S4
S4: Lần thử thứ 3 S5 S6
S5: Quyền truy cập được cấp - -
S6: Tài khoản bị chặn - -

Trong bảng, khi người dùng nhập mã PIN chính xác, trạng thái được chuyển sang S5: được cấp quyền truy cập. Nếu người dùng nhập sai mã PIN sẽ được chuyển sang trạng thái tiếp theo. Nếu nhập sai mã PIN lần thứ 3 sẽ đạt đến trạng thái bị chặn tài khoản.

Ví dụ 2:

Trong màn hình đăng nhập đặt chỗ chuyến bay, bạn phải nhập đúng tên đại lý và mật khẩu để truy cập ứng dụng đặt chỗ chuyến bay.

Biểu đồ chuyển trạng thái

ky thuat chuyen trang thai 6 png

Biểu đồ chuyển trạng thái cung cấp cho bạn quyền truy cập vào ứng dụng với mật khẩu và tên đăng nhập chính xác, nhưng nếu bạn nhập sai mật khẩu, ứng dụng cho phép ba lần thử và nếu người dùng nhập sai mật khẩu ở lần thử thứ 4, hệ thống sẽ tự động đóng ứng dụng.

Biểu đồ trạng thái giúp bạn xác định các chuyển tiếp hợp lệ sẽ được kiểm thử. Trong trường hợp này, kiểm thử với mật khẩu chính xác và mật khẩu không chính xác là bắt buộc. Đối với các kịch bản kiểm thử, đăng nhập vào lần thử thứ 2, 3 và 4 bất kỳ ai cũng có thể được kiểm thử.

Bạn có thể sử dụng Bảng trạng thái để xác định chuyển đổi hệ thống không hợp lệ.

ky thuat chuyen trang thai 7 png

Trong Bảng trạng thái, tất cả các trạng thái hợp lệ được liệt kê ở phía bên trái của bảng và các sự kiện gây ra chúng ở trên cùng.

Mỗi ô đại diện cho hệ thống trạng thái sẽ di chuyển đến khi sự kiện tương ứng xảy ra.

Ví dụ: Khi ở trạng thái S1, bạn nhập mật khẩu chính xác, bạn được đưa đến trạng thái S6 (Cấp quyền truy cập). Giả sử nếu bạn đã nhập sai mật khẩu ở lần thử đầu tiên hoặc Lần 2, bạn sẽ được đưa đến trạng thái S3.

Tương tự như vậy, bạn có thể xác định tất cả các trạng thái khác.

Giả sử bạn đang ở trạng thái S6, bạn đã đăng nhập vào ứng dụng, bạn mở một trình duyệt và truy cập trang đặt chỗ chuyến bay, nhập mật khẩu hợp lệ hoặc không hợp lệ cho cùng một đại lý. Phản ứng của hệ thống cho một kịch bản như vậy cần phải được kiểm thử.

7. Ưu điểm và nhược điểm của kỹ thuật chuyển đổi trạng thái

Ưu điểm Nhược điểm
Kỹ thuật kiểm thử này sẽ cung cấp sự diễn tả bằng hình ảnh hoặc dạng bảng cách xử lý của hệ thống, điều này sẽ khiến tester bao quát và hiểu cách xử lý của hệ thống một cách hiệu quả. Nhược điểm chính của kỹ thuật kiểm thử này là chúng ta không thể sử dụng kỹ thuật này trong mọi lúc. Ví dụ, nếu hệ thống không theo thứ tự tuần tự, kỹ thuật này không thể được sử dụng.
Bằng cách sử dụng kiểm thử này, tester có thể xác minh rằng tất cả các điều kiện được bao phủ và kết quả được ghi lại Một nhược điểm khác là bạn phải xác định tất cả các trạng thái có thể có của một hệ thống. Mặc dù điều này hoàn toàn đúng đối với các hệ thống nhỏ, nhưng nó sẽ bị phá vỡ tuần tự ở các hệ thống lớn hơn vì có sự tiến triển theo cấp số nhân trong số lượng các trạng thái.

8. Kết luận

  • Kiểm thử chuyển trạng thái được định nghĩa là kỹ thuật kiểm thử trong đó thay đổi điều kiện đầu vào gây ra thay đổi trạng thái trong Ứng dụng được kiểm thử.
  • Trong Kỹ thuật phần mềm, Kỹ thuật kiểm thử chuyển đổi trạng thái rất hữu ích khi bạn cần kiểm thử các chuyển đổi hệ thống khác nhau.
  • Hai cách chính để biểu diễn hoặc thiết kế chuyển trạng thái, đó là sơ đồ chuyển trạng thái và bảng chuyển trạng thái.
  • Trong sơ đồ chuyển trạng thái, các trạng thái được hiển thị trong các đoạn text được đóng khung và quá trình chuyển đổi được thể hiện bằng các mũi tên.
  • Trong bảng chuyển trạng thái, tất cả các trạng thái được liệt kê ở phía bên trái và các sự kiện được mô tả ở trên cùng.
  • Ưu điểm chính của kỹ thuật kiểm thử này là nó sẽ cung cấp sự biểu diễn bằng hình ảnh hoặc dạng bảng cách xử lý của hệ thống, điều này sẽ khiến tester bao quát và hiểu cách xử lý của hệ thống một cách hiệu quả.
  • Nhược điểm chính của kỹ thuật kiểm thử này là chúng ta không thể dựa vào kỹ thuật này trong mọi thời gian.

Cùng chuyên mục:

Giám sát và kiểm soát kiểm thử

Giám sát và kiểm soát kiểm thử

Trong khi nhóm thực hiện các nhiệm vụ được giao, Test Manager cần giám sát…

Tài liệu kiểm thử

Tài liệu kiểm thử

Tài liệu kiểm thử giúp nhóm kiểm thử ước tính effort kiểm thử cần thiết,…

Cách tạo Test Plan

Cách tạo Test Plan

Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục…

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử là một trong những nhiệm vụ phức tạp nhất trong…

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu…

Quy trình quản lý kiểm thử

Quy trình quản lý kiểm thử

Quản lý kiểm thử (Test Management) bao gồm chuỗi nhiều hoạt động. Có hai phần…

Vai trò và Trách nhiệm của Test Manager

Vai trò và Trách nhiệm của Test Manager

Trước khi bắt đầu kiểm thử một dự án, bạn nên biết vai trò của…

Kiểm thử Use Case

Kiểm thử Use Case

Là một tester, bạn đã hiểu rõ về Use Case hay Kiểm thử Use Case…

Kỹ thuật kiểm thử bảng quyết định

Kỹ thuật kiểm thử bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử phầm mềm. Vậy Kiểm…

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Chúng ta cần sử dụng các kỹ thuật đặc biệt để lựa chọn test cases…

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong…

Test Case Template

Test Case Template

Test cases là đơn vị nhỏ nhất trong kế hoạch kểm thử, mô tả các…

Thủ thuật để tạo dữ liệu kiểm thử

Thủ thuật để tạo dữ liệu kiểm thử

Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của…

Cách tạo Requirements Traceability Matrix - RTM

Cách tạo Requirements Traceability Matrix - RTM

Requirements Traceability Matrix - RTM là gì? Traceability Test Matrix bao gồm những loại nào?…

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test Basis là nguồn để tạo ra các test cases.…

Cách viết Test Cases

Cách viết Test Cases

Test Case là tập hợp các hành động được thực thi để xác minh một…

Kịch bản kiểm thử - Test Scenario

Kịch bản kiểm thử - Test Scenario

Test Scenario tuy không còn mới mẻ nhưng không ít người còn mơ hồ về…

Kiểm thử phi chức năng

Kiểm thử phi chức năng

Kiểm thử phi chức năng liên quan đến việc kiểm thử phần mềm từ những…

Kiểm thử hồi quy

Kiểm thử hồi quy

Kiểm thử hồi quy - Regression Testing rất quan trọng, đặc biệt là trong những…

Phân biệt Smoke Testing và Sanity Testing

Phân biệt Smoke Testing và Sanity Testing

Smoke Testing là gì? Sanity testing là gì? Smoke Testing và Sanity Testing là những…

Top