Giả sử mình có 1 trang web tìm kiếm người dùng với nhiều filter như username, birth year,... là những textbox.
Kết quả tìm kiếm hiển thị trong một datagrid.
Mình phải viết test case cho từng control với valid và invalid input. Hiện tại do công việc gấp gáp chỉ cần viết test case đơn giản giống như một test description.
Mình viết như sau:
Testcase 1: Verify all matched item are shown in the grid successful when inputted username is valid
Testcase 2: Verify no item is shown in grid when inputted invalid username.
Mấy anh chị giúp em chỉnh sửa sao cho câu em viết nó đúng và có ý nghĩa với. Em biết là cái test case cần phải viết các step ra nữa, nhưng do lead yêu cầu chỉ cần viết mục đích cần test. Chỉ khi nào là bug thì hãy viết step ra.
Xin giúp đỡ viết test case cho chức năng tìm kiếm
-
- Fresher Tester
- Posts: 10
- Joined: Tue 04 Jan, 2011 10:51 pm
- Contact:
-
- Admin
- Posts: 4900
- Joined: Tue 10 Aug, 2010 10:11 am
- Location: HCM
- Contact:
Re: Xin giúp đỡ viết test case cho chức năng tìm kiếm
Bạn ghi 2 dòng đó giống check list hơn là test case.
Mình có một số góp ý sau, viết bằng Tiếng Việt nhé
Mình viết theo cấu trúc: Điều kiện nhập và test => kết quả mong đợi
//Kiểm tra giao diện
1. Hiển thị khởi tạo màn hình => Các item trên màn hình nằm đúng vị trí và giá trị default so với thiết kế. (test layout màn hình)
//Kiểm tra câu lệnh SQL xem có query đúng với mong muốn của người dùng không
2. DB không có data, nhập thông tin gì cũng được vào username, birthyear,... => Hiển thị thông báo "No data found" (cái này tùy dự án)
3. DB có data, nhập thông tin username, birthyear,... không khớp với data trong DB => Hiển thị thông báo "No data found" (cái này tùy dự án)
4. DB có data, nhập thông tin username đúng, các điều kiện khác mặc định hoặc all => Hiển thị số record có username = giá trị đã nhập
5. DB có data, nhập thông tin birthyear đúng, các điều kiện khác mặc định hoặc all => Hiển thị số record có birthyear = giá trị đã nhập
... tương tự cho các điều kiện nhập khác (ở đây đang test search theo từng điều kiện riêng lẻ)
6. DB có data, nhập thông tin username và birthyear đúng, các điều kiện khác mặc định hoặc all => Hiển thị số record có username và birthyear = giá trị đã nhập
... tương tự cho các kết hợp điều kiện nhập khác (ở đây đang test search theo từng cặp điều kiện search)
//Kiểm tra hiển thị datagrid và phân trang, ví dụ datagrid chỉ hiển thị tối đa 20 records, nếu hơn 20 records thì hiển thị scroll dọc
7. Search không có data (0 record) => datagrid chỉ hiển thị header và không hiển thị scroll dọc
8. Search có 1 record => datagrid hiển thị header và 1 dòng record, các cột tương ứng với các field trong DB và không hiển thị scroll dọc
9. Search có 20 records => datagrid hiển thị header và 20 dòng và không hiển thị scroll dọc
10. Search có 21 records => datagrid hiển thị header và 20 dòng (record 1 đến 20) và hiển thị scroll dọc
11. Datagrid có 30 records, kéo scroll xuống dưới cùng => hiển thị từ record thứ 20 đến 30.
//Kiểm tra hiển thị datagrid và phân trang, ví dụ datagrid chỉ hiển thị tối đa 20 records, nếu hơn 20 records thì hiển thị phân trang
7. Search không có data (0 record) => datagrid chỉ hiển thị header, button Prev và Next disable
8. Search có 1 record => datagrid hiển thị header và 1 dòng record, các cột tương ứng với các field trong DB, button Prev và Next disable
9. Search có 20 records => datagrid hiển thị header và 20 dòng, button Prev và Next disable
10. Search có 21 records => datagrid hiển thị header và 20 dòng (record 1 đến 20), button Prev disable và button Next enable
11. Datagrid có 30 records, Click button Next => hiển thị từ record thứ 20 đến 30, button Prev chuyển sang enable và button Next disable
12. Datagrid có 50 records, Click button Next => hiển thị từ record thứ 20 đến 30, button Prev và button Next chuyển sang enable
13. Datagrid có 50 records, Đang ở trang 2, Click button Prev => hiển thị từ record thứ 1 đến 20, button Prev chuyển sang disable và button Next enable.
//Kiểm tra data nhiều hơn độ rộng của cột: mỗi cột là 1 test case
14. Data nhiều hơn độ rộng của cột => hiển thị "abcdef..." tương ứng với độ rộng của cột.
Mình chỉ nghĩ được vậy thôi, nhờ các bạn góp ý giúp bạn tramlang nữa nhé
Mình có một số góp ý sau, viết bằng Tiếng Việt nhé
Mình viết theo cấu trúc: Điều kiện nhập và test => kết quả mong đợi
//Kiểm tra giao diện
1. Hiển thị khởi tạo màn hình => Các item trên màn hình nằm đúng vị trí và giá trị default so với thiết kế. (test layout màn hình)
//Kiểm tra câu lệnh SQL xem có query đúng với mong muốn của người dùng không
2. DB không có data, nhập thông tin gì cũng được vào username, birthyear,... => Hiển thị thông báo "No data found" (cái này tùy dự án)
3. DB có data, nhập thông tin username, birthyear,... không khớp với data trong DB => Hiển thị thông báo "No data found" (cái này tùy dự án)
4. DB có data, nhập thông tin username đúng, các điều kiện khác mặc định hoặc all => Hiển thị số record có username = giá trị đã nhập
5. DB có data, nhập thông tin birthyear đúng, các điều kiện khác mặc định hoặc all => Hiển thị số record có birthyear = giá trị đã nhập
... tương tự cho các điều kiện nhập khác (ở đây đang test search theo từng điều kiện riêng lẻ)
6. DB có data, nhập thông tin username và birthyear đúng, các điều kiện khác mặc định hoặc all => Hiển thị số record có username và birthyear = giá trị đã nhập
... tương tự cho các kết hợp điều kiện nhập khác (ở đây đang test search theo từng cặp điều kiện search)
//Kiểm tra hiển thị datagrid và phân trang, ví dụ datagrid chỉ hiển thị tối đa 20 records, nếu hơn 20 records thì hiển thị scroll dọc
7. Search không có data (0 record) => datagrid chỉ hiển thị header và không hiển thị scroll dọc
8. Search có 1 record => datagrid hiển thị header và 1 dòng record, các cột tương ứng với các field trong DB và không hiển thị scroll dọc
9. Search có 20 records => datagrid hiển thị header và 20 dòng và không hiển thị scroll dọc
10. Search có 21 records => datagrid hiển thị header và 20 dòng (record 1 đến 20) và hiển thị scroll dọc
11. Datagrid có 30 records, kéo scroll xuống dưới cùng => hiển thị từ record thứ 20 đến 30.
//Kiểm tra hiển thị datagrid và phân trang, ví dụ datagrid chỉ hiển thị tối đa 20 records, nếu hơn 20 records thì hiển thị phân trang
7. Search không có data (0 record) => datagrid chỉ hiển thị header, button Prev và Next disable
8. Search có 1 record => datagrid hiển thị header và 1 dòng record, các cột tương ứng với các field trong DB, button Prev và Next disable
9. Search có 20 records => datagrid hiển thị header và 20 dòng, button Prev và Next disable
10. Search có 21 records => datagrid hiển thị header và 20 dòng (record 1 đến 20), button Prev disable và button Next enable
11. Datagrid có 30 records, Click button Next => hiển thị từ record thứ 20 đến 30, button Prev chuyển sang enable và button Next disable
12. Datagrid có 50 records, Click button Next => hiển thị từ record thứ 20 đến 30, button Prev và button Next chuyển sang enable
13. Datagrid có 50 records, Đang ở trang 2, Click button Prev => hiển thị từ record thứ 1 đến 20, button Prev chuyển sang disable và button Next enable.
//Kiểm tra data nhiều hơn độ rộng của cột: mỗi cột là 1 test case
14. Data nhiều hơn độ rộng của cột => hiển thị "abcdef..." tương ứng với độ rộng của cột.
Mình chỉ nghĩ được vậy thôi, nhờ các bạn góp ý giúp bạn tramlang nữa nhé
-
- Fresher Tester
- Posts: 41
- Joined: Tue 04 Jul, 2017 1:50 pm
- Contact:
Re: Xin giúp đỡ viết test case cho chức năng tìm kiếm
Có một cách tìm kiếm mà khác với cách trên nữa đó là tìm kiếm bất kỳ theo từ khóa trong Datagrid. Ví dụ như sau: Ở bảng dưới thì khi gõ số 777 vào ô search thì tất cả hàng có chứa số 777 đều hiển thị lên trên còn hàng nào mà không có thì biến mất.tvn wrote:Bạn ghi 2 dòng đó giống check list hơn là test case.
Mình có một số góp ý sau, viết bằng Tiếng Việt nhé
Mình viết theo cấu trúc: Điều kiện nhập và test => kết quả mong đợi
Vậy phải viết các ca kiểm thử trong trường hợp này như thế nào?
Người đi tìm miền đất hứa!
-
- Admin
- Posts: 4900
- Joined: Tue 10 Aug, 2010 10:11 am
- Location: HCM
- Contact:
Re: Xin giúp đỡ viết test case cho chức năng tìm kiếm
Trường hợp này thì có rất nhiều tổ hợp các cột với nhau. Nhưng cơ bản, thì mình có thể thử cách này.
Theo các bước sau:
Bước 1:
Theo các bước sau:
- 1. Áp dụng kỹ thuật phân vùng tương đương và phân tích giá trị biên để xác định các giá trị cần test cho mỗi cột (theo bảng kết quả). Dựa vào output
2. Kết hợp các giá trị xác định được từ bước 1
Bước 1:
- Tên tổ chức:
- không có 777
có 1 đoạn 777 ở đầu chuỗi
có 1 đoạn 777 ở giữa chuỗi
có 1 đoạn 777 ở cuối chuỗi
có 1 đoạn 777 (chỉ là 777)
có 2 đoạn 777 (trước và giữa)
có 2 đoạn 777 (trước và sau)
có 2 đoạn 777 (giữa và sau)
nếu thích thì thêm 3, 4 đoạn
- không có 777
có 1 đoạn 777 ở đầu chuỗi
có 1 đoạn 777 ở giữa chuỗi
có 1 đoạn 777 ở cuối chuỗi
có 1 đoạn 777 (chỉ là 777)
có 2 đoạn 777 (trước và giữa)
có 2 đoạn 777 (trước và sau)
có 2 đoạn 777 (giữa và sau)
nếu thích thì thêm 3, 4 đoạn
- không có 777
- TC1: Search 777 khi
- Tên tổ chức => không có 777
Địa chỉ => không có 777
...
- Tên tổ chức => không có 777
Địa chỉ => có 1 đoạn 777 ở đầu chuỗi
...
- Tên tổ chức => không có 777