1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÁC ĐỊNH các ĐƯỜNG cơ sở với VIỆC TEST một số bài TOÁN (tt)

5 326 7

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 336,74 KB

Nội dung

XÁC ĐỊNH CÁC ĐƯỜNG CƠ SỞ VỚI VIỆC TEST MỘT SỐ BÀI TOÁN Lê Minh Thắng Nguyễn Quốc Tuấn Trường Đại học Quảng Bình Tóm tắt: Kiểm thử hộp trắng đối với các phần mềm theo tất cả các hướng

Trang 1

XÁC ĐỊNH CÁC ĐƯỜNG CƠ SỞ VỚI VIỆC TEST MỘT SỐ BÀI TOÁN

Lê Minh Thắng Nguyễn Quốc Tuấn

Trường Đại học Quảng Bình

Tóm tắt: Kiểm thử hộp trắng đối với các phần mềm theo tất cả các hướng với mọi khía cạnh là

không có giới hạn Đặc biệt là đối với các phần mềm phức tạp thì kiểm thử hộp trắng một cách toàn diện

là điều không thể thực hiện được Tuy nhiên, lý thuyết kiểm thử hộp trắng có thể ứng dụng trong một số trường hợp để giải quyết test các bài toán trong các kỳ thi tin học Nội dung bài viết giới thiệu các bước của phương pháp Theo phương pháp này cần xác định các đường cơ sở độc lập xuyên suốt mã nguồn để tiến hành test một số bài toán

1 GIỚI THIỆU

Kiểm thử hộp trắng là kiểm thử dựa trên sự kiểm tra khảo sát mã chương trình Với ý tưởng là đảm bảo rằng tất cả các nhánh của chương trình đều được sử dụng trong kiểm thử Việc thực hiện kiểm thử hộp trắng nhằm đưa ra các hiểu biết bên trong của mã chương trình

Kiểm thử hộp trắng theo tất cả các hướng với mọi khía cạnh là không có giới hạn đối với các chương trình phần mềm lớn Vì vậy, ta cần xác định một cách có giới hạn các đường cơ sở

để tiến hành kiểm thử Bài viết xin giới thiệu một kỹ thuật trong kiểm thử hộp trắng đó là xác định các đường cơ sở với việc test các bài toán, phương pháp này có thể vận dụng đối với các bài toán trong các kỳ thi tin học

2 KỸ THUẬT KIỂM THỬ ĐƯỜNG CƠ SỞ

Theo phương pháp này, khi kiểm thử phần mềm cần phải xác định một tập S các đường cơ

sở độc lập tuyến tính để tiến hành kiểm thử và nhằm đảm bảo rằng mọi câu lệnh trong chương trình về cơ bản đều được kiểm thử

Đường cơ sở độc lập tuyến tính là đường đi qua chương trình mà đưa vào ít nhất một tập các lệnh xử lý hoặc điều kiện mới, điều đó có nghĩa là mỗi đường mới luôn luôn đưa ra một cạnh mới

Phương pháp kiểm thử gồm có các bước sau:

(1) Phân tích, xác định yêu cầu mức độ kiểm thử đường cơ sở

(2) Dựa vào chương trình nguồn để vẽ lưu đồ và đồ thị luồng

(3) Xác định độ phức tạp cyclomatic của đồ thị luồng, ký hiệu: V(G)

Độ phức tạp V(G) của đồ thị luồng xác định độ phức tạp logic của chương trình là số lượng các đường độc lập tuyến tính trong tập các đường cơ sở Đây là cơ sở để xác định số lượng

Trang 2

các phép kiểm thử phải được tiến hành để đảm bảo rằng tất cả các câu lệnh đều thực hiện ít nhất một lần Độ phức tạp V(G) theo lý thuyết đồ thị có thể tính bằng một trong ba cách:

Cách 1: V(G) = Số vùng của đồ thị G

Cách 2: V (G) = E-N+2

E là số cạnh, N là số đỉnh (nút) của đồ thị luồng

Cách 3: V (G) =P+1 (P là số nút tân từ có trong đồ thị luồng G)

(4) Dựa vào đồ thị luồng, xác định tập các đường cơ sở độc lập tuyến tính trong cấu trúc luồng điều khiển chương trình

(5) Dựa vào tập các đường cơ sở độc lập tuyến tính, thiết lập các trường hợp kiểm thử có khả năng thực thi đối với mỗi đường độc lập tuyến tính trong tập các đường cơ sở Các trường hợp kiểm thử được thiết lập và thực hiện đối với mỗi đường độc lập tuyến tính sau đó được đối chiếu với kết quả đòi hỏi

Để biểu diễn các đồ thị luồng ta sử dụng các ký pháp sau:

Trong đó:

- Nút có các loại sau:

+ Nút thể hiện một hay nhiều câu lệnh

+ Nút điều kiện thể hiện các điều kiện của nhánh

+ Nút phụ (không bắt buộc), có thể hiểu đơn giản ví dụ nối các điểm trong các cấu trúc if else,

Nút có chứa một điều kiện được gọi là nút tân từ, các biểu thức logic tổ hợp có thể tạo ra nhiều nút tân từ và các cạnh bổ sung

- Cạnh thể hiện luồng có thể thực hiện của sự điều khiển Mỗi cạnh phải kết thúc tại một nút

- Vùng là miền xác định giới hạn bởi các cạnh và các nút Vùng còn được tính cả miền nằm bên ngoài đồ thị và chúng được tính như là một vùng

