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

bài tập kiểm thử dòng dữ liệu kiểm thử và bảo đảm chất lượng phần mềm

16 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 cơ bản

Tiêu đề Bài tập kiểm thử dòng dữ liệu kiểm thử và bảo đảm chất lượng phần mềm
Tác giả Hà Sơn Tựng
Người hướng dẫn ThS. Nguyễn Thu Trang
Trường học TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Chuyên ngành Kiểm thử và bảo đảm chất lượng phần mềm
Thể loại Bài tập
Định dạng
Số trang 16
Dung lượng 2,49 MB

Nội dung

_ Hãy xác định tất cả các Def-clear path của các biến x Và y...---cccnccsrrrrrrrerrrrrrrrrre 7 4.5.. _ Tại sao tại đỉnh 3 biến x được định nghĩa và sử dụng nhưng không tồn tại mối quan h

Trang 1

DAI HOC QUOC GIA HA NOI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

HOC CÔNG [T113 BAI TAP KIEM THU DONG DU LIEU

Môn học: Kiếm thử và bảo đảm chất lượng phần mềm

Mã lớp môn học: INT3117 2

Giảng viên: ThS Nguyễn Thu Trang

Sinh viên thực hiện: Hà Sơn Tùng - 21020398

Trang 2

Contents

4.1 _ Hãy xác định tất cả các Def-clear path của các biến x Và y -cccnccsrrrrrrrerrrrrrrrrre 7

4.5 _ Tại sao tại đỉnh 3 biến x được định nghĩa và sử dụng nhưng không tồn tại mối quan hệ def- use? 9

Báo cáo phần tích, thiết kế ca kiểm thử, và kiểm thử chương trình của bạn với độ phủ all-uses 13

MG ta bai COAL ịii.ẻ$Ÿẻ ' i::i.Ầ , 13 8002/31 111 ÔỎ 13

3.2 Xác định All-uses coverage của các biến + Xác định các trường hợp kiểm thử 15

Trang 3

I Lam bai tAp trong slide

1 Trình bày các bước trong quy trình kiếm thử dòng dữ liệu động Quy trình tông quát của kiểm thử dòng dữ liệu động:

e - Vẽ đồ thị luồng điều khiển (CFG)

e - Lựa chọn tiêu chí kiểm thử luồng dữ liệu

e - Xác định các đường đi trên CFG thoả mãn tiêu chí kiểm thử đã chọn

e _ Sinh các ca kiêm thử tương ứng

2 Cho đoạn mã nguồn sau, hãy:

e - Vẽ đồ thị dòng điều khiển (CFG)

e - Xác định các du-pairs cho biến X và Y

e - Sinh đường đi và các ca kiêm thử với độ đo all-use

| input(X,Y)

2 while (Y>0) {

3 if (X>0)

a Y :=Y-X

else

6 }

7 output(X, Y)

Figure 1: Đoạn mã bài 2

Trang 4

2.1 Vẽ do thị dòng điều khiến

2.2 Xác định các du-pairs cho biến X và Y

Biến X

« def(X):{0, 4}

(0, 2) <0, 1 (T), 2>

(0, 3) <0, 1 (T), 2 (T), 3>

(0, 5) <0, 1 (T), 2 (T), 3, 1 (F), 5> (4, 2) <4, 1(T), 2>

(4, 3) <4, 1 (T), 2 (1), 3>

(4, 5) <4, 1 (T), 2(T), 3, 1 (F), 5> Bién Y

e def(X): {0, 3}

Trang 5

e c-use(X): {3, 5}

2.3 Sinh đường di và ca kiểm thứ với độ đo all-use

Dựa vào Du-pair và Def-clear path của phần 2.2, ta có:

Test case 1: input(2, 1) — phủ được 3 trường hợp đầu tiên của bảng X, phủ được bảng Y trong phân 2.2

Test case 2: input(1, -2) - phủ được 3 trường hợp sau của bảng X trong phân 2.2

Path: 0, 1,2, 4(X=2), 1(T),2(T, 3, 1(F),5

3 Cho hàm calFactorial viết bang ngôn ngữ C như đoạn mã 7.7

- Hãy liệt kê các câu lệnh ứng với các khái niệm def, c-use, và p-use ứng với các biến được sử dụng trong hàm này

- _ Hãy vẽ đồ thị dòng dữ liệu của hàm này

int calFactorial (int n){

int result = 1;

int i=1;

while (i <= n){

result = result *i;

i++;

}//end while return result;

}//the end

Figure 2: Đoạn mã 7.7: Mã nguồn C của hàm calFactorial

3.1 Hãy liệt kê các câu lệnh ứng với các khái niệm def, c-use, và p-use ứng với các biến được sử dung trong ham nay

Biến n

Trang 6

Bién result

Bién i

e = c-use(i): {5, 6}

3.2 Hãy vẽ đồ thị dòng dữ liệu của hàm này

(0) int calfactorial(int n)

(1) int result = 1

(4) result = result *i

Trang 7

4 Cho đồ thị dòng dữ liệu như hình 7.11

Figure 3: Hình 7.11 Một ví dụ về đồ thị dòng dữ liệu và việc sử dụng các biến

e - Hãy xác định tất cả các Def-clear-path của các biến x và y

e - Hãy xác định tất cả các du-paths của các biến x và y

se _ Hãy xác định tất cả các All-p-uses/Some-c-uses và All-c-uses/Some-p-uses (dựa và các chuân của kiêm thử dòng dữ liệu)

e - Biểu thức của các p-use (x, y) tại cạnh (1,3) và (4,5) lần lượt là x + y = 4 và x2 + yŸ > 17 Đường đi (0 - 1 - 3- 4 - 5 - 6) có thực thi được không? Giải thích

e - Tại sao tại đinh 3 biến x được định nghĩa và sử dụng nhưng không tồn tại mối quan hé def-use?

4.1 Hãy xác định tất cả các Def-clear path của các biến x va y

0-1-2 0-1-2-4 0-1-2-4-5 0-1-2-4-5-6 0-1-2-4-6

3-4-5 3-4-5-6 3-4-6

0-1-3 0-1-3-4 0-1-3-4-6

2-4-6

Trang 8

4.2 Hãy xác định tất cả các du-paths của các biến x và y

STT Varia

ble

4.3 Hãy xác định tất cả các All-p-uses/Some-c-uses va All-c-uses/ Some-p-uses (dựa và các chuẩn

Du-pair (0, 1(right)) (0, 1(left))

(0, 2) (0, 3) (0, 4(right)) (0, 4(left)) (0, 5) (0, 6) (0, 6) (3, 4(right)) (3, 4(left))

(3, 5) (3, 6) (3, 6) (0, 1(right)) (0, 3) (0, 4(left))

(0, 6) (2, 4) (2, 6) (5, 6)

của kiểm thứ dòng dữ liệu)

All-p-uses/Some-c-uses

STT Varia

ble

Du-pair (0, P-use(x, y))

(0, (0, (0,

(3, P-use(x, y)) (3, P-use(x, y))

(0, 6) (3, 6)

P-use(x, y)) P-use(x, y)) P-use(x, y))

Def-clear path

0 — 1 (right)

0 — 1 (left) 0-1-2 0-1-3 0-1-2-4 0-1-2-4 0-1-2-4-5 0-1-2-4-6 0-1-2-4-5

| œ

-6

Complete path

| | | | | œ

| œ

| | | | | œ

| | | | | œ

©OOGOœCœCœCCGCOGCGCGœCœCœœCœCœCœCœCœœCœCœC ".mM.M

Def-clear path Complete path

y)

0 - 1- use(x, y) P-use(x, y)

use(x, y)

P-

0-1-P-use(x 0-1-2-4-6

0-1-3-4-6 0-1-2-4- 0-1-2-4-5-6

0-1-2-4-0-1-2-4-6

6

Trang 9

PJ y (0, P-use(x,y)) 0- 1-P-use(&x 0-1-2-4-6

y)

use(x, y)

All-c-uses/ Some-p-uses

ble

5

cu (3, P-use(x, y)) 3 - 4 —- P- 0-1-3-4-6

use(x, y) (p- use thay the cho (3, 3))

6

4.4 Biểu thức của các p-use (x, y) tại cạnh (1,3) và (4,5) lần lượt là x + y = 4 và x2 + yŸ > 17 Đường đi (0— 1 — 3— 4— 5 — 6) có thực thì được không? Giải thích

e - Trong trường hợp này, đường đi 0 — 1— 3— 4— 5—6 vấn thực hiện được

« - Giải thích: với trường hợp x hoặc y nhỏ hơn 0 vẫn có thê thỏa mãn, ví dụ (x, y) = (5, -1) thi x? + y2=26>17

4.5 Tại sao tại đính 3 biến x được định nghĩa và sử dụng nhưng không tồn tại mối quan hệ def- use?

Theo định nghĩa về mối quan hệ def-use, ta cân thỏa mãn 2 điều kiện Điều kiện thứ nhát là nó phải là 1 cặp def-use, đỉnh 3 đã thỏa mãn điều kiện này Điều kiện thứ 2 là phải tồn tại 1 def- clear path giữa 2 điểm, trong trường hợp này, độ đài đường đi từ 3 đến 3 là 0, ta không thê coi

nó là I đường di

Trang 10

5 Cho doan mã nguồn như hình bên:

int UCLN(int m, int n){

if (m

if (n

if (m

if (n

while

< 0) m = -m;

<0) n = -n;

(m != n) { if(m > n) m=m - n;

else

n “=n ~ m; }//end while

return m;

}

Figure 4 Đoạn mỗ 6.4 Mã nguồn hàm UCLN

e - Xây dựng CFG cho hàm UCLN với đồ thị C2

e - Sinh đường di va cac ca kiểm thử với độ đo C2

e - Sinh đường đi và các ca kiểm thử với độ all-def coverage

Trang 11

5.1 Xây dựng CFG cho hàm UCLN với đồ thị C2

5.2 Sinh đường đi và các ca kiểm thử với độ đo C2

Các ca kiểm thử với độ đo C2 phải đi qua tất cả các nhánh của đỗ thị đòng điều khiển, bao gồm: 1T, 1F, 3T, 3F, 5T, 5F, 7T, 7F, 9T, 9F, 11T, 11F

Trang 12

* C2 coverage: độ phủ C2 tính từ test case hiện tại và các test case trước đó

UCLN(O, 1) 0-1()-3()-5(T)-6 3/12 + UCLN({1, 0) 0-1(F)-3(F)-5(ŒF)-7(T)-8 5/12

(T) - 11 (T)- 12 - 9 (F) - 10

(T) - 11 (F) - 13- 9 (F) - 10

5.3 Sinh đường đi và các ca kiểm thứ với độ do all-def coverage

e Bién m:

o def(m) = {0, 2, 12}

o p-use(m) = {1, 5, 9, 11}

o cuse(m) = {2, 8, 10, 12, 13}

e Biénn:

o def(n) = {0, 4, 13}

o p-use(n) = {3, 7, 9, 11}

o c-use(n) = {4, 6, 12, 13}

lIC

-5() -7(Œ)-9(T)-

11 (T)- 12- 9 (F) - 10

6

()-6

13-9(F)- 10

Trang 13

ll Báo cáo phân tích, thiết kế ca kiếm thử, và kiểm thử chương trình của bạn với độ phú all-uses

._ Mô tả bài toán

Bài toán tính giá tiền taxi: Trong các hệ thống tính tiền taxi, thường giá tiền sẽ chia thành các mức khác nhau dựa trên quãng đường taxi đi và số giờ taxi phái chờ đợi khách hàng Chương trình trong bài toán này là 1 hệ thống tính toán số tiền người dùng cân trả cho taxi

Cách tính giá tiền taxi:

« - Giá tiền từ km đầu tiên đến km só 30: 11,000 VND * só km đi + 9,000 VND (Cước lúc mở cửa) + 20,000 * số giờ chờ đợi (nêu có)

« - Giá tiền từ km số 31 trở đi: 11,000 * 30 + (số km đi - 30) * 9,500 VND + 9,000 VND (Cước lúc mở cửa) + 20,000 * số giờ chờ đợi (nếu có)

Chương trình

Chương trình được sử dụng được đặt tên là “calculateTripCost(x, y)” với x là số km đi được và y là số giờ chờ đợi, chương trình trả về -1 nếu điều kiện đầu vào không thỏa mãn

ha125/bai_tap_kiem_thu.git

2.1 Mã nguồn chương trình

calculateTripCost(x, \

Trang 14

2.2 Đồ thị dòng điều khiển

(0) calculateTripCost(x, y)

(5) cost = 0

(8) cost += 11000 * 30 + (x -

v

(9) cost += (20000 * y +

9000)

(10) return cost

Trang 15

3 Kiếm thứ mã nguồn

3.1 Xác định def, p-uses, c-uses của các biến

3.2 Xác định All-uses coverage của các biến + Xác định các trường hợp kiểm thứ

6(T), 7, 9, 10

6(T), 7, 9, 10

6(T), 7, 9, 10

6(F), 8, 9, 10

6(T), 7, 9, 10

6(F), 8, 9, 10

6(F), 8, 9, 10

Trang 16

3.3 Két qua kiém thir

Ngày đăng: 21/07/2024, 14:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w