Chương 5: State Transition Testing & Use Case Testing

49 4.5K 13
Chương 5: State Transition Testing & Use Case Testing

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thông tin kiểm chứng được là một trong ba quy định chính về nội dung của Wikipedia. Hai quy định còn lại là Wikipedia:Không đăng nghiên cứu chưa công bố . Thái độ trung lập. Kết hợp với nhau, các quy định này sẽ quyết định các nội dung thuộc thể loại và chất lượng nào thì được chấp nhận tại Wikipedia. Không nên hiểu các quy định này độc lập với nhau, các thành viên tham gia soạn thảo nên cố gắng kết hợp cả ba. Đây là tài liệu liên quan đến môn kiểm chứng.

Kiểm chứng phần mềm State Transition Testing & Use Case Testing State Transition Testing  Giúp kiểm tra sự thay đổi trạng thái của hệ thống  Gồm 3 bước  Mô hình hệ thống như một Máy trạng thái (Finite state machine) hoặc Lược đồ chuyển trạng thái (State transition diagram)  Lập Bảng trạng thái (State Table) để xem xét các bước chuyển trạng thái có thể gây lỗi (Invalid transition)  Thiết kế các ca kiểm thử từ Bảng trạng thái và Mô hình 1 1. State Transition Diagram  Đỉnh (State)  Một trạng thái của hệ thống  Cạnh (Transition)  Bước chuyển từ trạng thái này sang trạng thái khác của hệ thống  Sự kiện (Event)  Sự kiện khiến hệ thống thay đổi trạng thái  Hành động (Action)  Kết quả của việc chuyển trạng thái (vd thông báo lỗi…) 2  Nếu chưa có tài khoản khách hàng có thể yêu cầu mở tài khoản. Tài khoản ở trạng thái dư nợ khách hàng có thể yêu cầu nạp tiền và rút tiền. Nếu yêu cầu rút tiền nhiều hơn dư nợ hiện có tài khoản sẽ chuyển sang trạng thái thiếu nợ và chỉ khi khách hành nạp tiền nhiều hơn nợ hiện có thì mới trở lại trạng thái dư nợ. Khi yêu cầu đóng tài khoản nếu ở trạng thái dư nợ số dư sẽ bằng 0, nếu ở trạng thái thiếu nợ sẽ yêu cầu trả nợ. 3 Ví dụ: Sơ đồ trạng thái Tài khoản ngân hàng 4 2. State Transition Table  Liệt kê tất cả tổ hợp bước chuyển giữa các trạng thái, không nhất là bước chuyển hợp lệ  Ưu điểm: Giúp phát hiện các đường đi không hợp lệ giữa các trạng thái  Khuyết điểm: Bùng nổ tổ hợp trong trường hợp có nhiều trạng thái và sự kiện 5 Vd: Bảng trạng thái cho Tài khoản ngân hàng 6 3. Thiết kế Test case từ Bảng trạng thái #TC Precondition (State) Condition (Event) Expected Result (Action) Note TC1 Chưa có tài khoản Mở tài khoản Tài khoản được tạo với balance >=0 S1 => S2 TC2 Chưa có tài khoản Rút tiền Thông báo không tồn tại tài khoản S1 => S3 TC3 Chưa có tài khoản Đóng tài khoản Thông báo không tồn tại tài khoản S1 => S4 TC4 Tài khoản có balance >=0 Gửi tiền D Balance = balance + D S2 => S2 TC5 Tài khoản có balance >=0 Rút số tiền W <= balance Balance = balance – W >= 0 S2 => S2 7 3. Thiết kế Test case từ Bảng trạng thái #TC Precondition (State) Condition (Event) Expected Result (Action) Note TC6 Tài khoản có balance >=0 Rút số tiền W > balance Balance = (balance – W ) < 0 S2 => S3 TC7 Tài khoản có balance >=0 Đóng tài khoản Tài khoản bị đóng Balance = 0 S2 => S4 TC8 Tài khoản có balance < 0 Gửi tiền D + Balance >=0 Balance = Balance + D >= 0 S3 => S2 TC9 Tài khoản có balance < 0 Gửi tiền D + Balance < 0 Balance = Balance + D < 0 S3 => S3 TC10 Tài khoản có balance < 0 Write bad debit Tài khoản ghi nợ S3 => S4 8 3. Thiết kế Test case từ Bảng trạng thái (tt) #TC Precondition (State) Condition (Event) Expected Result (Action) Note TC11 Tài khoản ghi nợ Gửi tiền D + Balance >= 0 Balance = Balance + D >= 0 S4 => S2 TC12 Tài khoản ghi nợ Gửi tiền D + Balance < 0 Balance = Balance + D < 0 S4 => S3 TC13 Tài khoản bị đóng Gửi tiền Thông báo tài khoản đã bị đóng S4 => S2 TC14 Tài khoản ghi nợ Rút tiền Thông báo tài khoản ghi nợ S4 => S3 TC15 Tài khoản bị đóng Rút tiền Thông báo tài khoản đã bị đóng S4 => S3 TC16 Tài khoàn ghi nơ Đóng tài khoản Thông báo tài khoản ghi nợ S4 => S4 TC17 Tài khoàn bị đóng Đóng tài khoản Thông báo tài khoản đã bị đóng S4 => S4 9 [...]... món hàng bạn muốn bỏ bớt)  Yêu cầu:  Đưa ra sơ đồ trạng thái - state diagram – cho thấy các trạng thái/states và sự chuyển tiếp /transition khác Xác định test case – một loạt các trạng thái – bao phủ toàn bộ các chuyển tiếp  Đưa ra một bảng trạng thái Cho một ví dụ kiểm thử trường hợp chuyển tiếp không hợp lệ 13 Use Case Testing  Use Case: mô tả một chuỗi các hành động của người dùng hoặc hệ thống... Flow Alternate Flow 4 S8 Basic Flow Alternate Flow 3 Alternate Flow 2 Alternate Flow 2 Alternate Flow 4 17 Thiết kế Test Case từ Use Case  Xác định tất cả Scenario từ Use Case  Với mỗi Scenario xác định ít nhất 1 Test Case và tập điều kiện để TC có thể thực thi  Với mỗi Test Case xác định dữ liệu kiểm thử (Test Data) cho việc kiểm thử 18 Vd: Đăng ký học phần  Basic Flow 1 2 3 4 5 6 Logon Select... Scenario 3 – User quits Basic Flow Alternate Flow 2 Scenario 4 – Course Catalog System Unavailable Basic Flow Alternate Flow 4 Scenario 5 – Registration Closed Basic Flow Alternate Flow 5 Scenario 6 – Cannot enroll Basic Flow Alternate Flow 3 22 Xác định Test Case  Xác định input cho từng bước (Step) của Use case  Xác định miền giá trị cho từng input  Kết hợp miền giá trị của input cho từng Test Case 23...3 Thiết kế Test Case từ Mô hình trạng thái  Tạo tập Test case phủ  Tất cả các trạng thái (Đỉnh)  Tất cả các bước chuyển trạng thái (Cạnh) 10 Test Case phủ tất cả các đỉnh 11 Test Case phủ tất cả các cạnh 12 Bài tập  Giỏ hàng trên một trang mua bán trực tuyến được bắt đầu với trạng thái là rỗng (không... flow 2     Special requirements Preconditions Post-conditions Activity diagram 14 Flow of Events  Scenario: một chuỗi các sự kiện từ lúc bắt đầu đến kết thúc 1 Use Case 15 Xác định Scenario  Basic Flow  Combination of Basic Flow & Alternate Flows  Combination of Alternate Flows 16 Scenario Scenario Starting Flow Alternate Flow S1 Basic Flow S2 Basic Flow Alternate Flow 1 S3 Basic Flow Alternate... Prerequisites Fulfilled  Schedule Open  Course Open  B4  Course Selected 24 25 Xác định Test Data  Xác định giá trị cụ thể của từng input của mỗi Test case 26 27 Kiểm chứng phần mềm White-box testing Kiểm thự hộp trắng  Structural/Clear box/Glass box testing  Thiết kế các trường hợp kiểm thử dựa vào cấu trúc của thủ tục để suy dẫn các trường hợp cần kiểm thử  Nguyên tắc  Thực hiện mọi đường dẫn... thự hộp trắng  2 hướng tiếp cận  Kiểm thử đường dẫn cơ sở (Basic path testing)  Kiểm thử cấu trúc điều kiện (Control structure testing) 30 Nhập môn kiểm thử phần mềm 5/19/2014 Kiểm thử đường dẫn cơ sở  Đảm bảo tất cả đường dẫn độc lập (independent path) điều được kiểm thử  Đường dẫn độc lập là đường dẫn đi từ đầu đến cuối chương trình mà không chứa đường dẫn độc lập khác  Tập đường dẫn độc lập... sở  Các bước thực hiện  Bước 1: Vẽ đồ thị lưu trình (flowgraph)  Bước 2: Xác định độ phức tạp Cyclomat của đồ thị lưu trình  Bước 3: Xác định tập cơ sở các đường dẫn độc lập  Bước 4: Thiết kế test case cho mỗi đường dẫn độc lập 32 Nhập môn kiểm thử phần mềm 5/19/2014 Kiểm thử đường dẫn cơ sở  Bước 1: vẽ đồ thị lưu trình 33 Kiểm thử đường dẫn cơ sở  Bước 2: Xác định độ phức tạp cyclomat  cho biết... = 2+1 = 3  V(G) = E(số cạnh)–N(số đỉnh)+2 = 10-9+2 = 3 34 Nhập môn kiểm thử phần mềm 5/19/2014 Kiểm thử đường dẫn cơ sở  Bước 3: tìm tập cơ sở các đường dẫn độc lập  Tìm 1 đường dẫn từ đầu đến cuối chương trình  Tìm đường dẫn mới có đi qua một cạnh mới mà không trùng với các đường dẫn trước đó  Làm cho đến khi đủ số lượng đường dẫn  Ví dụ:  Đường dẫn 1: S1C1S3C2S5  Đường dẫn 2: S1C1S2 . D + Balance < 0 Balance = Balance + D < 0 S3 => S3 TC10 Tài khoản có balance < 0 Write bad debit Tài khoản ghi nợ S3 => S4 8 3. Thiết kế Test case từ Bảng trạng thái (tt) #TC Precondition. Flow Alternate Flow 1 S3 Basic Flow Alternate Flow 1 Alternate Flow 2 S4 Basic Flow Alternate Flow 3 S5 Basic Flow Alternate Flow 3 Alternate Flow 1 S6 Basic Flow Alternate Flow 3 Alternate Flow 1 Alternate. Balance + D < 0 S4 => S3 TC 13 Tài khoản bị đóng Gửi tiền Thông báo tài khoản đã bị đóng S4 => S2 TC14 Tài khoản ghi nợ Rút tiền Thông báo tài khoản ghi nợ S4 => S3 TC15 Tài khoản bị đóng Rút

Ngày đăng: 12/07/2014, 20:00

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan