Kiểm định phần mềm - Tạo test case
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
Bạn đang xem trước 20 trang tài liệu Kiểm định phần mềm - Tạo test case, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
*ThS Nguyễn Quốc Huy*Tạo test caseKiểm định phần mềmKhoa CNTT – Đại học Sài Gòn*ThS Nguyễn Quốc Huy*Tổng quanGiới thiệuUse-CaseSinh Test-caseBước 1: Kịch bảnBước 2: Xác định Test-caseBước 3: Xác định giá trị dữ liệu để test Thiết kế Test caseMụ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ử:Kiểm thử dựa trên yêu cầu - Requirements-based testingKiểm thử phân vùng - Partition testing.Kiểm thử cấu trúc - Structural testing.Kiểm dựa trên yêu cầu Requirements-based testingYê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úcStructural testingCò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úcStructural testingDữ liệu kiểm thửLấy Code thành phầnCác kiểm thửCác output kiểm thửTìm kiếm nhị phânPhâ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ảngMả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ânPhân vùng tương đươngTìm kiếm nhị phânPhân vùng tương đương*ThS Nguyễn Quốc Huy*Giới thiệu Use-caseLà một trong những lược đồ của UMLMô tả hệ thống ở mức quan niệmLà 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:ActorUse-caseBiênThông tin*ThS Nguyễn Quốc Huy*Giới thiệu Use-Case*ThS Nguyễn Quốc Huy*Giới thiệu Use-caseTên use-case: Tên ngắn gọn và dễ hiểuMô tả tóm tắt: vai trò và mục đíchLuồ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.*ThS Nguyễn Quốc Huy*Giới thiệu Use-casePhầ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ở*ThS Nguyễn Quốc Huy*Giới thiệu Use-case*ThS Nguyễn Quốc Huy*Luồng cơ sở Đăng kí khóa họcLog 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.*ThS Nguyễn Quốc Huy*Luồng cơ sở Đăng kí khóa họcChọ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áchChấ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.*ThS Nguyễn Quốc Huy*Luồng ngoài cơ sở tương ứngA1 - 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-caseA3 - Đ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.*ThS Nguyễn Quốc Huy*Luồng ngoài cơ sở tương ứngA4 - 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.*ThS Nguyễn Quốc Huy*Các kịch bảnKB1Luồng cơ sởKB2Luồng cơ sởA1KB3Luồng cơ sởA1A2KB4Luồng cơ sởA3KB5Luồng cơ sởA3A1KB6Luồng cơ sởA3A1A2KB7Luồng cơ sởA4KB8Luồng cơ sởA3A4*ThS Nguyễn Quốc Huy*Sinh Test-CaseTest-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: *ThS Nguyễn Quốc Huy*B1: Sinh đầy đủ các kịch bản của Use-caseTên kịch bảnBắt đầu luồngNgoài luồngĐăng kí thành côngLuồng cơ sởSV không xác địnhLuồng cơ sởA1Người dùng thoátLuồng cơ sởA2CSDL trục trặcLuồng cơ sởA4Kết thúc đăng kíLuồng cơ sởA5Không thể submitLuồng cơ sởA3*ThS Nguyễn Quốc Huy*B2: Xác định test-caseCó í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ụ: A3Ngoà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.*ThS Nguyễn Quốc Huy*B2: Xác định test-case*ThS Nguyễn Quốc Huy*B2: Xác định test-case*ThS Nguyễn Quốc Huy*B3: Xác định giá trị dữ liệuKhông có dữ liệu cụ thể thì không thể test.I: InvalidV: ValidN/A: not available (it is not necessary)*ThS Nguyễn Quốc Huy*B3: Xác định giá trị dữ liệu*ThS Nguyễn Quốc Huy*B3: Xác định giá trị dữ liệu*ThS Nguyễn Quốc Huy*Viết test-caseTừ 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.*ThS Nguyễn Quốc Huy*Thảo luậnSau 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?