Khi biểu diễn các đồ thị luồng, các biểu thức logic tổ hợp nhiều phép toán logic được phân tích thành các điều kiện đơn

Hình 1 Các ký pháp đồ thị luồng

Trang 3

3 ỨNG DỤNG KIỂM THỬ CÁC ĐƯỜNG CƠ SỞ

Bài toán minh họa với mã nguồn chương trình giải phương trình bậc 2 như sau:

Program PTB2;

Var

a,b,c:Integer;

delta,x,x1,x2:Real;

Begin

Write('Nhap he so a,b,c');

Readln(a);Readln(b);Readln(c);

delta:=sqr(b)-(4*a*c);

If a<> 0 then

Begin

If delta < 0 then

Writeln('PTB2 vo nghiem')

Else

If delta=0 then

Begin

X:=-b/(2*a);

Writeln('PTB2 co nghiem X1=X2=',x:6:2);

End

Else

Begin

X1:=(-b-Sqrt(delta))/(2*a);

X2:=(-b+Sqrt(delta))/(2*a);

Writeln('Nghiem x1=',x1:6:2);

Writeln('Nghiem x2=',x2:6:2);

End;

End;

Else

Writeln('khong phai PT Bac 2');

Readln;

End

Phương pháp kiểm thử đường cơ sở được thực hiện như sau:

(1) Phân tích, xác định yêu cầu mức độ kiểm thử đường cơ sở

Yêu cầu phân tích mã nguồn, xác định mức độ kiểm thử tập các đường cơ sở độc lập tuyến tính Mỗi đường sẽ được tiến hành kiểm thử bằng kỹ thuật phân hoạch tương đương và phân tích giá trị biên

(2) Vẽ lưu đồ, đồ thị luồng

a=0

NhËp a,b,c; 2

3

4

T

F Delta:=sqr(b)-(4*a*c);

1

3

2

1

Trang 4

(3) Xác định V(G)

Cách 1: V(G) = 4 (số vùng của đồ thị G)

Cách 2: V (G) = E-N+2= 13-11+2 = 4 (với E là số cạnh, N là số nút) Cách 3: V (G) =P+1 =3+1=4 (với P số nút tân từ có trong đồ thị luồng G)

(4) Xác định tập các đường cơ sở độc lập tuyến tính

Đường độc lập tuyến tính 1: 1 - 2 - 3 - 10 - 11

Đường độc lập tuyến tính 2: 1 - 2 - 3 - 4 - 5 - 9 - 11

Đường độc lập tuyến tính 3: 1 - 2 - 3 - 4 - 5 -6 - 7 - 11

Đường độc lập tuyến tính 4: 1 - 2 - 3 - 4 - 5 -6 - 8 - 11

(5) Thiết kế các trường hợp kiểm thử

-Trường hợp kiểm thử 1

Đầu vào: {a,b,c} = {0,1,1}; Đầu ra: thông báo 'Khong Phai PTB2 '

-Trường hợp kiểm thử 2, (delta <0)

Đầu vào: {a,b,c} = {1,1,1} ; Đầu ra: thông báo 'PTB2 VN'

- Trường hợp kiểm thử 3, (delta =0)

Đầu vào: {a,b,c} = {2,-4,2} ; Đầu ra: x1=x2= 1

- Trường hợp kiểm thử 4, (delta =0)

Đầu vào: {a,b,c} = {2,-8,8}; Đầu ra: x1=x2= 2

- Trường hợp kiểm thử 5, (delta >0)

Trang 5

Đầu vào: {a,b,c} = {1,3,2}; Đầu ra: x1=-1, x2= -2

4 KẾT LUẬN

Kỹ thuật kiểm thử phần mềm có nhiều phương pháp, tuy nhiên thực tế tùy từng trường hợp

cụ thể để vận dụng thích hợp Kiểm thử hộp trắng được xây dựng trên cơ sở lý thuyết, ít được vận dụng trong thực tế đối với các bài toán lớn Kỹ thuật kiểm thử đường cơ sở được đưa ra trên đây có thể hỗ trợ cho người dùng vận dụng một cách thuận lợi khi kiểm thử phần mềm, kết hợp với các phương pháp khác nhằm hạn chế lỗi, giảm chi phí thực và thời gian một cách đáng kể và làm tăng độ tin cậy của sản phẩm phần mềm qua kiểm thử Bài viết minh hoạ một bài toán đơn giản về kiểm thử đường cơ sở, mấu chốt là xác định được các đường cơ sở, qua đó có thể áp dụng phương pháp để test các dạng bài toán tương tự trong các kỳ thi Tin học trẻ

TÀI LIỆU THAM KHẢO

phố Hồ Chí Minh

thuật - Hà Nội

[7] http:// www.applabs.com, AppLabs Inc (2005) White Box Testing, Philadelphia, PA 19103

[8] http://www.ddj.com/articles/2000/0003/0003a/0003a.htm, White-Box Testing (2005)

[9] http://www.softwaretest.force9.co.uk/cont240.htm Software Testing Techniques (2005)

DEFINING THE INDEPENDENT PATHS TO IMPLEMENT TEST SOME PROBLEMS

Le Minh Thang Nguyen Quoc Tuan

Quang Binh University

Abtract: White box testing to softwares with different ways as well as aspects is unlimited Especially for the complicated softwares, comprehensive white box testing is inability; however, white box test theories could be applied in some situations to solve tests in computer science problems in examinations This paper introduces steps of method The method defines the independent paths through the program to implement test some problems

Ngày đăng: 19/03/2018, 10:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w