Kiểm thử chuyển trạng thái với ví dụ

⚡ Tóm tắt thông minh

Kiểm thử chuyển trạng thái là một kỹ thuật hộp đen giúp xác thực cách ứng dụng chuyển đổi giữa các trạng thái khi điều kiện đầu vào thay đổi. Hướng dẫn này giải thích bốn phần của sơ đồ, sự khác biệt giữa sơ đồ trạng thái và bảng, cùng các ví dụ về máy ATM và đăng nhập dành cho người kiểm thử.

  • 🔄 Ý tưởng cốt lõi: Kỹ thuật này kiểm tra hành vi của hệ thống khi cùng một đầu vào tạo ra các đầu ra khác nhau dựa trên các sự kiện trước đó (một hệ thống có trạng thái hữu hạn).
  • 🧩 Bốn yếu tố cơ bản: Mỗi mô hình đều được xây dựng từ các Trạng thái, Chuyển đổi, Sự kiện và Hành động.
  • 4 Sơ đồ so với bảng: Sơ đồ thể hiện các chuyển đổi hợp lệ; bảng biểu cho thấy các chuyển đổi không hợp lệ.
  • 🏧 Ví dụ thực tế: Việc bị khóa mã PIN ATM và đăng nhập đặt vé máy bay chứng minh phạm vi bảo mật thực tế.
  • 🤖 Kích hoạt AI: Các công cụ AI tự động tạo ra các mô hình trạng thái từ các yêu cầu và đánh dấu các chuyển đổi bị thiếu hoặc không hợp lệ.

Kiểm tra chuyển đổi trạng thái — Các tiểu bang

Kiểm tra chuyển tiếp trạng thái là gì?

Kiểm tra chuyển đổi trạng thái Kiểm thử hộp đen là một kỹ thuật kiểm thử trong đó sự thay đổi các điều kiện đầu vào gây ra sự thay đổi trạng thái hoặc đầu ra trong ứng dụng cần kiểm thử (AUT). Nó giúp phân tích hành vi của ứng dụng trong các điều kiện đầu vào khác nhau, và người kiểm thử có thể cung cấp các giá trị đầu vào tích cực và tiêu cực trong khi ghi lại hành vi của hệ thống.

Nó dựa trên mô hình mà hệ thống và các bài kiểm tra được xây dựng. Bất kỳ hệ thống nào mà bạn nhận được đầu ra khác nhau cho cùng một đầu vào — tùy thuộc vào những gì đã xảy ra trước đó — đều là hệ thống trạng thái hữu hạn. 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 tra các quá trình chuyển đổi hệ thống khác nhau.

Khi nào nên sử dụng kiểm thử chuyển trạng thái?

  • Khi người kiểm thử đang kiểm tra ứng dụng với một tập hợp hữu hạn các giá trị đầu vào.
  • Khi người kiểm thử đang kiểm tra một chuỗi các sự kiện xảy ra trong ứng dụng cần kiểm thử (AUT), điều này cho phép kiểm tra hành vi của ứng dụng đối với một chuỗi các giá trị đầu vào.
  • Khi hệ thống cần kiểm thử phụ thuộc vào các sự kiện hoặc giá trị từ quá khứ.

Khi nào không nên dựa vào kiểm tra chuyển đổi trạng thái

  • Khi việc kiểm tra không được thực hiện đối với các kết hợp đầu vào tuần tự.
  • Khi việc kiểm thử nhắm đến các chức năng khác nhau, chẳng hạn như kiểm thử thăm dò.

Bốn phần của sơ đồ chuyển trạng thái

Mô hình chuyển đổi trạng thái bao gồm bốn thành phần chính, được mô tả dưới đây.

1) Tiểu bang mà phần mềm có thể tiếp cận.

Kiểm tra chuyển đổi trạng thái — Các tiểu bang

2) Chuyển tiếp từ tiểu bang này sang tiểu bang khác.

Kiểm thử chuyển đổi trạng thái — Chuyển đổi

3) Sự kiện Những thao tác đó kích hoạt một quá trình chuyển đổi, chẳng hạn như đóng tệp hoặc rút tiền.

