1. Khái niệm Test Scenario
Test Scenario (Kịch bản kiểm thử) là một mô tả cấp cao về một chức năng hoặc tính năng cần được kiểm tra trong hệ thống, thường được diễn đạt dưới dạng ngắn gọn và dễ hiểu. Test Scenario hay Kịch bản kiểm thử còn được gọi là Test Condition hoặc Test Possibility
Khi nào cần dùng Test Scenarios?
- Khi muốn xác định phạm vi kiểm thử mà không đi quá chi tiết vào từng bước thực hiện.
- Phù hợp khi dự án cần kiểm thử nhanh hoặc không có đủ thời gian để viết chi tiết Test Cases.
- Khi muốn tạo cái nhìn tổng quan về các trường hợp kiểm thử để các bên liên quan (QA, Dev, PO) hiểu rõ.
Ai là người thực hiện Test Scenarios?
- Tester là người tạo ra Test Scenarios để đảm bảo kiểm thử đúng phạm vi chức năng.
- Business Analyst (BA) hoặc Product Owner (PO) cũng có thể tham gia xác định các kịch bản này để đảm bảo phù hợp với yêu cầu nghiệp vụ.
Test Scenarios được thực hiện ở bước nào trong quy trình kiểm thử?
- Giai đoạn phân tích yêu cầu: Khi cần xác định phạm vi kiểm thử.
- Giai đoạn lập kế hoạch kiểm thử: Được sử dụng để xác định các trường hợp kiểm thử chính cần thực hiện.
- Thực hiện trong các kiểm thử như Exploratory Testing, kiểm thử ở mức System Testing hoặc Acceptance Testing.
2. Khái niệm Test Case
Test Case (Trường hợp kiểm thử) là tài liệu chi tiết, mô tả các bước kiểm thử cụ thể, dữ liệu đầu vào, điều kiện thực thi, và kết quả mong đợi cho một trường hợp kiểm thử cụ thể.
Khi nào dùng Test Case?
- Khi cần kiểm thử chi tiết từng chức năng hoặc tính năng của hệ thống.
- Khi kiểm thử cần tuân thủ quy trình kiểm thử chuẩn và cần tài liệu hóa rõ ràng.
- Khi hệ thống phức tạp, đòi hỏi kiểm thử tường minh để đảm bảo không bỏ sót lỗi.
Ai thực hiện Test Case?
- Tester hoặc QA là người viết và thực hiện các Test Case.
- Đôi khi, Developer cũng có thể viết Test Case trong các dự án Test-Driven Development (TDD).
Test Case được thực hiện ở bước nào trong quy trình kiểm thử?
- Giai đoạn thiết kế kiểm thử: Test Case được viết dựa trên Test Scenarios.
- Giai đoạn thực thi kiểm thử: Tester thực hiện Test Case để kiểm tra chi tiết từng trường hợp.
3. Phân biệt Test Scenarios và Test Case
Ví dụ minh họa:
Test Scenario:
Kiểm tra khả năng đăng nhập của người dùng.
Test Case:
- Tên Test Case: Kiểm tra đăng nhập thành công.
- Điều kiện tiền đề: Người dùng đã có tài khoản hợp lệ.
- Bước thực hiện:
- Truy cập trang đăng nhập.
- Nhập tên người dùng và mật khẩu hợp lệ.
- Nhấn nút “Đăng nhập”.
- Kết quả mong đợi: Hệ thống chuyển đến trang chính và hiển thị tên người dùng.
4. Các bước viết Test Scenarios
4.1. Hiểu rõ yêu cầu và tính năng cần kiểm thử
Trước khi viết Test Scenarios, bạn cần hiểu rõ yêu cầu hoặc tính năng mà phần mềm phải thực hiện. Điều này bao gồm việc đọc và phân tích tài liệu yêu cầu, hiểu các mục tiêu nghiệp vụ và cách thức hoạt động của hệ thống.
4.2. Xác định các yếu tố cần kiểm thử
Test Scenarios phải bao quát các tình huống hoặc kịch bản mà người dùng có thể gặp phải khi tương tác với hệ thống. Hãy xác định các tính năng hoặc chức năng mà bạn sẽ kiểm tra.
4.3. Viết Test Scenarios rõ ràng và ngắn gọn
Test Scenario thường được viết ngắn gọn và dễ hiểu, mô tả một cách tổng quát một hành động hoặc mục tiêu kiểm thử. Mỗi scenario không cần đi vào chi tiết các bước thực hiện mà chỉ nêu rõ mục tiêu kiểm thử.
4.4. Bao gồm thông tin cần thiết
Mỗi Test Scenario nên có các yếu tố sau:
- Mã hoặc tên scenario: Để dễ dàng nhận diện.
- Mô tả kịch bản: Mô tả tóm tắt chức năng hoặc tính năng sẽ kiểm thử.
- Dữ liệu đầu vào (nếu cần): Chỉ định dữ liệu cần thiết cho kịch bản kiểm thử (nếu có).
- Kết quả mong đợi: Đưa ra kết quả dự kiến khi thực hiện kịch bản kiểm thử.
- Ghi chú: Mô tả thêm các lưu ý quan trọng (nếu cần).
4.5. Tạo nhiều Test Scenarios cho các tình huống khác nhau
Cố gắng tạo ra các Test Scenarios để bao quát tất cả các tình huống sử dụng và các trường hợp biên. Điều này giúp đảm bảo phần mềm được kiểm thử kỹ lưỡng từ mọi góc độ.
5. Ví dụ về cách viết Test Scenarios
5.1. Đăng nhập vào hệ thống thành công
- Mã/ Tên: SC001 – Đăng nhập thành công
- Mô tả kịch bản: Kiểm tra khả năng đăng nhập vào hệ thống với thông tin tài khoản hợp lệ.
- Dữ liệu đầu vào:
- Tên người dùng: user123
- Mật khẩu: password123
- Kết quả mong đợi:
- Hệ thống chuyển đến trang chủ và hiển thị tên người dùng.
- Hiển thị thông báo “Chào mừng, user123”.
5.2. Đăng nhập không thành công
- Mã/ Tên: SC002 – Đăng nhập không thành công (mật khẩu sai)
- Mô tả kịch bản: Kiểm tra khả năng đăng nhập khi nhập mật khẩu sai.
- Dữ liệu đầu vào:
- Tên người dùng: user123
- Mật khẩu: wrongpassword
- Kết quả mong đợi:
- Hệ thống hiển thị thông báo lỗi “Mật khẩu không đúng. Vui lòng thử lại.”
5.3. Đăng ký tài khoản mới
- Mã/ Tên: SC003 – Đăng ký tài khoản mới
- Mô tả kịch bản: Kiểm tra khả năng đăng ký tài khoản mới với thông tin hợp lệ.
- Dữ liệu đầu vào:
- Tên người dùng: newuser
- Mật khẩu: newpassword123
- Email: newuser@example.com
- Kết quả mong đợi:
- Hệ thống hiển thị thông báo “Đăng ký thành công, vui lòng đăng nhập.”
- Gửi email xác nhận đăng ký.
5.4. Kiểm tra quên mật khẩu
- Mã/ Tên: SC004 – Quên mật khẩu
- Mô tả kịch bản: Kiểm tra khả năng khôi phục mật khẩu khi người dùng quên mật khẩu.
- Dữ liệu đầu vào:
- Địa chỉ email: user123@example.com
- Kết quả mong đợi:
- Hệ thống gửi một liên kết khôi phục mật khẩu đến email đã đăng ký.
Lưu ý khi viết Test Scenarios:
- Bao quát và đơn giản: Test Scenarios nên bao quát đầy đủ các tình huống, nhưng cũng phải giữ tính đơn giản và dễ hiểu.
- Không quá chi tiết: Test Scenarios không nên đi vào chi tiết của từng bước kiểm thử, mà chỉ đưa ra các tình huống tổng quát. Chi tiết sẽ có trong Test Case.
- Dễ hiểu và dễ kiểm tra: Mỗi Test Scenario nên được viết sao cho dễ kiểm tra và dễ dàng xác minh kết quả.
- Cập nhật khi có thay đổi: Nếu có thay đổi trong yêu cầu hoặc tính năng, Test Scenarios cần được cập nhật cho phù hợp.
Tóm lại:
- Test Scenarios: Định nghĩa phạm vi kiểm thử, mang tính tổng quan.
- Test Case: Đi sâu vào chi tiết kiểm thử, bao gồm các bước cụ thể, dữ liệu đầu vào và kết quả mong đợi.
Cả hai đều quan trọng và thường được sử dụng kết hợp trong quy trình kiểm thử phần mềm.