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