Các loại test case trong kiểm thử phần mềm
Bài đăng này đã không được cập nhật trong 3 năm
Đảm bảo chất lượng phần mềm liên quan đến các cạnh tiếp cận khác nhau đến việc kiểm thử. Gần như là không thể kiểm thử tất cả mọi thứ nhưng chắc chắn bạn có thể tiến lại gần với việc đó bằng cách thu hẹp trong những loại test case khác nhau để thực hiện với những yêu cầu riêng biệt. Để tìm ra loại nào dùng để kiểm thử với mục đích gì, bạn cần cân nhắc tất cả các loại kiểm thử khác nhau và lọc ra những test case phù hợp nhất giúp bạn đạt được sản phẩm với chất lượng tốt nhất.
Có thể xảy ra trùng lặp giữa phạm vi của cái này với cái kia nhưng nhìn chung, mỗi loại kiểm thử phần mềm và mỗi hạng mục của test case đều có mục đích riêng biệt. Ở bài này, ta sẽ cùng có cái nhìn về các loại test case chung nhất trong cả thế giới kiểm thử phần mềm.
Các loại test case khác nhau:
Functionality Test Cases (Test case chức năng)
Test case chức năng được sử dụng để tìm ra liệu giao diện của ứng dụng có làm việc với phần còn lại của hệ thống và người dùng hay không. Các kiểm thử nhận ra thành công hay thất bại của chức năng mà phần mềm được mong muốn thực hiện. Các case trong đó là 1 loại của black-box testing sử dụng đặc tả hay user stories của phần mềm để kiểm thử. Điều này cho phép các kiểm thử được thực hiện mà không cần truy cập vào cấu trúc bên trong của phần mềm được kiểm thử. Đội QA là tác giả thường xuyên của test case chức năng vì chúng thường bị lỗi trong quá trình QA thông thường. Chúng có thể được viết và chạy ngay khi người phát triển tạo ra chức năng đầu tiên sẵn sàng cho việc kiểm thử. Như đã mô tả ở trên, chúng có thể được viết và chạy ngay khi nó có thể. Chúng cũng nên được nhắc lại bất cứ khi nào có thay đổi được thêm vào. Ví dụ: Việc xác nhận người dùng có thể tải thành công ảnh nhận diện.
User Interface Test Cases (Test case giao diện người dùng)
Test case giao diện người dùng được sử dụng để xác minh rằng các phần cụ thể của giao diện người dùng đồ họa (GUI) nhìn và làm việc có như mong đợi hay không. Các loại test case này có thể được sử dụng để xác định mâu thuẫn thẩm mỹ, lỗi ngữ pháp và chính tả, liên kết và bất kỳ phần tử nào người dùng tương tác hoặc nhìn thấy. Những case này thường được viết bởi nhóm thử nghiệm nhưng nhóm thiết kế cũng có thể tham gia vì họ quen thuộc nhất với giao diện. Các test case giao diện người dùng là các loại test case trong kiểm thử phần mềm thường kiểm tra qua trình duyệt. Các trình duyệt có xu hướng làm việc một cách khác biệt và các test case giao diện người dùng giúp đảm bảo ứng dụng của bạn luôn hoạt động trên nhiều trình duyệt. Các test case này sẽ được chạy khi giai đoạn phát triển hoàn tất và UI được kết nối với cơ sở dữ liệu. Ví dụ: Điều gì sẽ xảy ra khi trang web được xem trên màn hình nhỏ như điện thoại di động? Lúc đó UI có bị phá vỡ?
Performance Test Cases (Test case hiệu suất)
Các test case hiệu suất xác nhận thời gian phản hồi và hiệu quả tổng thể của một ứng dụng. Nghĩa là, sau khi thực hiện một hành động, phải mất bao lâu để hệ thống trả về? Các test case hiệu suất phải có một bộ tiêu chí thành công rõ ràng. Nhóm kiểm thử thường viết những trường hợp thử nghiệm này và chúng thường được chạy tự động. Một ứng dụng lớn có thể có hàng trăm hoặc hàng ngàn kiểm thử hiệu suất. Việc chạy tự động các kiểm thử này thường xuyên giúp chúng ta phơi bày các tình huống mà ứng dụng không thực hiện ở mức mong đợi. Các test case hiệu suất giúp hiểu cách ứng dụng sẽ hoạt động trong thế giới thực. Các trường hợp này có thể được viết khi nhóm thử nghiệm có yêu cầu về hiệu suất từ nhóm sản phẩm. Tuy nhiên, nhiều vấn đề về hiệu suất có thể được xác định bằng tay mà không cần yêu cầu cụ thể. Ví dụ: Phải mất bao lâu để hệ thống xác thực người dùng và tải trang tiếp theo? Khi nhiều người đăng nhập vào cùng một thời điểm, ứng dụng có giữ ổn định không?
Integration Test Cases (Test case tích hợp)
Test case tích hợp có nghĩa là để xác định các mô đun khác nhau tương tác với nhau như thế nào. Mục đích chính với test case tích hợp là đảm bảo các giao diện giữa các mô đun khác nhau đang hoạt động bình thường. Nhóm kiểm thử xác định những khu vực nào cần trải qua thử nghiệm tích hợp, trong khi đội phát triển sẽ có đầu vào về cách viết các trường hợp kiểm tra đó. Một trong hai đội này có thể làm việc để viết các trường hợp. Họ xác minh rằng các mô-đun đã làm việc riêng lẻ cũng có thể làm việc cùng nhau. Ví dụ: Kiểm tra liên kết giữa trang chủ và phần "yêu thích". Khi bạn thêm mục dưới dạng "yêu thích", từ trang chủ, nó có xuất hiện trong phần "yêu thích" không?
Usability Test Cases (Test case tính khả dụng)
Test case tính khả dụng thường có thể được gọi là "nhiệm vụ" hoặc "kịch bản". Thay vì cung cấp hướng dẫn từng bước chi tiết để thực hiện kiểm thử, người kiểm thử được trình bày với một kịch bản hoặc công việc cao cấp để hoàn thành. Các test case tính khả dụng giúp xác định cách người dùng tiếp cận và sử dụng ứng dụng một cách tự nhiên. Chúng giúp hướng dẫn người kiểm thử thông qua các tình huống và luồng khác nhau. Không có kiến thức trước về ứng dụng là cần thiết. Những test case này thường được chuẩn bị bởi đội ngũ thiết kế cùng với nhóm thử nghiệm. Kiểm thử tính khả dụng phải được thực hiện trước kiểm thử chấp nhận của người dùng. Ví dụ: Người dùng có thể thêm nhiều mục vào giỏ hàng của họ không? Kinh nghiệm ở đây là gì?
Database Test Cases (Test case cơ sở dữ liệu)
Test case kiểm thử cơ sở dữ liệu nhằm kiểm tra xem điều gì đang xảy ra đằng sau hậu trường.Giao diện người dùng là sạch, và mọi thứ dường như đang làm việc ... nhưng Tất cả những dữ liệu đó đi đâu? Để viết các test case này, bạn cần hiểu rõ về toàn bộ ứng dụng, bảng cơ sở dữ liệu và các thủ tục được lưu trữ. Nhóm kiểm thử thường sẽ sử dụng các truy vấn SQL để phát triển các test case cơ sở dữ liệu. Kiểm thử cơ sở dữ liệu được sử dụng để xác minh rằng nhà phát triển đã viết code theo cách lưu trữ và xử lý dữ liệu một cách nhất quán, an toàn. Ví dụ: Chúng ta hãy xem xét việc tạo hồ sơ người dùng. Khi người dùng nộp hồ sơ của họ, những điều sau đây cần được kiểm tra liên quan đến cơ sở dữ liệu.
- Ứng dụng có lưu trữ các dữ liệu đã nhập vào cơ sở dữ liệu?
- Trong suốt tiến trình có dữ liệu nào bị mất không?
- Một phần dữ liệu đã thực hiện không nên được lưu lại.
- Người dùng trái phép không được xem hoặc truy cập thông tin của người dùng.
Security Test Cases (Test case bảo mật)
Các test case bảo mật giúp đảm bảo ứng dụng hạn chế các hành động và quyền hạn ở bất cứ nơi nào cần thiết. Các test case này được viết để bảo vệ dữ liệu khi nào và ở đâu cần được bảo vệ. Các test case bảo mật được sử dụng để thúc đẩy kiểm tra thâm nhập và các loại thử nghiệm dựa trên bảo mật khác. Xác thực và mã hóa thường là trọng tâm chính trong các trường hợp kiểm tra bảo mật. Nhóm bảo mật (nếu có) thường chịu trách nhiệm cho việc viết và thực thi kiểm thử này. Ví dụ: Nếu người dùng đạt đến số lần đăng nhập không thành công, tài khoản có bị khóa không? Người dùng có thể tải dữ liệu lên khi không đăng nhập không?
User Acceptance Test Cases (Test case chấp nhận người dùng : UAT)
UAT giúp đội kiểm thử kiểm tra được môi trường thử nghiệm mà người dùng chấp nhận. Những trường hợp thử nghiệm này nên rộng, bao gồm tất cả các lĩnh vực của ứng dụng. Mục đích của các test case này không phải là để tìm lỗi (hy vọng chúng đã được tìm thấy và sửa ở giai đoạn kiểm thử trước), mà là để xác minh ứng dụng được chấp nhận từ phía người dùng.Vì vậy, khi họ thực hiện kiểm thử, kết quả của kiểm thử đó và kinh nghiệm của kiểm thử đó có thể chấp nhận được không? Vì nhiều loại kiểm thử khác đã được thực hiện vào thời điểm UAT bắt đầu. UAT được sử dụng bởi người dùng cuối hoặc khách hàng và do nhóm kiểm thử hoặc người quản lý sản phẩm chuẩn bị. Đây có lẽ là giai đoạn kiểm thử quan trọng nhất vì nó là bước cuối cùng trước khi được đưa lên môi trường thật. Ví dụ: Với một ứng dụng quản lý ảnh cho studio ảnh, khách hàng (người dùng) nên kiểm tra rằng họ có thể tải lên và quản lý ảnh của họ theo cách phù hợp với nhu cầu kinh doanh của họ.
Tổng kết
Các kiểm thử đều có hình dạng và kích cỡ khác nhau.Tùy thuộc vào loại kiểm thử được viết, bạn có thể cần một nền tảng kỹ thuật nhiều hơn, hoặc một trong UX để có viết một trường hợp thử nghiệm tốt một cách hiệu quả. Mỗi loại kiểm thử phần mềm yêu cầu loại test case khác nhau. Bằng cách xem xét các test case ở trên khi bạn thiết kế kiểm thử của mình, bạn sẽ tối đa hóa phạm vi kiểm thử và đi đến bản phát hành với sự tự tin hơn.
Nguồn tham khảo : https://blog.testlodge.com/types-of-test-cases-in-software-testing/
All rights reserved