Tạo test case
Kiểm định phần mềm Khoa CNTT – Đại học Sài Gòn
07/04/16 ThS Nguyễn Quốc Huy 1
Tổng quan
Giới thiệu Use-Case Sinh Test-case
Bước 1: Kịch bản Bước 2: Xác định Test-case Bước 3: Xác định giá trị dữ liệu để test
07/04/16 ThS Nguyễn Quốc Huy 2
Thiết kế Test case
Mục đích của quy trình thiết kế kiểm thử là tạo ra 1 bộ các trường hợp kiểm thử hiệu quả trong việc thực thi kiểm thử.
Những phương pháp tiếp cận để thiết kế kiểm thử: 1. Kiểm thử dựa trên yêu cầu - Requirements-based testing 2. Kiểm thử phân vùng - Partition testing. 3. Kiểm thử cấu trúc - Structural testing.
Kiểm dựa trên yêu cầu Requirements-based testing
Yêu cầu phải khả thi trong việc kiểm thử. Kiểm thử dựa trên yêu cầu là một kỹ thuật kiểm thử phê
chuẩn.
Xem xét mỗi yêu cầu và tạo ra kiểm thử cho yêu cầu đó.
Kiểm thử cấu trúc Structural testing
Còn được gọi là kiểm thử hộp trắng. Các trường hợp kiểm thử là dựa theo
cấu trúc của chương trình.
Hiểu biết chương trình thì có thể xác định được các trường hợp kiểm thử. Mục đích là kiểm thử tất cả các câu
lệnh của chương trình.
Kiểm thử cấu trúc Structural testing
ữ ệ D li u ử ể ki m th
ử
ể Các ki m th
L y ấ
ử
ể
Code thành ph nầ
Các output ki m th
Tìm kiếm nhị phân Phân vùng tương đương
Điều kiện trước thỏa, phần tử khóa trong mảng. Điều kiện trước thỏa, phần tử khóa không trong mảng. Điều kiện trước không thỏa, phần tử khóa trong mảng Điều kiện trước không thỏa, phần tử khóa không trong
mảng
Mảng đầu vào có 1 giá trị. Mảng đầu vào có những giá trị chẵn. Mảng đầu vào có những giá trị lẻ.
Tìm kiếm nhị phân Phân vùng tương đương
Tìm kiếm nhị phân Phân vùng tương đương
Giới thiệu Use-case
Là một trong những lược đồ của UML Mô tả hệ thống ở mức quan niệm Là cơ sở để phân tích xuống mức vật lý Có 4 thành phần tạo thành use case:
Actor Use-case Biên Thông tin
07/04/16 ThS Nguyễn Quốc Huy 10
Giới thiệu Use-Case
07/04/16 ThS Nguyễn Quốc Huy 11
Giới thiệu Use-case
Tên use-case: Tên ngắn gọn và dễ hiểu Mô tả tóm tắt: vai trò và mục đích Luồng sự kiện: Mô tả những gì mà hệ thống làm
việc với use-case. Cần rõ ràng.
Yêu cầu đặc biệt: Mô tả thêm yêu cầu phi chức
năng.
Điều kiện trước: Các ràng buộc khi use-case có
thể khởi động.
Điều kiện sau: Các ràng buộc khi use-case sẽ kết
thúc.
07/04/16 ThS Nguyễn Quốc Huy 12
Giới thiệu Use-case
Phần quan trọng nhất của Use-case cho việc
sinh test-case là luồng các sự kiện.
Có 2 phần chính: Luồng cơ sở Luồng ngoài cơ sở
07/04/16 ThS Nguyễn Quốc Huy 13
Giới thiệu Use-case
07/04/16 ThS Nguyễn Quốc Huy 14
Luồng cơ sở Đăng kí khóa học
Log on: Use-case sẽ khởi động khi sinh viên đăng nhập hệ thống. Hệ thống sẽ hỏi student ID và password.
Chọn mục “Tạo TKB”: Hệ thống sẽ hiển thị các chức năng available cho sinh viên. Sinh viên chọn mục “Tạo TKB”.
Nhận thông tin khóa học: Hệ thống lấy
danh sách các khóa học available từ CSDL và hiển thị lên cho Sinh viên xem.
07/04/16 ThS Nguyễn Quốc Huy 15
Luồng cơ sở Đăng kí khóa học
Chọn khóa học: Sinh viên chọn 4 khóa học
chính và 2 khóa tự chọn từ danh sách
Chấp nhận TKB: Đối với mỗi khóa học được
chọn, hệ thống sẽ kiểm tra điều kiện tiên quyết và chấp nhận.
Hiển thị TKB sau khi chấp nhận: Hệ thống hiển thị thời khóa biểu với đầy đủ các khóa học được chọn trong danh sách.
07/04/16 ThS Nguyễn Quốc Huy 16
Luồng ngoài cơ sở tương ứng
A1 - Sinh viên không xác định: Ở bước
Log on, nếu Student ID hay password không hợp lệ thì hiển thị thông báo lỗi.
A2 - Thoát: Do có thể thoát bất cứ lúc nào. Sinh viên có thể lưu TKB chưa hoàn chỉnh trước khi thoát. Kết thúc Use-case
A3 - Điều kiện tiên quyết chưa thỏa, khóa học đầy, hay TKB xung đột: Thông báo chọn lại.
07/04/16 ThS Nguyễn Quốc Huy 17
Luồng ngoài cơ sở tương ứng
A4 - CSDL trục trặc: Hiển thị thông báo và
kết thúc Use-case.
A5 - Kết thúc đăng kí: Hiển thị thông báo, và
kết thúc Use-case.
07/04/16 ThS Nguyễn Quốc Huy 18
Các kịch bản
KB1 Luồng cơ sở
KB2 Luồng cơ sở
A1
KB3 Luồng cơ sở
A1
A2
KB4 Luồng cơ sở
A3
KB5 Luồng cơ sở
A3
A1
KB6 Luồng cơ sở
A3
A1
A2
KB7 Luồng cơ sở
A4
KB8 Luồng cơ sở
A3
A4
07/04/16 ThS Nguyễn Quốc Huy 19
Sinh Test-Case
Test-case là tập các đầu vào, điều kiện thi
hành, kết quả mong chờ.
Mục tiêu test-case là xác định và thực hiện
các điều kiện.
Test-case cần thẩm tra việc thi hành đúng và
được chấp nhận của các Use-case.
Có 3 bước để sinh test-case từ Use-case:
07/04/16 ThS Nguyễn Quốc Huy 20
B1: Sinh đầy đủ các kịch bản của Use-case
Tên kịch bản
Bắt đầu luồng
Ngoài luồng
Đăng kí thành công
Luồng cơ sở
SV không xác định
Luồng cơ sở
A1
Người dùng thoát
Luồng cơ sở
A2
CSDL trục trặc
Luồng cơ sở
A4
Kết thúc đăng kí
Luồng cơ sở
A5
Không thể submit
Luồng cơ sở
A3
07/04/16 ThS Nguyễn Quốc Huy 21
B2: Xác định test-case
Có ít nhất 1 test-case cho 1 kịch bản. Thông thường 1 kịch bản có nhiều test-case.
Ví dụ: A3
Ngoài ra còn có test-case xét điều kiện biên. Xác định các thành phần dữ liệu đầu vào.
07/04/16 ThS Nguyễn Quốc Huy 22
B2: Xác định test-case
07/04/16 ThS Nguyễn Quốc Huy 23
B2: Xác định test-case
07/04/16 ThS Nguyễn Quốc Huy 24
B3: Xác định giá trị dữ liệu
Không có dữ liệu cụ thể thì không thể test. I: Invalid V: Valid N/A: not available (it is not necessary)
07/04/16 ThS Nguyễn Quốc Huy 25
B3: Xác định giá trị dữ liệu
07/04/16 ThS Nguyễn Quốc Huy 26
B3: Xác định giá trị dữ liệu
07/04/16 ThS Nguyễn Quốc Huy 27
Viết test-case
Từ các kịch bản đã có và các thành phần dữ
liệu, tổ hợp ra các test case.
Test-case phải dể hiểu, step by step, đủ để
mọi người đều có thể test.
Các test-case được sinh ra từ 1 use-case có
thể gọi là test-suite.
07/04/16 ThS Nguyễn Quốc Huy 28
Thảo luận
Sau giai đoạn tạo ra test-case là gì? Một test case dài tối đa bao nhiêu là vừa? Có bao nhiêu cách trình bày test-case? Có thể viết công cụ để tự động sinh test-case
từ Use-case không?
Dùng ngoại ngữ gì để viết test-case?
07/04/16 ThS Nguyễn Quốc Huy 29

