Nếu đã có kinh nghiệm trong ngành IT, hẳn nhiều người không còn lạ lẫm với khái niệm Test Type (các loại kiểm thử). Tuy nhiên, nếu mới tìm hiểu, nhiều bạn sẽ bối rối trước câu hỏi “Test Type là gì” và cách phân biệt các Test Type. Hãy cùng Got It Vietnam đi tìm câu trả lời qua bài viết hôm nay!
Mục lục
1. Test Type là gì?
Nói một cách đơn giản, Test Type có thể được hiểu là sự phân loại các hoạt động kiểm thử theo mục đích, chiến thuật kiểm thử. Mỗi Test Type sẽ gắn với một mục tiêu kiểm thử nhất định.
Có 4 mục tiêu kiểm thử chính. Tương đương với chúng, ta có 4 loại Test Type:
- Functional Testing (Kiểm thử chức năng)
- Non-functional Testing (Kiểm thử phi chức năng)
- Structural Testing (Kiểm thử cấu trúc)
- Change-related Testing (Kiểm thử thay đổi)
Chúng ta sẽ đi vào chi tiết những loại Test Type này trong phần tiếp theo của bài viết nhé!
2. Các Test Type chính
2.1. Functional Testing (Kiểm thử chức năng)
Functional Testing có thể bao gồm nhiều hình thức kiểm thử khác nhau, như: Unit Testing (Kiểm thử đơn vị), Integration Testing (Kiểm thử tích hợp), System Testing (Kiểm thử hệ thống) và một vài hình thức kiểm thử khác nữa.
Kiểm thử chức năng có thể được hiểu là một bài test xem phần mềm có thực hiện đúng chức năng hay không và được thực hiện trong mọi mức kiểm thử.
Functional Testing có thể được thực hiện bằng hai phương pháp sau:
- Kiểm thử dựa trên yêu cầu: Đây là cách tiếp cận sử dụng chính yêu cầu (requirement) để thiết kế bài kiểm thử. Đồng thời, các tester có thể sử dụng nội dung của yêu cầu để phân chia những phần cần hay không cần kiểm thử.
- Kiểm thử dựa trên bối cảnh thực tế: Có thể hiểu đây là cách tiếp cận dựa trên các bước thực tế khách hàng sử dụng phần mềm. Các use case sẽ trở nên hữu dụng trong quá trình kiểm thử phần mềm.
Functional Testing thường có 5 bước sau đây:
- Xác định các function mà bạn muốn phần mềm sẽ thực hiện.
- Tạo các dữ liệu đầu vào dựa trên các tài liệu đặc tả kỹ thuật của các function.
- Xác định các kết quả đầu ra dựa trên các tài liệu đặc tả kỹ thuật của các function.
- Thực hiện các trường hợp kiểm thử (Test Case)
- So sánh kết quả thực tế và kết quả mong muốn.
2.2. Non-functional Testing (Kiểm thử phi chức năng)
Kiểm thử phi chức năng giống kiểm thử chức năng ở chỗ cả hai đều xuất hiện trong mọi mức độ kiểm thử.
Nếu như Functional Testing hướng tới việc test toàn thể chức năng hoặc một chức năng cụ thể thì Non-functional Testing được thực hiện nhằm trả lời câu hỏi: “Phần mềm có hoạt động tốt không?”. Kiểm thử phi chức năng chú trọng nhiều hơn vào những khía cạnh khác của phần mềm, như là độ bảo mật và khả năng tải của phần mềm đó, ví dụ như bao nhiêu người có thể đăng nhập cùng 1 lúc.
Theo trang TryQA.com, Kiểm thử phi chức năng bao gồm:
- Performance Testing (Kiểm thử hiệu năng)
- Load Testing (Kiểm thử khả năng chịu tải)
- Stress Testing (Kiểm thử áp lực)
- Usability Testing (Kiểm thử khả năng sử dụng)
- Maintainability Testing (Kiểm thử khả năng bảo trì)
- Reliability Testing (Kiểm thử độ tin cậy)
- Portability Testing (Kiểm thử khả năng thích ứng)
2.3. Structural Testing (Kiểm thử cấu trúc)
Kiểm thử cấu trúc thường được coi là một loại white box testing. Quá trình này tập trung vào việc kiểm thử những gì đang diễn ra ở bên trong phần mềm hơn là về chức năng của phần mềm đó.
Khi kiểm thử cấu trúc, các tester cần có hiểu biết về quá trình xây dựng và phát triển của phần mềm này. Họ sẽ tập trung vào việc phần mềm thực hiện tác vụ như thế nào, hơn là chỉ tập trung vào chức năng của phần mềm.
Cũng giống như hai Test Type trên, Structural Testing cũng có thể được áp dụng trong mọi mức độ kiểm thử. Các Developer cũng có thể ứng dụng kiểm thử cấu trúc trong quá trình kiểm thử thành phần hoặc các mức độ thấp hơn trong kiểm thử thành phần.
Mục đích của kiểm thử thay đổi là để kiểm tra xem phần mềm có vận hành trơn tru sau những lần sửa lỗi hay không. Kiểm thử thay đổi gồm 2 loại chính:
- Confirmation Testing (Kiểm thử xác nhận): Thường Confirmation Testing sẽ diễn ra sau khi lỗi trong phần mềm đã được xác nhận và được sửa. Lúc này, vai trò của Kiểm thử xác nhận là để xem lỗi đã thực sự được sửa hay chưa. Các tester sẽ tiến hành bằng cách cho một input giống hệt ban đầu và test xem output có ra được như mong muốn hay không.
- Regression Testing (Kiểm thử hồi quy): Mục đích của kiểm thử hồi quy để xác nhận rằng các thay đổi trong phần mềm hoặc môi trường không gây ra bất lợi ngoài mong muốn và hệ thống vẫn đáp ứng các yêu cầu. Kiểm thử hồi quy được thực hiện khi phần mềm thay đổi, do sửa lỗi hoặc do chức năng mới. Việc thực thi Regression Testing cũng nên được cân nhắc khi môi trường xung quanh phần mềm có sự thay đổi.
3. Kết luận
Hy vọng qua bài viết này, Got It Vietnam đã giúp các kỹ sư trả lời được câu hỏi Test Type là gì, cũng như bổ sung với các bạn một vài kiến thức hữu dụng về các Test Type phổ biến.
Tìm hiểu thêm:
- Những câu hỏi thường gặp khi phỏng vấn Test Engineer
- Test case là gì? Viết test case như thế nào?
[…] Các loại Test Type cần biết […]