Kỹ thuật chuyển đổi trạng thái – State Transition Testing
Tìm hiểu về State Transition Testing
Kiểm thử chuyển đổi trạng thái (State Transition Testing) đượ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). Đặc Điểm:
- Là phương pháp quan sát theo dõi sự chuyển từ trạng thái này sang trạng thái khác khi có tác động gì đó tới chương trình phần mềm.
- Cho phép các tester xem sự phát triển phần mềm trong một số điều kiện trạng thái của nó, các quá trình chuyển đổi giữa các trạng thái và các điều kiện nhập đầu vào và các sự kiện kích hoạt thay đổi trạng thái
- Bổ sung các ca kiểm thử để phát hiện ra lỗi mà có thể không phát hiện được bằng điều kiện input, output bởi các phương pháp trên.
Ví Dụ 1: Chức năng của hệ thống ATM Yêu Cầu:
- 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 State Transition Testing 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 State Transition Testing
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 State Transition Testing 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ảng chuyển trạng thái State Transition Testing 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. Ưu Điểm của State Transition Testing
- Kỹ thuật kiểm thử phần mềm 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ả.
- 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
Nhược Điểm của State Transition Testing
- 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.
- 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.
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.
Ngoài những kỹ thuật này, các bạn có thể xem qua những kỹ thuật trước mà chúng tôi đã chia sẻ trên kênh youtube của iTMS Coaching.
Xem thêm:
Bảng quyết định trong kiểm thử – Decision Table
Integration Testing – Kiểm thử Tích hợp
Kiểm Thử Chấp Nhận – Acceptance Testing