DSpace at VNU: Cơ sở toán học cho các kỹ thuật kiểm thử phần mềm

20 174 0
DSpace at VNU: Cơ sở toán học cho các kỹ thuật kiểm thử phần mềm

Đ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

DSpace at VNU: Cơ sở toán học cho các kỹ thuật kiểm thử phần mềm tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án...

sở toán học cho kỹ thuật kiểm thử phần mềm Dương Thị Phượng Trường Đại học Khoa học Tự nhiên Luận văn ThS chuyên ngành: Bảo đảm toán cho máy tính hệ thống tính tốn Mã số: 60 46 35 Người hướng dẫn: TS Phạm Ngọc Hùng Năm bảo vệ: 2012 Abstract: Tìm hiểu kỹ thuật kiểm thử nhằm đảm bảo chất lượng phần mềm Tập trung nghiên cứu sở toán học phương pháp phân hoạch tương đương (một kỹ thuật kiểm thử hộp đen) phương pháp kiểm thử luồng điều khiển (một kỹ thuật kiểm thử hộp trắng) Áp dụng kỹ thuật nhằm kiểm thử số chương trình đơn giản Keywords: Hệ thống tính tốn; Kiểm thử phần mềm; sở toán học Content MỞ ĐẦU 1.1 Đặt vấn đề Việc phát triển phần mềm ngày hỗ trợ nhiều công cụ tiên tiến giúp cho việc xây dựng phần mềm hiệu hơn, với chất lượng tốt Tuy nhiên, độ phức tạp phần mềm giới hạn thời gian chi phí, cho dù hoạt động đảm bảo chất lượng phần mềm nói chung kiểm thử phần mềm nói riêng ngày chặt chẽ khoa học, chung ta khó khăn việc đảm bảo tính đắn sản phẩm phần mềm Lỗi tiềm ẩn sản phẩm phần mềm gây thiệt hại khơn lường triển khai chúng thực tế [13] 1.2 Nội dung nghiên cứu Nhằm tìm hiểu sở tốn học phương pháp kiểm thử, luận văn tập trung nghiên cứu nội dung sau Tìm hiểu kỹ thuật kiểm thử nhằm đảm bảo chất lượng phần mềm Tập trung nghiên cứu sở toán học phương pháp phân hoạch tương đương (một kỹ thuật kiểm thử hộp đen) phương pháp kiểm thử luồng điều khiển (một kỹ thuật kiểm thử hộp trắng) Áp dụng kỹ thuật nhằm kiểm thử số chương trình đơn giản 1.3 Cấu trúc luận văn Chương giới thiệu tổng quan kiểm trử phần mềm gồm khái niệm phần mềm, lý kiểm thử phần mềm Phương pháp phân hoạch (quy hoạch) toán học ứng dụng phân hoạch tương đương vào kiểm thử hộp đen (kiểm thử dựa theo đặc tả không quan tâm tới mã nguồn) Chương Chương mô tả đồ thị lưu trình lý thuyết đồ thị ứng dụng vào kiểm thử luồng điều khiển chương trình kiểm thử hộp trắng ví dụ áp dụng Cuối cùng, Chương kết luận luận văn hướng nghiên cứu CHƯƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Các khái niệm kiểm thử phần mềm Kiểm thử phần mềm trình khảo sát hệ thống hay thành phần điều kiện xác định, quan sát ghi lại kết quả, đánh giá khía cạnh hệ thống hay thành phần [5] Kiểm thử phần mềm tiến trình hay tập hợp tiến trình thiết kế để đảm bảo mã hóa máy tính thực theo mà chúng thiết kế để làm, không thực thứ khơng mong muốn Đây pha quan trọng trình phát triển hệ thống, giúp cho người xây dựng hệ thống khách hàng thấy hệ thống đáp ứng yêu cầu đặt hay chưa 1.1.1 Lý kiểm thử phần mềm Lý việc kiểm thử để từ thấy ý nghĩa việc xây dựng ca kiểm thử hiệu số lý hoạt động kiểm thử phần mềm sau Lý thứ nhất, khía cạnh xem xét sản phẩm, người phát triển muốn kiểm tra phần mềm phần tử hệ thống hoạt động cần phải thực thông qua hoạt động kiểm thử phẩn mềm Lý quan trọng thứ hai thực tốt hoạt động kiểm thử, hạn chế chi phí cho thất bại lỗi gây sau 1.1.2 Vai trò kiểm thử phần mềm Thực tế chứng minh hoạt động kiểm thử vai trò vơ quan trọng tiến trình phát triển phần mềm Vai trò thể qua chi phí hiệu hoạt động kiểm thử mang lại Về mặt chi phí, hoạt động kiểm thử chiếm khoảng 40% tổng công sức phát triển phần mềm chiếm tới 30% tổng thời gian phát triển Ngồi với phần mềm ảnh hưởng tới sinh mạng chi phí kiểm thử gấp từ đến lần tổng chi phí khác cộng lại [4] 1.1.3 Mục đích kiểm thử phần mềm Là thiết kế trường hợp kiểm thử để phát cách hệ thống loại lỗi khác thực công việc với lượng thời gian tài nguyên tối ưu Tuy nhiên kiểm thử phần mềm khẳng định phần mềm khơng khiếm khuyết Như ta kết luận, mục tiêu trước mắt hoạt động kiểm thử phần mềm tạo ca kiểm thử để tìm lỗi phần mềm Mục tiêu cuối mục tiêu mà người phát triển hướng tới kiểm thử phần mềm giúp cho người phát triển chương trình tốt, chi phí thấp đảm bảo chất lượng phần mềm trước bàn giao sản phẩm Quy trình kiểm thử phần mềm - Xử lý đo lường kiểm thử cách thu thập liệu Ở đây, người kiểm thử trực tiếp cải tiến chương trình mà họ đánh giá - Đánh giá sản phẩm phần mềm để xác nhận sản phẩm sẵn sàng phát hành chưa? Đưa báo cáo kiểm thử để hồn thành q trình kiểm thử CHƯƠNG PHƢƠNG PHÁP PHÂN HOẠCH TRONG KIỂM THỬ HỘP ĐEN 2.1 Phƣơng pháp kiểm thử dựa phân hoạch tƣơng đƣơng Theo lý thuyết tập hợp logic tác giả Hoàng Xuân Sính - NXB Giáo dục – 1999, phương pháp phân hoạch tương đương định nghĩa: Quan hệ  hai tập A B tập tích đề A  B, nghĩa a a A b  B b Quan hệ định nghĩa tập A, tức B = A Quan hệ tập A gọi phản xạ a a với aA Quan hệ tập A gọi đối xứng a b  b a với a, bA Quan hệ tập A gọi bắc cầu a b b c  a c với a,b,c  A Một quan hệ tính phản xạ, đối xứng bắc cầu gọi quan hệ tương đương Chẳng hạn quan hệ “=” tập N (số nguyên) quan hệ tương đương quan hệ “>” tập N Một quan hệ tương đương phân hoạch tập hợp thành lớp tương đương rời rạc Chẳng hạn quan hệ =(a,b): a, b  N, a+b số chẵn hai phân hoạch {0, 2, 4, …} {1, 3, 5, …} Các lớp tương đương nhận dạng cách lấy điều kiện đầu vào (thông thường câu lệnh cụm từ đặc tả) phân hoạch thành hai nhiều nhóm Các lớp tương đương biểu diễn tập trạng thái hợp lệ không hợp lệ cho điều kiện đầu vào Điều kiện đầu vào giá trị số xác định, miền giá trị, tập giá trị liên quan, điều kiện logic Để làm điều này, sử dụng bảng liệt kê lớp tương đương Bảng 2.1 - Mẫu bảng liệt kê lớp tƣơng đƣơng Điều kiện vào/ra Các lớp tƣơng đƣơng hợp lệ Các lớp tƣơng đƣơng khơng hợp lệ Ví dụ 1: Sinh ca kiểm thử cho chương trình thống kê danh sách kết thí sinh thi cao học gồm: - Dữ liệu đầu vào đầu điểm: + D1 - điểm môn 1; + D2 - điểm môn 2; + D3 - điểm môn - Kết trả chia thành dạng: "Dữ liệu sai"; "Đỗ"; "Trượt" Trong đó: D1, D2  [0, 10]; D3  [0, 100] - Kết trả mong muốn:  "Dữ liệu sai" nếu: D1, D2  [0, 10]; D3  [0, 100]  "Đỗ" nếu: D1, D2  [5, 10]; D3  [50, 100]  "Trượt" nếu: D1, D2  [0, 5); D3  [0, 50) Bảng 2.2 Bảng liệt kê lớp tƣơng đƣơng cho toán điểm thi cao học Điều kiện vào/ra Các lớp tƣơng đƣơng hợp lệ Các lớp tƣơng đƣơng không hợp lệ Điểm môn (D1) ≤ D1< ; 5≤ D1≤ 10 D1 < ; D1 >10 Điểm môn (D2) ≤ D2< ; 5≤ D2≤ 10 D1 < ; D1 >10 Điểm môn (D3) ≤ D1< 50 ; 50≤ D1≤ 100 D1 < ; D1 >100 Giả sử phân hoạch (lớp tương đương hợp lệ không hợp lệ) ta lấy 01 giá trị theo hình 2.3 -10 10 12 -11 10 15 -7 20 50 85 100 D1 D2 D3 140 Hình 2.3 - Chọn giá trị lớp tƣơng đƣơng cho toán điểm thi cao học 2.1.1 Phân lớp tƣơng đƣơng mạnh Với phương pháp này, sau phân hoạch miền giá trị biến đầu vào thành lớp tương đương việc sinh trường hợp kiểm thử thực theo nguyên tắc ca kiểm thử phần tử tích đề phân hoạch Do số lượng ca kiểm thử sinh số phần tử tích đề các phân hoạch Bảng 2.3 Danh sách ca kiểm thử đƣợc sinh theo phân lớp tƣơng đƣơng mạnh TC_ID TC_01 TC_02 TC_03 TC_04 TC_05 TC_06 TC_07 TC_17 TC_18 TC_19 TC_20 TC_21 TC_22 TC_23 … TC_43 … TC_59 TC_60 TC_62 TC_63 TC_64 D1 -10 -10 -10 -10 -10 -10 -10 3 3 3 … … 12 12 12 12 12 Đầu vào D2 -11 -11 -11 -11 4 -11 -11 -11 -11 4 … … 8 15 15 15 D3 -7 20 85 140 -7 20 85 -7 20 85 140 -7 20 85 … 85 … 85 140 20 85 140 Đầu mong muốn Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Trượt Trượt … Đỗ … Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Ở trường hợp phân lớp tương đương mạnh gần bắt lỗi tất trường hợp đầu thực tế đầu mong muốn, nhiên số lượt ca kiểm thử tương đối nhiều 2.1.2 Phân lớp tƣơng đƣơng yếu Phân lớp tương đương yếu phương pháp hay sử dụng lựa chọn phân lớp tương đương Phương pháp dựa nguyên tắc chung phân lớp tương đương, tức chia miền liệu biến đầu vào thành lớp tương đương Việc sinh trường hợp kiểm thử phân lớp tương đương yếu phải đảm bảo lớp kiểm tra lần Theo nguyên tắc phân lớp tương đương yếu, ví dụ xây dựng 04 ca kiểm thử biểu diễn bảng 2.4 Bảng 2.4 Danh sách ca kiểm thử sinh theo phân lớp tƣơng đƣơng yếu TC_ID TC_01 Đầu vào (Input) D1 D2 D3 -10 -11 -7 Đầu mong muốn Dữ liệu sai TC_02 20 Trượt TC_03 85 Đỗ TC_04 12 15 140 Dữ liệu sai Ở trường hợp phân lớp tương đương yếu bắt lỗi chương trình trả đầu đầu mong muốn, số lượt ca kiểm thử ít, nhiên khơng thể khẳng định bắt hầu hết lỗi chưa Chính phương pháp gần không dùng 2.1.3 Phân lớp tƣơng đƣơng truyền thống Phân lớp tương đương truyền thống phương pháp đơn giản kỹ thuật kiểm thử theo phân lớp tương đương Khi xây dựng ca kiểm thử cho trường hợp cần lấy giá trị biến đầu vào nằm miền hợp lệ Tức ca kiểm thử sinh với điều kiện giá trị đầu vào tất biến nằm miền hợp lệ Khi tạo ca kiểm thử cho trường hợp sai cần lấy biến đầu vào giá trị không nằm miền hợp lệ Số lượng ca kiểm thử theo phân lớp tương đương truyền thống = số lượng ca kiểm thử theo phân lớp tương đương mạnh - số lượng ca kiểm thử đầu vào sai ca kiểm thử đầu vào sai Với "Ví dụ 1" ta sinh 28 ca kiểm thử biểu diễn bảng 2.5 Bảng 2.5 Danh sách ca kiểm thử sinh theo phân lớp tƣơng đƣơng truyền thống TC_ID Đầu vào (Input) Đầu mong muốn D1 D2 D3 TC_01 -10 20 Dữ liệu sai TC_02 -10 85 Dữ liệu sai TC_03 -10 20 Dữ liệu sai TC_04 -10 85 Dữ liệu sai TC_05 -11 20 Dữ liệu sai TC_06 -11 85 Dữ liệu sai TC_07 -7 Dữ liệu sai TC_08 140 Dữ liệu sai TC_09 -7 Dữ liệu sai TC_10 85 Trượt TC_11 140 Dữ liệu sai TC_12 15 20 Dữ liệu sai TC_13 15 85 Dữ liệu sai TC_14 -11 20 Dữ liệu sai TC_15 -11 85 Dữ liệu sai TC_16 -7 Dữ liệu sai TC_17 85 Trượt TC_18 140 Dữ liệu sai TC_19 -7 Dữ liệu sai TC_20 20 Trượt TC_21 85 Đỗ TC_22 140 Dữ liệu sai TC_23 15 20 Dữ liệu sai TC_24 15 85 Dữ liệu sai TC_25 12 20 Dữ liệu sai TC_26 12 85 Dữ liệu sai TC_27 12 20 Dữ liệu sai TC_28 12 85 Dữ liệu sai Đối với phân lớp tương đương truyền thống khả phát lỗi tương đương với phân lớp tương đương mạnh, song số lượng ca kiểm thử phân lớp tương đương truyền thống nhiều so với số lượng ca kiểm thử phân lớp tương đương mạnh Người kiểm thử nên chọn phương pháp 2.2 Ứng dụng Với ví dụ nêu mục 2.1, xây dựng chương trình thực tế chạy thử qua tất ca kiểm thử sinh ba phương pháp: phương pháp phân lớp tương đương mạnh, phương pháp phân lớp tương đương yếu, phương pháp phân lớp tương đương truyền thống trình bày nhằm kiểm tra việc bắt lỗi chương trình Khảo sát "Chương trình nhập điểm thi cao học" viết ngơn ngữ Visual Studio 2.2.1 Kiểm thử chƣơng trình nhập điểm thi cao học 2.2.1.1 Phương pháp phân lớp tương đương mạnh Ta kết sau chạy qua tất ca kiểm thử sinh theo phương pháp phân lớp tương đương mạnh: đầu thực tế không với đầu mong muốn trường hợp NOT OK (Bảng 2.6) Như kiểm thử viên khẳng định chương trình "Nhập điểm thi cao học" lỗi Bảng 2.6 Kết kiểm thử với trƣờng hợp phân lớp tƣơng đƣơng mạnh TC_ID TC_01 TC_02 TC_03 TC_04 … TC_21 TC_22 TC_23 TC_24 TC_25 … TC_60 TC_61 TC_62 TC_63 TC_64 D1 -10 -10 -10 -10 … 3 3 12 12 12 12 12 Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Đầu mong muốn Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai -7 20 85 140 -7 Trượt Trượt Trượt Dữ liệu sai Trượt Dữ liệu sai Trượt Trượt Dữ liệu sai Dữ liệu sai Not ok Ok Ok Ok Not ok 140 -7 20 85 140 Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Dữ liệu sai Ok Ok Ok Ok Ok Dữ liệu vào D2 -11 -11 -11 -11 D3 -7 20 85 140 4 4 8 15 15 15 15 Đầu thực tế Kết Ok Ok Ok Ok 2.2.1.2 Phương pháp phân lớp tương đương yếu Bảng 2.7 Kết kiểm thử với trƣờng hợp phân lớp tƣơng đƣơng yếu Dữ liệu vào TC_ID D1 D2 D3 Đầu thực tế Đầu mong muốn TC_01 -10 -11 -7 Dữ liệu sai Dữ liệu sai Ok TC_02 20 Trượt Trượt Ok TC_03 85 Đỗ Đỗ Ok TC_04 12 15 140 Dữ liệu sai Dữ liệu sai Ok Kết Sau chạy qua tất ca kiểm thử đầu thực tế hoàn toàn với đầu mong muốn (Bảng 2.7) Ta thấy phương pháp phân lớp tương đương yếu không phát lỗi phương pháp phân lớp tương đương mạnh phát bốn lỗi Vậy kiểm thử viên không nên sử dụng phương pháp 2.2.1.3 Phương pháp phân lớp tương đương truyền thống Ta bảng kết chạy ca kiểm thử phương pháp phân lớp tương đương truyền thống Sau chạy qua tất ca kiểm thử đầu thực tế khơng hoàn toàn với đầu mong muốn Phương pháp bắt 04 lỗi (Not ok) tương đương với phương pháp tương đương mạnh Người kiểm thử viên khẳng định chương trình "Nhập điểm thi cao học" lỗi lỗi ca kiểm thử số TC_07, TC_09, TC_16, TC_19 đồng thời gửi phản hồi cho lập trình viên 2.2.2 Kiểm thử chƣơng trình sau lập trình viên sửa lỗi Sử dụng phương pháp phân lớp kiểm thử để kiểm thử lại chương trình kiểm thử viên khơng phát lỗi nào, toàn ca kiểm thử ba phương pháp kết OK Vậy kiểm thử viên khẳng định chương trình "Nhập điểm thi cao học" khơng lỗi với kiểm thử Bảng 2.9 Bảng kết chạy thực tế với đoạn mã chƣơng trình B Stt Số lượt test cases Kết Ghi Phương pháp phân lớp tương đương mạnh 64 Không phát lỗi Phương pháp phân lớp tương đương yếu Không phát lỗi Phương pháp phân lớp tương đương truyền thống 28 Không phát lỗi Tuy nhiên phần khảo sát luận văn này, thực tế kiểm thử viên cần kiểm thử lại chương trình phương pháp phân lớp tương đương truyền thống CHƢƠNG SỞ TOÁN HỌC TRONG KIỂM THỬ HỘP TRẮNG 2.2 Ứng dụng đồ thị lƣu trình lý thuyết đồ thị vào kiểm thử luồng điều khiển Một đồ thị hướng G(N, E) định nghĩa sau [1]: Tập hợp N   gọi tập đỉnh đồ thị; Tập hợp E tập cạnh hướng đồ thị hay cung G ; cạnh eE cặp thứ tự (u,v) đỉnh, đỉnh u (đứng trước) gọi gốc cung, đỉnh v đứng sau gọi cung Cung (u,v) kí hiệu uv Đồ thị hướng cung (các cạnh hướng) biểu thị đường cong mũi tên từ gốc tới Ta nói: cung uv khỏi u vào v Một đồ thị hướng, khơng cạnh song song khơng khun Đường đồ thị hướng cung uv từ u (gốc) đến v (ngọn) Dựa vào chất tốn học lý thuyết đồ thị trình bày trên, người ta áp dụng vào kiểm thử luồng điều khiển (Basic Path Testing) kiểm thử hộp trắng, cơng cụ hữu ích để hiểu lưu trình điều khiển minh hoạ phương pháp tiếp cận hiệu minh hoạ hình 3.1 để vẽ lưu trình điều khiển logic Mỗi cấu trúc điều khiển hiệu đồ thị lưu trình tương ứng Bất kỳ thiết kế thủ tục chuyển sang đồ thị lưu trình * Các thành phần bản: điểm xuất phát khối xử lý điểm định điểm nối điểm kết thúc * Miêu tả cấu trúc điều khiển phổ dụng: Tuần tự Rẽ nhánh (if) Lựa chọn (Switch) Lặp While (for) Lặp Until Hình 3.1 - hiệu đồ thị lƣu trình  Biểu diễn điều kiện phức đồ thị lưu trình Khi gặp điều kiện phức xuất câu lệnh điều kiện biểu diễn gồm nhiều phép toán logic (AND, OR, NOT), cần phải chia thành điều kiện đơn thực kiểm thử đường dẫn sở Mỗi đỉnh chứa điều kiện gọi đỉnh điều kiện đặc trưng hai nhiều cạnh bắt nguồn từ Ví dụ: if (a OR b) then {Procedure x} else {Procedure y} if (c AND d) then {Procedure x} else {Procedure y} x a c b d y x Hình 3.2 - Điều kiện phức y Ví dụ: đồ thị lưu trình xác định hình 3.3 Cạnh 2,3 R3 Đỉnh R2 4,5 R1 Vùng 10 R4 11 Hình 3.3 – Đồ thị lƣu trình Độ phức tạp cyclomat [12] Độ phức tạp cyclomat thước đo phần mềm, cung cấp phép đo định lượng độ phức tạp chương trình Khi sử dụng ngữ cảnh phương pháp đường dẫn sở, giá trị xác định cho độ phức tạp cyclomat cho biết số lượng đường dẫn độc lập tập sở chương trình cung cấp cho giới hạn số lượng kiểm thử bắt buộc để đảm bảo tất câu lệnh thực lần Tập đường dẫn độc lập cho đồ thị lưu trình minh hoạ hình 3.3 là: Đường dẫn 1: 1-11 Đường dẫn 2: 1-2-3-4-5-10-1-11 Đường dẫn 3: 1-2-3-6-8-9-10-1-11 Đường dẫn 4: 1-2-3-6-7-9-10-1-11 Mỗi đường dẫn đưa cung Đường dẫn 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 không xem đường dẫn độc lập tổ hợp đường dẫn (đường dẫn 3) không qua cung Cho đồ thị lưu trình G, độ phức tạp Cyclomat V(G) tính theo công thức sau (dựa Lý thuyết đồ thị): V(G) = R (R số vùng đồ thị lưu trình) V(G) = P + (P số đỉnh điều kiện - đỉnh đầu đồ thị lưu trình G) V(G) = E – N + (E số cạnh N số đỉnh đồ thị lưu trình G) Đối chiếu với đồ thị lưu trình hình 3.3, độ phức tạp Cyclomat tính sau: Cơng thức 1: V(G) = R = Công thức 2: V(G) = P + = + = Công thức 3: V(G) = E – N + = 11 – + = Như vậy, độ phức tạp Cyclomat đồ thị hình 3.3 Phát sinh trường hợp kiểm thử theo đường dẫn sở: Dựa ý tưởng Tom McCabe kiểm thử đường dẫn sở xem tập bước công việc 3.2 Áp dụng vào kiểm thử đoạn mã chƣơng trình ví dụ "Nhập điểm thi cao học" 3.2.1 Trƣờng hợp 1: Đoạn mã chƣơng trình A: Private Sub Lưu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Lưu.Click If (d1.Text < 0) Or (d1.Text > 10) Or (d2.Text < 0) Or (d2.Text > 10) Or (d3.Text > 100) Then (1) (2) (3) (4) ketqua.Text = "Dữ liệu sai" (5) (6) ElseIf (d1.Text >= 5) And (d2.Text >= 5) And (d3.Text >= 50) Then (7) (8) (9) ketqua.Text = "Đỗ" (10) Else ketqua.Text = "Trượt" (11) End If End Sub - Bƣớc 1: Vẽ đồ thị lưu trình dựa mã nguồn: 11 10 Hình 3.4 Đồ thị lƣu trình đoạn mã chƣơng trình A - Bƣớc 2: Xác định độ phức tạp Cyclomat đồ thị lưu trình kết Cơng thức 1: V(G) = R = Công thức 2: V(G) = P + = + = Công thức 3: V(G) = E – N + = 19 – 12 + = Như vậy, độ phức tạp Cyclomat đồ thị hình 3.3b Bƣớc 3: Xác định tập sở đường dẫn độc lập tuyến tính + Đường dẫn 1: 1,6 + Đường dẫn 2: 1,2,6 + Đường dẫn 3: 1,2,3,6 + Đường dẫn 4: 1,2,3,4,6 + Đường dẫn 5: 1,2,3,4,5,6 + Đường dẫn 6: 1,2,3,4,5,7,8,9,10 + Đường dẫn 7: 1,2,3,4,5,7,11 + Đường dẫn 8: 1,2,3,4,5,7,8,11 + Đường dẫn 9: 1,2,3,4,5,7,8,9,11 Bƣớc 4: Sinh ca hợp kiểm thử (sinh test case) khả thực đường dẫn tập sở -10 10 12 -11 10 15 -7 20 50 D1 D2 85 100 140 D3 Bảng 3.1: Kết kiểm thử theo phƣơng pháp kiểm thử luồng điều khiển đoạn mã chƣơng trình A TC_ID Dữ liệu vào Đầu thực tế Đầu mong muốn Kết Dữ liệu sai Dữ liệu sai Ok TC_01 D1 -10 D2 D3 85 TC_02 12 20 Dữ liệu sai Dữ liệu sai Ok TC_03 -11 85 Dữ liệu sai Dữ liệu sai Ok TC_04 15 20 Dữ liệu sai Dữ liệu sai Ok TC_05 140 Dữ liệu sai Dữ liệu sai Ok TC_06 85 Đỗ Đỗ Ok TC_07 85 Trượt Trượt Ok TC_08 -7 Trượt Dữ liệu sai Not Ok TC_09 20 Trượt Trượt Ok Với kết bảng thấy tất 09 ca kiểm thử, ca kiểm thử Ok 01 ca kiểm thử Not Ok Chứng tỏ đoạn mã chương trình lỗi Như lập trình viên cần phải xem xét lại đoạn mã chương trình đường dẫn nói Tuy nhiên trường hợp phụ thuộc vào cách chọn giá trị kiểm thử, vì: đường dẫn số Vậy ta khẳng định việc kiểm thử kỹ thuật hộp trắng khơng thể đảm bảo chương trình tn theo đặc tả 3.2.2 Trƣờng hợp 2: Đoạn mã chƣơng trình B (đã chỉnh sửa) Private Sub Lưu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Lưu.Click If (d1.Text10) Or (d2.Text 10) Or (d3.Text 100) Then (1) (2) (3) (4) (5) (6) ketqua.Text = "Dữ liệu sai" (7) ElseIf (d1.Text >= 5) And (d2.Text >= 5) And (d3.Text >= 50) Then (8) (9) (10) ketqua.Text = "Đỗ" (11) Else ketqua.Text = "Trượt" (12) End If End Sub - Bƣớc 1: Vẽ đồ thị lưu trình dựa mã nguồn: 12 10 11 Hình 3.4 Đồ thị lƣu trình đoạn mã chƣơng trình B - Bƣớc 2: Xác định độ phức tạp Cyclomat đồ thị lưu trình kết cách: V(G) = E – N + = 21 – 13 + = 10 Bƣớc 3: Xác định tập sở đường dẫn độc lập tuyến tính + Đường dẫn 1: 1,7 + Đường dẫn 2: 1,2,7 + Đường dẫn 3: 1,2,3,7 + Đường dẫn 4: 1,2,3,4,7 + Đường dẫn 5: 1,2,3,4,5,7 + Đường dẫn 6: 1,2,3,4,5,6,7 + Đường dẫn 7: 1,2,3,4,5,6,8,9,10,11 + Đường dẫn 8: 1,2,3,4,5,6,8,12 + Đường dẫn 9: 1,2,3,4,5,6,8,9,12 + Đường dẫn 10: 1,2,3,4,5,6,8,9,10,12 Bƣớc 4: Sinh trường hợp kiểm thử (sinh test case) khả thực đường dẫn tập sở CHƯƠNG KẾT LUẬN Kiểm thử phần mềm hoạt động quan trọng nhằm đảm bảo chất lượng phần mềm Luận văn tập trung nghiên cứu phương pháp kiểm thử phần mềm nhằm tìm chất tốn học phương pháp Từ đó, hiểu biết chất khai thác tối đa khả phát lỗi phương pháp kiểm thử phần mềm Luận văn đạt kết sau Tìm hiểu phương pháp kiểm thử phần mềm hoạt động nhằm đảm bảo chất lượng phần mềm Nghiên cứu phương pháp phân hoạch tương đương cho kiểm thử hộp đen Tìm chất tốn học phương pháp dựa lý thuyết quan hệ tương đương tập hợp Một phân hoạch tương đương cho phép chia tập hợp thành tập cho phần tử tập thỏa mãn tính chất: phản xạ, đối xứng bắc cầu Ứng dụng vào kiểm thử phần mềm, tình chất nghĩa phần tử phản ứng với chương trình Vì vậy, thay kiểm thử nhiều giá trị miền liệu đầu vào, ta cần chọn ngẫu nhiên phần tử tập Một ví dụ minh họa trình bày nhằm tính hiệu phương pháp Nghiên cứu phương pháp kiểm thử luồng điều khiển cho kiểm thử hộp trắng (kiểm thử mã nguồn) Tìm chất tốn học phương pháp lý thuyết đồ thị Các luống điều khiển chương trình biểu diễn tương đương với đồ thị luồng điều khiển Áp dụng lý thuyết đồ thị, tìm đường từ điểm bắt đầu đến điểm kết thúc chương trình Với cách làm này, tất câu lệnh nhánh chương trình kiểm thử lần Nhờ vậy, lỗi tiềm chương trình hứa hẹn phát Một ví dụ áp dụng trình bày nhằm khả phát lỗi phương pháp References Tiếng Việt Đỗ Đức Giáo (2008), Toán Rời Rạc: Ứng Dụng Trong Tin Học, NXB Giáo dục Nguyễn Văn Vỵ, Nguyễn Việt Hà (2008), Giáo Trình Kỹ Nghệ Phần Mềm, NXB Đại học Quốc gia Hà Nội Ngô Trung Việt (1997), Kỹ nghệ phần mềm (Sách dịch), Nhà xuất Giáo dục Tiếng Anh Cem Kaner, Jack Falk, Hung Quoc Nguyen (1999), Testing Computer Software, John Wiley & Sons, Inc., p 27- 141 Ernest Wallmuller (1994), Software Qulity Assurance - A Practical Approach, Prentice Hall Internetional (UK) Ltd Ian Somerville (2011), Software Engineering, 9th Edition, Addison-Wesley Publishers Ltd, USA IEEE (1987), IEEE Std 1008-1987 – IEEE Standard for Software Unit Testing, The Institute of Electrical and Electronics Engineerings, Inc., USA IEEE (1998), IEEE Std 1012-1998 – IEEE Standard for Software Verification Testing, The Institute of Electrical and Electronics Engineerings, Inc., USA IEEE (1998), IEEE Std 829-1998(Revision of IEEE Std 829-1983) – IEEE Standard for Software Test Documentation, The Institute of Electrical and Electronics Engineerings, Inc., USA 10 Sagar Naik (2008), Software Testing and Quality Assurance: Theory and Practice, JOHNWILEY & SONS 11 Robert V Binder (2000), Testing Object-Oriented Systems: Models, Patterns, and Tools, Addison Wesley Longman, Inc., pp 175-532 12 T J McCabe (1976), A Complexity Measure, IEEE Transactions on Software Engineering, pp 308–320 13 Roger S Pressman (2001), Software Engineering: A Practitioner’s Approach, 5th edition, McGraw-Hill ... nghiên cứu sở toán học phương pháp phân hoạch tương đương (một kỹ thuật kiểm thử hộp đen) phương pháp kiểm thử luồng điều khiển (một kỹ thuật kiểm thử hộp trắng) Áp dụng kỹ thuật nhằm kiểm thử số... thiệu tổng quan kiểm trử phần mềm gồm khái niệm phần mềm, lý kiểm thử phần mềm Phương pháp phân hoạch (quy hoạch) toán học ứng dụng phân hoạch tương đương vào kiểm thử hộp đen (kiểm thử dựa theo... nguyên tối ưu Tuy nhiên kiểm thử phần mềm khẳng định phần mềm khơng khiếm khuyết Như ta kết luận, mục tiêu trước mắt hoạt động kiểm thử phần mềm tạo ca kiểm thử để tìm lỗi phần mềm Mục tiêu cuối mục

Ngày đăng: 18/12/2017, 13:23

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

Tài liệu liên quan