- vừa được xem lúc

Hướng dẫn xây dựng Testcase Chức năng

0 0 74

Người đăng: Trang Caos

Theo Viblo Asia

Để có một bộ Testcase hiệu quả, Tester cần xác định được những case sẽ được viết trong testcase của mình và thể hiện nó một cách rõ ràng,đầy đủ và dễ hiểu. Thông thường, một testcase rõ ràng sẽ được chia theo 2 phần: Test UI (Giao diện người dùng) và Test Functional (Chức năng). Test UI là thực hiện test về Bố cục, Màu sắc, Kiểu chữ, Đồ họa,...tất cả những gì thuộc về giao diện người dùng nhìn vào. Vậy còn Test Functional, làm thế nào để có một testcase chức năng tốt. Bài viết này sẽ giúp các bạn xây dựng được một testcase chức năng hiệu quả.

I. Bố cục testcase chức năng

Chia thành 3 phần chính:

  • Kiểm tra các ràng buộc trên màn hình, điều kiện hiển thị dữ liệu trên màn hình - Kiểm tra giá trị trong Combo (các giá trị hardcode hoặc có sự truy vấn dữ liệu trong cơ sở dữ liệu để kiểm tra) - Kiểm tra ràng buộc giữa các control (có sự truy vấn dữ liệu trong cơ sở dữ liệu để kiểm tra) - Kiểm tra ràng buộc, ẩn hay hiện button. - Kiểm tra các màn hình trung gian để thực hiện chức năng chính: ví dụ để thực hiện chức năng phải có màn hình popup - Kiểm tra danh sách, giá trị các trường hiển thị trên màn hình
  • Kiểm tra Constraint trong cơ sở dữ liệu.
    Ví dụ: Không rỗng, không trùng
  • Kiểm tra Constraint nghiệp vụ
    Note: Thứ tự sắp xếp các test case phải theo thứ tự tương ứng trên luồng trong tài liệu đặc tả yêu cầu: kiểm tra các luồng sự kiện phụ trước, cuối cùng là sự kiện chính

II. Cách viết

1. Cách 1: Các bước thực hiện chỉ mô tả các bước thực hiện đứng từ phía người dùng cuối bao gồm nhập dữ liệu, nhấn button. Việc kiểm tra dữ liệu trong DataBase so với hiển thị trên màn hình nằm ở kết quả mong muốn. Thường được dùng cho trường hợp kiểm thử kiểm tra lưu, cập nhật, xóa DataBase
2. Cách 2: Các bước thực hiện mô tả bao gồm các bước thực hiện đứng từ phía người dùng cuối và bước kiểm tra dữ liệu trong DataBase. Kết quả mong muốn so sánh dữ liệu hiển thị trên màn hình khớp với dữ liệu trong DataBase. Thường dùng cho các trường hợp kiểm thử tìm kiếm, báo cáo, check thông tin load từ DataBase lên màn hình

III. Hướng dẫn viết một số testcase Tìm kiếm, Thêm mới, Sửa, Xóa

1. Testcase chức năng Tìm kiếm

1.1. Validate giao diện:
- Không cần check validate các trường text box như maxlength, ...
- Chỉ cần validate các trường ngày tháng, combobox
- Luôn phải nhớ các case kiểm tra danh sách bao gồm tiêu đề các cột, căn lề, các tooltip và phân trang
1.2. Chức năng:
- Tìm kiếm theo giá trị mặc định (không nhập tiêu chí tìm kiếm nào)
- Tìm kiếm không ra kết quả
- Tìm kiếm theo từng tiêu chí đơn lẻ
- Tìm kiếm kết hợp các tiêu chí
1.3. Testcase tìm kiếm đơn lẻ
a. Đối với text box:
- Tìm kiếm khi nhập toàn ký tự khoảng trắng
- Tìm kiếm khi nhập chuỗi có chứa ký tự khoảng trắng đầu cuối
- Tìm kiếm khi nhập chuỗi có ký tự hoa thường
- Tìm kiếm khi nhập tiếng việt có dấu
- Tìm kiếm khi nhập các ký tự đặc biệt
b. Đối cới combobox:
- Tìm kiếm khi Combobox = ----Chọn---- Hoặc Tât cả
- Tìm kiếm khi chọn giá trị bất kỳ trong combobox
c. Đối với checkbox:
- Tìm kiếm khi check chọn 1 giá trị của Checkbox
- Tìm kiếm khi check chọn nhiều giá trị trong list của checkbox
d. Đối với radio button
- Tìm kiếm khi tích chọn 1 radio button
e. Đối với ngày tháng: Từ ngày
- Tìm kiếm khi nhập từ ngày là ngày hiện tại
- Tìm kiếm khi nhập từ ngày là 1 ngày bất kỳ
f. Đối với ngày tháng: Đến ngày
- Tìm kiếm khi nhập đến ngày là ngày hiện tại
- Tìm kiếm khi nhập đến ngày là 1 ngày bất kỳ
g. Đối với tìm kế hợp từ ngày – đến ngày
- Tìm kiếm khi nhập từ ngày = đến ngày
- Tìm kiếm khi nhập từ ngày , đến ngày
1.4. Testcase tìm kiếm kết hợp

  • Không thể viết tất cả các case là tổ hợp của các tiêu chí tìm kiếm
  • Viết các test case kết hợp lần lượt 2 tiêu chí, 3 tiêu chí, 4,5,... cho đến khi đủ tất cả các tiêu chí

2. Testcase chức năng Thêm mới

  • Kiểm tra hiển thị confirm trước khi thêm
  • Kiểm tra hủy bỏ thao tác thêm mới
  • Kiểm tra xác nhận thêm mới
  • Kiểm tra lưu vào DB
  • Kiểm tra check trùng,...
  • Kiểm tra chỉ nhập các trường bắt buộc
  • Kiểm tra nhập tất cả các trường đạt maxlength
  • Kiểm tra khi nhấn nút thêm mới liên tục

3. Testcase chức năng Sửa

3.1. Validate giao diện
Kiểm tra validate giống hệt khi thêm mới.Tuy nhiên case kiểm tra giá trị mặc định sẽ khác.Chú ý kiểm tra trường nào không được sửa (trường là khóa chính)
3.2. Chức năng
- Kiểm tra hiển thị confirm khi sửa
- Kiểm tra hủy thao tác sửa
- Kiểm tra khi xác nhận sửa
- Kiểm tra sửa khi không thay đổi dữ liệu nào

4. Testcase chức năng Xóa

  • Kiểm tra hiển thị thông báo khi xóa
  • Kiểm tra khi hủy bỏ thao tác xóa
  • Kiểm tra khi chưa chọn bản ghi cần xóa
  • Kiểm tra khi xóa thành công 1 bản ghi không có ràng buộc
  • Kiểm tra khi xóa không thành công 1 bản ghi không có ràng buộc
  • Kiểm tra khi xóa 1 số bản ghi có ràng buộc và 1 số bản ghi không có ràng buộc
  • Kiểm tra khi xóa tất cả các bản ghi (đều không có ràng buộc)

Kết luận:

Trên đây là một số trường hợp về các case chức năng khi bạn làm việc với màn hình có chức năng Thêm, Sửa, Xóa và Tìm kiếm. Việc xác định chi tiết các case sẽ giúp các bạn tránh được việc bỏ sót case trong quá trình test và trong lúc xây dựng testcase. Bài viết của mình còn nhiều thiếu xót, rất vui nếu mọi người comment để mình bổ sung và hoàn thiện cho các bài viết sau.

Cám ơn mọi người đã đọc!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 528

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 404

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 767

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 365

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 458

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 436