Câu hỏi được đặt ra trong bài này là: Test suite, Test plan, Test scenario và Test case là những gì, có liên quan đến nhau ra sao?
Trước tiên, ta có thể tìm định nghĩa tổng quan của chúng thông qua chương trình học của ISTQB.
Tóm Tắt
Test Plan
Tài liệu tổng quan về việc test 1 project. Scope của project, hướng tiếp cận, STLC ( Software Testing Life Cycle ), resource và nhân lực cần có, những features cần được test và không phải test, những tool test và môi trường tự nhiên test cần có. Có thể ví test plan là 1 cái xương sống của 1 testing project và là cái được sẵn sàng chuẩn bị tiên phong khi có 1 project .
Test Case
Theo ISTQB Glossary of Testing Terms 2.1 ( ISTQB ) thì Test Case được định nghĩa như sau :
Test Case là một tập hợp các giá trị nhập, các điều kiện tiên quyết thực thi, các kết quả mong đợi và các điều kiện kết thúc, được xây dựng cho mục đích hoặc điều kiện kiểm thử riêng biệt, như thực hiện một đường dẫn chương trình riêng hoặc để kiểm tra lại đúng với yêu cầu của spec. [Theo IEEE 610]
Lưu ý rằng quy trình tăng trưởng test case hoàn toàn có thể giúp tìm ra lỗi trong những nhu yếu hoặc phong cách thiết kế của ứng dụng, vì nó yên cầu phải tư duy trọn vẹn trải qua những hoạt động giải trí của ứng dụng. Vì nguyên do này, việc chuẩn bị sẵn sàng test case sớm nhất hoàn toàn có thể trong quy trình tiến độ tăng trưởng ứng dụng là rất có ích .
Điều quan trọng khi thiết lập một Test Case :
- Ít step nhất có thể và chắc chắn rằng chỉ có 1 bước verify cần thực hiện.
- Expected result phải được miêu tả 1 cách rõ ràng. Một ví dụ cho việc mô tả không rõ ràng như sau: “test pass khi user login thành công”. Thành công như thế nào? điều gì chứng tỏ login thành công? App hay web sẽ redirect user tới screen nào? Điều gì xác định là user đã được login? Tất cả phải được nêu một cách RÕ RÀNG NHẤT CÓ THỂ. Điều này là tối quan trọng nếu bạn muốn test case có thể được automate.
- Pre-requisites phải được mô tả rõ ràng. Những features nào phải hoạt động trước khi test case có thể chạy? Tester phải làm gì trước khi bắt đầu test case? Test case nào cần phải pass trước khi có thể chạy test case hiện tại?
Phần mềm quản lý Test Case nổi tiếng: RedMine / RedCase
Test Scenario
Test scenario là 1 ngữ cảnh trong đó có chứa những test case tương quan đến ngữ cảnh đó. Test scenario đi sâu hơn vào chi tiết cụ thể của từng feature. Test scenario miêu tả cái cần test, chú ý quan tâm là cái cần test chứ không test như thế nào. Ở đây hoàn toàn có thể ví dụ một test scenario điển hình như : Test Login form và kiểm tra chắc như đinh rằng nó hoạt động giải trí như mong ước. Một test scenario hoàn toàn có thể gồm nhiều test case .
Test Scenario là tập hợp những testcase để test 1 form hoặc function, chỉ nêu mục tiêu, không riêng gì ra những step đơn cử. Còn test case thì có step đơn cử làm thế nào để test được .
Thí dụ:
Test Scenario: Kiểm tra chức năng Send email
Các Test Case nằm trong Test Scenario gồm :
+ Check phản ứng của Send button khi không có địa chỉ mail
+ Check phản ứng của Send button khi không có title
+ Check phản ứng của Send button khi nhập email không có trên serverTest scenario có thể bao gồm các test scenario nhỏ hơn bên trong.
(UC là use case, ví dụ như use case [admin], admin có thể quản lý bài viết, quản lý account; use case [member] thì edit account, đăng bài).Test case và Test Scenario. Loại nào ưu việt hơn?
Bất cứ ai làm về kiểm thử ứng dụng đều hiểu thế nào là Test Case nhưng rất ít bạn biết về Test Scenario .
Test Case được ví như những đơn vị chức năng nhỏ nhất của từng test project, như những tế bào của một khung hình sống. Trong khi đó Test Scenario đi sâu hơn vào cụ thể của từng feature .Khi dự án không có nhiều thời gian, Test Scenario sẽ là một lựa chọn tối ưu cho dự án. Và nó cũng vẫn đạt được hiệu quả cao như việc tạo Test Case. Bạn có thể “smoke test” (phương pháp kiểm thử nhanh) nhờ vào tập Test Scenario thay vì rà soát hàng ngàn Test Case.
Test Suite
Là một tập hợp các test case cho một mục đích nhất định, ví dụ như Regression Test Suite được chạy để verify những feature cũ.
- Bản chất của Test Suite là mô tả thật rõ ràng mục tiêu và đích đến của các trường hợp kiểm thử.
- Test Suite và Test Scenario hoàn toàn không liên quan đến nhau.
Rất nhiều tester lẫn lộn giữa test case và test scenario. Việc thực hiện test case cần chi tiết và chính xác tuyệt đối, không chung chung như scenario. Các bạn có thể thắc mắc rằng vì sao cần quá nhiều chi tiết cho test case như vậy, hoặc cảm thấy tốn thời gian khi soạn các test cases. Nên lưu ý rằng một project có rất nhiều phase. Có thể bạn test khi application đang được develop và chuyển qua project khác khi app đã “go live”. Những tester khác sẽ được hưởng lợi rất nhiều nếu người ta biết rõ bạn đã test những gì và test như thế nào thông qua những test case bạn đã soạn. Nên nếu có thể, hãy cụ thể hóa và document tất cả những gì bạn đã làm thông qua những thứ như Test Plan, Test Scenario và Test Case.Test suite rất hữu ích khi phân rã các chức năng lớn thành các chức năng nhỏ ở các cấp độ sâu hơn. Thí dụ ta s có Business Requirement gồm có chức năng Login, Send mail, Purchase. Với chức năng Purchase ta lại có 2 loại user ứng với mỗi kiểu purchase tương ứng.
Mô hình sẽ đi như sau:
BR_Login => UC_User =>TC1_TC5
BR_Sentmail => UC_User =>TC6_TC10
BR_Purchase => UC_NormalUser => TC11_TC20
BR_Purchase => UC_BusinessUser => TC21_TC30Test suite về thực chất là tương tự như như phân loại một tập hợp những thành phần. Việc phân loại giúp tất cả chúng ta lọc hoặc ” vớt nhanh ” những nhóm tương đương. Thí dụ tất cả chúng ta hoàn toàn có thể gán nhãn những Test Case ở nhiều module khác nhau vào một nhóm có tên là ” Tài khoản “. Nhóm này sẽ gồm có hàng loạt vòng đời của một thông tin tài khoản từ lúc tạo ra cho đến khi kích hoạt, đăng nhập và phê duyệt, khóa thông tin tài khoản … ở mạng lưới hệ thống quản trị ( Admin ) .
Thông thường, một test suite sẽ có một vài đặc thù chính sau :
- Test Suite được tạo ra sau test plan (kế hoạch kiểm thử)
- Test Suite bao gồm một số bài kiểm tra và trường hợp kiểm thử.
- Mô tả mục tiêu và đích đến của các trường hợp kiểm thử
- Test Suite bao gồm các thông số kiểm thử, như ứng dụng, môi trường, phiên bản, v.v…
- Có thể tạo ra Test Suite dựa trên test cycle (chu trình kiểm thử) cũng như test scope (Phạm vi kiểm thử)
- Bao gồm nhiều thể loại kiểm thử, như kiểm thử chức năng hoặc phi chức năng
- Giúp tăng hiệu suất của quá trình kiểm thử bằng cách giúp kiểm thử liên tục ở những vùng hoặc điểm “nóng” cần khoanh vùng. Tạo ra các tình huống khẩn cấp dễ dàng hơn là tìm kiếm những Test Case liên quan từ danh sách hàng ngàn Test Cases (dễ khiến bạn “tàu hỏa nhập ma”).
- Có thể được sử dụng bởi nhiều công cụ tự động như jUnit, Selenium, etc.
Tìm hiểu thêm: Test Suite là gì?
Công cụ quản lý Test Case
Có rất nhiều phần mềm có thể giúp bạn quản lý Test Cases, từ các bản có phí đắt tiền như JIRA cho đến miễn phí như RedMine. Bạn cũng có thể tìm kiếm cho mình một phần mềm Web trên PHP, chúng tôi đề nghị bạn có thể mua source của phần mềm sau để làm công cụ quản lý chuyên nghiệp:
https://codecanyon.net/item/qa-desk-simple-elegant-manual-test-management-tool/21985515
Các tính năng
- Built Using Laravel (7.x) PHP and AngularJS Framework (1.7.x).
- Based on Bootstrap HTML/CSS Framework.
- Responsive Layout.
- Ready to Use.
- Well documented.
- User friendly UI.
- Robust Admin Section
- Secure data handling.
- Manage manual testing process easily.
- Requirement Management.
- Test Plan Management.
- Test Suite Management.
- Test Case Management.
- Test Cycle Management.
- Test Execution Management.
- Issues Management.
- Notes Management
- Feasibility to create User Role with Permissions
- Dashboard to show work statistics graphically.
TIGO Solutions
Source: https://final-blade.com
Category : Kiến thức Internet