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).
Đâ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.
Bài viết này được đăng tại [free tuts .net]
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.
2) Chuyển từ trạng thái này sang trạng thái khác.
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.
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).
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
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
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ệ.
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.