Kiểm thử chuyển đổi trạng thái — Sự kiện

4) Hành động Những sự kiện phát sinh từ một quá trình chuyển đổi, chẳng hạn như thông báo lỗi hoặc việc nhận được tiền mặt.

Kiểm thử chuyển đổi trạng thái — Các hành động

Sơ đồ chuyển trạng thái so với bảng chuyển trạng thái

Có hai cách chính để biểu diễn hoặc thiết kế sự chuyển đổi trạng thái: sơ đồ chuyển đổi trạng thái và bảng chuyển đổi trạng thái.

Yếu tố Sơ đồ chuyển đổi trạng thái Bảng chuyển trạng thái
Còn được gọi là Biểu đồ/Đồ thị của tiểu bang Bảng trạng thái
Đại diện BoxCác ký hiệu es biểu thị trạng thái, mũi tên biểu thị sự chuyển đổi. Lưới các trạng thái (hàng) và sự kiện (cột)
Tốt nhất để xác định Các chuyển đổi hợp lệ Chuyển đổi không hợp lệ
Mỗi ô hiển thị - Trạng thái đạt được sau khi một sự kiện xảy ra

Cách thực hiện chuyển đổi trạng thái (Ví dụ)

Ví dụ 1: Khóa mã PIN ATM

Hãy xem xét chức năng của hệ thống ATM, trong đó nếu người dùng nhập mật khẩu không hợp lệ ba lần, 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ệ trong bất kỳ ba lần thử đầu tiên nào, 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 thứ hai, họ sẽ được yêu cầu nhập lại. Cuối cùng, nếu người dùng nhập sai mật khẩu lần thứ ba, tài khoản sẽ bị khóa.

Sơ đồ chuyển trạng thái (Ví dụ 1)

sơ đồ chuyển trạng thái mã PIN ATM

Trong sơ đồ, mỗi khi người dùng nhập đúng mã PIN, họ sẽ chuyển sang trạng thái "Được cấp quyền truy cập". Nếu họ nhập sai mật khẩu, họ sẽ chuyển sang lần thử tiếp theo, và nếu họ vẫn nhập sai lần thứ ba, tài khoản sẽ bị khóa.

Bảng chuyển đổi trạng thái (Ví dụ 1)

Tiểu bang 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) Đã cấp quyền truy cập
S6) Tài khoản bị khóa

Trong bảng, khi người dùng nhập đúng mã PIN, trạng thái chuyển sang S5 (Đã cấp quyền truy cập). Nếu người dùng nhập sai mật khẩu, họ sẽ chuyển sang trạng thái tiếp theo, và sau ba lần nhập sai, họ sẽ đạt đến trạng thái Tài khoản bị khóa.

Ví dụ 2: Đăng nhập đặt vé máy bay

Trên màn hình đăng nhập đặt vé máy bay, bạn phải nhập đúng tên đại lý và mật khẩu để truy cập. đơn đặt vé máy bay.

Đồ thị chuyển trạng thái đặt vé máy bay

Đồ thị chuyển trạng thái

Ứng dụng cho phép ba lần thử; nếu người dùng nhập sai mật khẩu ở lần thử thứ tư, 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 đổi hợp lệ cần được kiểm tra. Việc kiểm tra với cả mật khẩu đúng và sai là bắt buộc, và đối với... các tình huống thử nghiệmViệc đăng nhập ở lần thử thứ 2, 3 hoặc 4 đều có thể được kiểm tra. Bạn có thể sử dụng Bảng trạng thái để xác định các chuyển đổi hệ thống không hợp lệ.

Bảng chuyển trạng thái đặt vé máy bay

Trong bảng trạng thái, tất cả các trạng thái hợp lệ được liệt kê ở bên trái và các sự kiện gây ra chúng được liệt kê ở phía trên. Mỗi ô hiển thị trạng thái mà hệ thống chuyển sang khi sự kiện xảy ra. Ví dụ, ở trạng thái S1, nhập đúng mật khẩu sẽ đưa bạn đến trạng thái S6 (Đã cấp quyền truy cập); nhập sai mật khẩu ở lần thử đầu tiên sẽ đưa bạn đến trạng thái S3 (Thử lần 2). Tương tự, bạn có thể xác định tất cả các trạng thái khác.

Phương pháp này sẽ làm nổi bật hai trạng thái không hợp lệ. Giả sử bạn đang ở trạng thái S6 (đã đăng nhập) và bạn mở một phiên bản đặt vé máy bay khác và nhập mật khẩu cho cùng một nhân viên. Phản hồi của hệ thống trong trường hợp này cần được kiểm tra.

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

Ưu điểm Nhược điểm
Cung cấp hình ảnh hoặc bảng biểu mô tả hành vi của hệ thống, giúpping Người kiểm thử bao quát và hiểu hệ thống một cách hiệu quả. Không thể tin cậy hoàn toàn trong mọi trường hợp — ví dụ, nó không phù hợp với các hệ thống không hữu hạn hoặc tuần tự.
Cho phép người kiểm thử xác minh rằng tất cả các điều kiện đã được đáp ứng và kết quả đã được ghi lại. Phương pháp này đòi hỏi phải định nghĩa tất cả các trạng thái có thể. Nó hoạt động tốt với các hệ thống nhỏ nhưng lại không hiệu quả với các hệ thống lớn hơn do số lượng trạng thái tăng theo cấp số nhân.

Câu Hỏi Thường Gặp

Kiểm thử chuyển trạng thái là một kỹ thuật hộp đen giúp xác minh cách hệ thống chuyển đổi giữa các trạng thái khi điều kiện đầu vào thay đổi. Kỹ thuật này phù hợp với các hệ thống có số trạng thái hữu hạn, trong đó cùng một đầu vào có thể tạo ra các đầu ra khác nhau tùy thuộc vào các sự kiện trước đó.

Bốn phần đó là Trạng thái (các điều kiện mà phần mềm có thể ở), Chuyển đổi (sự di chuyển giữa các trạng thái), Sự kiện (các tác nhân gây ra sự chuyển đổi) và Hành động (kết quả của sự chuyển đổi, chẳng hạn như thông báo hoặc đầu ra).

Sơ đồ chuyển trạng thái sử dụng các ô vuông và mũi tên, phù hợp nhất để xác định các chuyển đổi hợp lệ. Bảng trạng thái liệt kê các trạng thái tương ứng với các sự kiện trong một lưới, phù hợp nhất để phát hiện các chuyển đổi không hợp lệ.

Nên tránh sử dụng phương pháp này khi dữ liệu đầu vào không theo trình tự hoặc khi thực hiện kiểm thử thăm dò các chức năng khác nhau. Phương pháp này cũng không hiệu quả đối với các hệ thống rất lớn vì số lượng trạng thái tăng theo cấp số nhân.

Kiểm thử độ phủ 0-switch kiểm tra mọi chuyển đổi hợp lệ một lần. Kiểm thử độ phủ 1-switch kiểm tra mọi cặp chuyển đổi liên tiếp. Độ phủ switch cao hơn tìm thấy nhiều lỗi liên quan đến trình tự hơn nhưng yêu cầu nhiều trường hợp kiểm thử hơn.

Đây là một kỹ thuật hộp đen. Các trường hợp kiểm thử được tạo ra từ hành vi bên ngoài dự kiến ​​của các trạng thái và chuyển đổi, mà không cần biết mã nguồn nội bộ của ứng dụng.

Các công cụ AI đọc yêu cầu và tự động xây dựng mô hình trạng thái, sau đó tạo ra các trường hợp kiểm thử bao phủ các đường dẫn hợp lệ và các chuyển đổi cạnh. Điều này giúp giảm thiểu công sức xây dựng mô hình thủ công và cải thiện độ bao phủ của các chuỗi phức tạp.

Đúng vậy. Trí tuệ nhân tạo (AI) có thể phân tích mô hình trạng thái và đánh dấu các chuyển đổi bị thiếu, không thể đạt được hoặc không hợp lệ bằng cách so sánh chúng với các mẫu hành vi dự kiến.ping Người kiểm thử phát hiện ra những thiếu sót mà việc xem xét bảng thủ công thường bỏ sót.

Tóm tắt bài viết này với: