kiểm thử 2

Màu nền
Font chữ
Font size
Chiều cao dòng

§¹i häc Quèc gia Hμ néi - §¹i häc c«ng nghÖ

Bé m«n C«ng nghÖ phÇn mÒm

BÀI GiẢNG CAO HOC

ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

VÀ KiỂM THỦ

Email:

[email protected],

mobile:

0912.505.291

NguyÔn V¨n Vþ

Hà nội - 2005

Phần II

Nguy

n V

ă

n V

KIỂM THỬ PHẦN MỀM

2005

Bộ môn CNFM – Đại học Công nghệ

2

Nội dung – Tài liệu

Nguy

n V

ă

n V

Khái niệm kiểm thử

Các loại kiểm thử

Thẩm định và xác minh

Roger S. Pressman.

Software Engineering, a Practitioner’s Approach.

3th

Edition, McGraw-Hill, 1992, Bản dich của Ngô Trung vIệt,

Phần 4, tập 4 (Chương

17, 18, 23 –bản 2001)

Ian Sommerville.

Software Engineering,

Sixth Edition, Addion Wesley, 2001,

Phần 5 và 6. chương 20

E.M.Bennatan,

Software Project Management : a practitioner’s approach,

McGRAW-HILL Book Company, 2001

2005

Bộ môn CNFM – Đại học Công nghệ

3

A. Khái niệm về kiểm thử phần mềm

Nguy

n V

ă

n V

Kiểm thử FM là

yếu tố quyết định

của SQA, là

khâu

điển hình của rà soát

đặc tả, thiết kế, lập mã.

kiểm thử theo Glen Myers:

Là quá trình vận hành

chương trình để tìm ra lỗi.

Cần vận hành như thế nào để:

hiệu suất tìm ra lỗi là cao nhất ?

chí phí (thời

gian, công sức)

ít nhất?

Câu hỏi:

Lý do? Vai trò? Mục tiêu? Quan niệm? Lợi

ích khác? Loại-mức? Dòng thông tin? Tiến trình ?

2005

Bộ môn CNFM – Đại học Công nghệ

4

a. Lý do kiểm thử phần mềm

Nguy

n V

ă

n V

Muốn nhìn thấy

phần mềm như một phần tử của

hệ thống hoạt động

(xem sản phẩm)

Hạn chế chi phí

cho các thất bại do lỗi gây ra sau

này

(hiệu quả)

Có kế hoạch tốt

nâng cao chất lượng suốt quá

trình phát triển

(giải pháp).

2005

Bộ môn CNFM – Đại học Công nghệ

5

b.Vai trò kiểm thử phần mềm

Nguy

n V

ă

n V

Chi phí của kiểm thử chiếm:

40%

tổng công sức

phát triển

30% tổng thời gian

phát triển

Với các phần mềm có ảnh hưởng tới sinh mạng, chi

phí có thể gấp

từ 3 đến 5 lần tổng các chi phí khác

cộng lại.

Kiếm thử tốt sẽ:

Giảm chi phí phát triển

Tăng độ tin cậy của sản phẩm phần mềm

2005

Bộ môn CNFM – Đại học Công nghệ

6

c. Mục tiêu kiểm thử phần mềm

Nguy

n V

ă

n V

Mục tiêu trước mắt:

tạo ra các ca kiểm thử để

chỉ ra lỗi

của phần mềm (tức

“đánh đổ” phần

mềm)

Nghe ra có vẻ

mang tính “phá hoại”,

những vấn đề về tâm lý.

dễ gây ra

Mục đích cuối cùng:

có một chương trình tốt, chi

phí ít

xây dựng

2005

Bộ môn CNFM – Đại học Công nghệ

7

d. Quan niệm về một kiểm thử tốt

Nguy

n V

ă

n V

Khi kiểm thử, ta tiến hành những ca kiểm thử

khác nhau:

Ca kiểm thử tốt

có xác suất cao tìm ra một lỗi

chưa

được phát hiện.

Ca kiểm thử thắng lợi

làm lộ ra ít nhất một lỗi

còn

chưa được phát hiện.

2005

Bộ môn CNFM – Đại học Công nghệ

8

e. Lợi ích khác của kiểm thử

Nguy

n V

ă

n V

Ca kiểm thử thắng lợi

làm lộ ra khiếm khuyết,

đồng

thời mang lại các

lợi ích phụ

là t

huyết minh:

Chức năng

tương ứng

với đặc tả

(xác minh),

Thực thi

phù hợp

yêu cầu

&

đặc tả

(thẩm định, xác

   minh)

Cung cấp các chỉ số

độ tin cậy

&

chất lượng

(thẩm định)

.

Tuy nhiên, kiểm thử không thể khẳng định rằng phần

mềm không có khiếm khuyết

2005

Bộ môn CNFM – Đại học Công nghệ

9

g. Mô hình chữ V - Các mức kiểm thử

Nguy

n V

ă

n V

Phân tích

 yêu cầu

  Đặc tả

phần mềm

Thiết kế

kiến trúc

Thiết kế

chi tiết

 Lập

trình

2005

test chấp

  nhận

test hệ

thống

test tích

  hợp

test đơn

   vị

rà soát

  mã

Thẩm

định

Xác

minh

Bộ môn CNFM – Đại học Công nghệ

10

g. Các mức – loại hình kiểm thử

Nguy

n V

ă

n V

Kiểm thử đơn vị

(unit testing)

Kiểm thử tích hợp

(integration testing)

Kiểm thử hệ thống

(system testing)

KT chức năng

(functional test: system&interface)

KT phục hồi

(recovery test)

KT chịu tải

(extra: stress & load test)

KT thi hành

(performance test)

KT an ninh

(security test)

2005

Bộ môn CNFM – Đại học Công nghệ

11

g. Các loại hình kiểm thử

(t)

Nguy

n V

ă

n V

Kiểm thử chấp nhận

(aceptance testing)

Kiểm thử alpha

(alpha testing)

Người dùng thực hiện

Trong môi trường được quản lý

Kiểm thử beta

(beta testing)

Người dùng thực hiện

Trong môi trường thực

2005

Bộ môn CNFM – Đại học Công nghệ

12

h. Phương pháp và chiến lược kiểm thử

Nguy

n V

ă

n V

Hai phương pháp phổ biến:

Kiểm thử hộp trắng (white

box)

Kiểm thử hộp đen (black

box)

Các chiến lươc Kiểm thử

Ứng dụng cho

các mức

&

loại kiểm thử

#.

Một số chiến lược:

Kiểm thử từ trên xuống/dưới lên/lai (tích hợp)

Kiểm thử vụ nổ lớn (big bang –tích hợp)

Kiểm thử hồi quy (tích hợp)

Kiểm thử luồn sợi (hệ thời gian thực)

2005

Bộ môn CNFM – Đại học Công nghệ

13

i. Biểu đồ dòng thông tin kiểm thử

Nguy

n V

ă

n V

Sơ đồ

dòng thông tin

của tiến trình kiểm thử

Phần mềm

 chỉnh sửa

Dự đoán

độ tin cậy

  Đặc tả

phần mềm

Cấu hình

kiểm thử

kiểm thử

gỡ lỗi

xây dựng

 Mô hình

đô tin cậy

đánh giá

Phần

mềm

chưa

 tin

 cậy

Phần mềm

  tin cậy

2005

Bộ môn CNFM – Đại học Công nghệ

14

k. Tiến trình thực hiện kiểm thử

Nguy

n V

ă

n V

Kế hoạch

kiểm thử

Lập kế kế

hoạch KT

 Các ca

kiểm thử

 Thiết kế

Ca kiểm thử

 Dữ liệu

kiểm thử

Chuẩn bị

dữ liệu,đk

Kết quả

kiểm thử

Báo cáo

kiểm thử

So sánh,

đánh giá

Tiến hành

 kiểm thử

Yêu cầu,

mã nguồn

Nhật ký

2005

Bộ môn CNFM – Đại học Công nghệ

15

m. Khái niệm về thiết kế ca kiểm thử

Nguy

n V

ă

n V

Mục tiêu thiết kế ca kiểm thử nhằm:

tìm ra nhiều sai

nhất

với

nỗ lực

&

thời gian nhỏ nhất.

Trong các thập kỷ 80-90 đã nghiên cứu

nhiều

loại phương pháp thiết kế

ca kiểm thử.

Các

phương pháp tốt

phải cho một cơ chế:

bảo đảm tính đầy đủ

(không sót phần nào) và

cung cấp

khả năng thật sự phát hiện được các sai

2005

Bộ môn CNFM – Đại học Công nghệ

16

B. Kiểm thử hộp trắng

Nguy

n V

ă

n V

a. Khái niệm kiểm thử hộp trắng

Đối tượng:

mã nguồn

Mức:

các mô đun đơn vị

Nội dung là Khám xét:

các chi tiết thủ tục (thuật

toán)

con đường logic (luồng

điều khiển)

các trạng thái của chương trình (dữ

liệu).

2005

Bộ môn CNFM – Đại học Công nghệ

17

a.

Khái niệm kiểm thử hộp trắng

Nguy

n V

ă

n V

Vấn đề, trở ngai:

Số con đường lôgíc là rất lớn:

một chương trình

nhỏ:

  với 100 dòng PASCAL

  với một vòng lặp

số con đường logic có thể tới:1014.

cần 3170 năm

để kiểm thử tất mọi con đường

  và mọi ràng buộc lôgic trên nó!

Nhiều trạng thái dữ liệu khác nhau:

đại lượng, giá

trị, sự thay đổi trong tiến trình, sự kết hợp

2005

Bộ môn CNFM – Đại học Công nghệ

18

b. Nội dung cần kiểm thử hộp trắng

Nguy

n V

ă

n V

kiểm thử cái gì?

a.

b.

c.

d.

e.

mọi lệnh (đầy

đủ)

mọi điều kiện lôgic có thể (rẽ

nhánh)

mọi chu trình trong chương trình (lặp

lại)

mọi cấu trúc dữ liệu được dùng (dữ

liệu)

mọi tiến trình từ đầukết thúc(từng

luồng điều khiển)

dung của nó? Chiến lược sử dụng?

Câu hỏi:

Yêu cầu? Lý do? Các kỹ thuật dùng và nội

2005

Bộ môn CNFM – Đại học Công nghệ

19

c. Yêu cầu kiểm thử hộp trắng

Nguy

n V

ă

n V

Yêu cầu đặt ra:

Mọi con đường độc lập

trong một môđun cần

được thực hiện ít nhất một lần.

Mọi ràng buộc logic

được thực hiện cả hai phía

đúng (true) & phía sai (false).

Tất cả các vòng lặp

ở biên của nó & cả các biên

vận hành phải được thực hiên.

Mọi cấu trúc dữ liệu nội tại

được dùng để bảo

đảm hiệu lực thi hành của nó

2005

Bộ môn CNFM – Đại học Công nghệ

20

d. Lý do kiểm thử hộp trắng

Nguy

n V

ă

n V

Vì sao tốn tiền cho kiểm thử hộp trắng?

Các

sai logic

&

giả thiết không đúng tỷ lệ nghịch

với xác suất

để một con đường logic được thi

hành.

Thực tế:

mọi con đường lôgic đều có thể được thi

hành

trên 1 cơ sở nhất định

Có những sai chính tả

có thể là ngẫu nhiên trên

đường ta không kiểm tra.

2005

Bộ môn CNFM – Đại học Công nghệ

21

e. Các kỹ thuật sử dụng

Nguy

n V

ă

n V

1.

2.

3.

4.

5.

Đồ thị dòng (Tom

McCabe đưa ra đầu tiên).

Ma trận kiểm thử

(số

đường đi, trọng số).

Điều kiện lôgic – chiến lược miền và BRO

Điều khiển theo dòng dữ liệu

Các cấu trúc chu trình – giá trị đặc trưng

2005

Bộ môn CNFM – Đại học Công nghệ

22

f. Kỹ thuật đồ thị dòng

Nguy

n V

ă

n V

f0. Khái niệm về đồ thị dòng

Là một kỹ thuật dựa trên cấu trúc điều khiển của

      chương trình.

      Gần giống đồ thị luồng điều khiển

của chương trình.

Nhận được từ đồ thị luồng điều khiển

bằng cách:

•

gộp các lệnh tuần tự

•

thay lệnh rẽ nhánh và điểm kết thúc của các đường

  điều khiển bằng 1 nút vị tự

2005

Bộ môn CNFM – Đại học Công nghệ

23

f1. Cấu trúc đồ thị dòng

Nguy

n V

ă

n V

Cấu trúc

gồm:

mỗi nút

(hình tròn) biểu thị một hay một số lệnh tuần tự,

hoặc thay cho điểm hội tụ các đường điều khiển.

mỗi cạnh nối hai nút

biểu diễn dòng điều khiển,

Kết quả đồ thi dòng:

Chia mặt phẳng thành nhiều miền.

nút vị từ

biểu thị sự

phân nhánh

hoặc

hội nhập

của

các cung.

2005

Bộ môn CNFM – Đại học Công nghệ

24

f2. Các kiểu cấu trúc thành phần đồ thị dòng

Nguy

n V

ă

n V

Các cấu trúc cơ bản của đồ thị dòng:

while

if

until

case

2005

Bộ môn CNFM – Đại học Công nghệ

25

f3. Ví dụ: cấu trúc điều khiển chương trình

Nguy

n V

ă

n V

xét biểu đồ điều

khiển của một

chương trình

1

2

3

6

7

11

9

10

26

4

8

5

2005

Bộ môn CNFM – Đại học Công nghệ

f4. Ví dụ: cấu trúc đồ thị dòng

Nguy

n V

ă

n V

luồng điều khiển

1

2

3

6

7

11

9

10

8

4

5

đồ thị dòng

1

2,3

6

7

11

9

8

10

27

4,5

2005

Bộ môn CNFM – Đại học Công nghệ

f5. Ví dụ: xác định các thông số

Nguy

n V

ă

n V

Đồ thị dòng trên gồm:

9

nút, trong đó:

5

nút là vị tự (mầu đỏ)

11

cung

Chia mặt phẳng thành

4 miền

2005

Bộ môn CNFM – Đại học Công nghệ

28

f6. Độ phức tạp của chu trình

Nguy

n V

ă

n V

Để đảm bảo

mọi câu lệnh đều được kiểm thử ít nhất

một lần,

cần tìm được tất cả

các đường điều khiển

độc lập trong chương trình (khác

với các đường khác

ít nhất một lệnh).

Số các đường độc lập

của 1 chương trình là

giới hạn

trên

số

các kiểm thử

cần phải tiến hành. Nó được gọi

độ phức tạp chu trình của chương trình

Các đường độc lập của 1 chương trình trùng với các

đường độc lập của đồ thì dòng (tim đơn giản hơn).

2005

Bộ môn CNFM – Đại học Công nghệ

29

f7. Tính toán độ phức tạp chu trình

Nguy

n V

ă

n V

Độ phức tạp chu trình

V(G) của đồ thị G

được tính

theo các cách sau:

V(G) = E - N + 2

V(G) = P – 1

(= 11-9+2 = 4)

(= 5-1 =4)

V(G) = số miền phẳng

(= 4)

Trong đó:

E

= số cung;

N

= số nút;

P=

số nút vị từ

Với ví dụ về đồ thị dòng ở trên ta có:

V(G) = 4

2005

Bộ môn CNFM – Đại học Công nghệ

30

f8. Xác định các ca kiểm thử

Nguy

n V

ă

n V

  Vẽđồ

thị dòng

Tính độ phức

Tạp chu trình

Xác định tập

đường cơ bản

Chuẩn bị các

 ca kiểm thử

Yêu cầu,

mã nguồn

Các ca kiểm thử

  và nội dung

2005

Bộ môn CNFM – Đại học Công nghệ

31

g. Kỹ thuật ma trận kiểm thử

Nguy

n V

ă

n V

Ma trân kiểm thử

là một ma trận vuông có kich thước

bằng số các nút trong đồ thị dòng:

•

Mỗi dòng/cột

ứng với

tên một nút

•

Mỗi ô:

tên một cung

nối nút dòng đến nút cột.

Nhân liên tiếp k ma trận

này được ma trận chỉ

số con

đường k cung

từ nút dòng tới nút cột.

Ma trận kiểm thử được sử dụng như 1 dữ liệu có cấu

trúc để

kiểm tra các con đường cơ bản: số đường đi

qua nút

2005

Bộ môn CNFM – Đại học Công nghệ

32

g1. Các ma trận kiểm thử có trọng số

Nguy

n V

ă

n V

Để ma trận kiểm thử -

một công cụ mạnh -

trong việc

đánh giá cấu trúc điều khiển chương trình. Khi kiểm

thử, ta

thêm trọng số cho các cung

của ma trận kiểm

thử như sau:

Xác suất

cung đó được thực thi.

Thời gian xử lý

của tiến trình đi qua cung đó

Bộ nhớ đòi hỏi

của tiến trình đi qua cung đó.

Nguồn lực đòi hỏi

của tiến trình đi qua cung đó.

2005

Bộ môn CNFM – Đại học Công nghệ

33

g2. Ví dụ ma trận kiểm thử

Nguy

n V

ă

n V

1

23 45

1

1

6

1

7

8

9

10 11

1

1

1

2,3

4,5

8

9

10

1

23

45

6

7

8

9

10 1

11

6

7

11

1

1

1

1

1

=A

2005

Bộ môn CNFM – Đại học Công nghệ

34

g2. Ví dụ ma trận kiểm thử (t)

Nguy

n V

ă

n V

1

1

23

45 1

23 45

1

6

1

7

1

8

1

9

10 11

A

2

=

6

7

8

9

10

11

1

2

1

1

1

Bộ môn CNFM – Đại học Công nghệ

Các số

trong ma

trận cho

biết số

con

đường

có hai

cạnh đi

qua

cung đó

35

2005

h. Điều kiện logic và các chiến lược

Nguy

n V

ă

n V

Trong 1 chương trình, Điều kiện lôgic có thể là:

Điều kiện đơn là

1 biến Bool

(có thể có toán tử phủ định):

X

Điều kiện đơn là

biểu thức quan hệ

giữa 2 biểu thức số học

C

= (A

Θ B)

, với

Θ

là phép so sánh:

<, ≤, =, >, ≥

hay

A, B

là biểu thức số học

Điều kiện phức hợp

cấu thành từ

hơn một điều kiện đơn

nhờ

các toán tử Bool:

hoặc

(

),

(∩),

phủ định (┘)

D = X

1

& X

2

& … X

n

,

trong đó

X

i

là điều kiện đơn,

&

là toán

                        tử bool

2005

Bộ môn CNFM – Đại học Công nghệ

36

h1. Kiểu sai trong điều kiện lôgic

Nguy

n V

ă

n V

Sai biến Bool.

Sai toán tử Bool.

Sai số hạng trong biểu thức toán tử Bool

Sai toán tử quan hệ.

Sai biểu thức số học.

2005

Bộ môn CNFM – Đại học Công nghệ

37

h2. Chiến lược kiểm thử phân nhánh

Nguy

n V

ă

n V

Kiểm thử

từng điều kiện

trong chương trình.

Kiểm thử điều kiện không chỉ là

phát hiện sai trong

điều kiện

đó mà còn là phát hiện

sai khác

của

chương trình liên quan.

Đã có một số chiến lược kiểm thử .

Nguyên tắc kiểm thử nhánh:

với mỗi điều kiện

phức hợp C, thì với mỗi

nhánh “true” và “false”

của C,

mỗi điều kiện đơn trong C

phải được kiểm thử ít nhất

một lần.

2005

Bộ môn CNFM – Đại học Công nghệ

38

h3. Chiến lược kiểm thử miền

Nguy

n V

ă

n V

Chiến lược kiểm thử miền

cần

3 hoặc 4

kiểm thử cho

một biểu thức

quan hệ gồm

các

trường hợp:

<, >, =

và có thể

nữa.

Nếu biểu thức Bool có n biến, mà n nhỏ thì thuận lợi,

song

n lớn thì khó thực hiện!

Người ta đưa ra chiến lược cho

các phép thử nhạy

cảm

bằng cách áp dụng kết hợp chiến lược

kiểm thử

nhánh

kiểm thử miền

(quan hệ)

Làm sao chỉ ra tất cả các trường hợp cần kiểm

thử?

2005

Bộ môn CNFM – Đại học Công nghệ

39

h4. Chiến lược kiểm thử BRO

Nguy

n V

ă

n V

BRO

= kiểm thử nhánh & toán tử quan hệ.

       (branch

and

relational operation)

BRO dùng “ràng

buộc điều kiện làm điều kiện cần thử”

để phát hiện sai ở nhánh và toán tử khi xẩy ra một lần

và không có biến chung.

Giả sử:

D = X

1

&X

2

& … X

n

, X

i

:

điều kiện đơn,

&:

toán tử bool

Cần đặc tả

ràng buộc đầu ra của

X

i

tương ứng với điều

kiện D đã xác định?.

2005

Bộ môn CNFM – Đại học Công nghệ

40

h4. Chiến lược BRO – điều kiện đầu vào

Nguy

n V

ă

n V

Ta nói rằng ràng buộc

X

i

của điều kiện

D

được phủ

bởi một sự thực thi của C

nếu như trong quá trình thực

thi đó,

đầu ra của mỗi điều kiện

đơn

X

i

trong

D

thoả mãn

các ràng buộc tương ứng.

Điều này có nghĩa là:

Khi giá trị của

D

đã cho, ta cần tìm

các điều kiện ràng buộc mà mỗi

X

i

(1 thành phân của D)

cần thỏa mãn để đảm bảo được giá trị của D

2005

Bộ môn CNFM – Đại học Công nghệ

41

h5. Chiến lược BRO – tạo ràng buộc

Nguy

n V

ă

n V

Với

một biến Bool B,

thì

ràng buộc đầu ra

của

B là

t

(true)

hoặc

f

(false).

Với

một biểu thức quan hệ

(A

Θ B)

thì

ràng

buộc đầu ra

của nó là toán tử quan hệ:

Θ

thể nhận một trong bốn giá trị

>, <, =, #

(lớn

hơn, nhỏ hơn & bằng hoặc khác).

2005

Bộ môn CNFM – Đại học Công nghệ

42

h6. Chiến lược BRO – tạo ràng buộc1

Nguy

n V

ă

n V

thí dụ, xét điều kiện

C = A

B

A và B

hai biến Bool.

Khi đó

ràng buộc đầu ra

của

C

là một cặp giá trị của

t

f.

Chiến lược kiểm thử BRO đòi hỏi rằng tập ba cặp

ràng buộc

(t,t), (t,f) và (f,t) đều được phủ bởi các thực

thi của C.

Căp (t,t)

Căp (t,f) và (f,t)

2005

ứng với C =

t

ứng với C =

f

43

Bộ môn CNFM – Đại học Công nghệ

h7. Chiến lược BRO – tạo ràng buộc2

Nguy

n V

ă

n V

Xét điều kiện

C =

(B

=

E).

Khi đó

ràng buộc

đầu ra là “

=

“ tương ứng với

t

và “

<

,

>”

tương ứng với

f

Xét điều kiện

C là hội biến Bool

biểu thức quan hệ:

A

B = E.

Khi đó các ràng buộc của C là các cặp

(t,t), (t,f)

(f,t);

với (B = E) có giá trị

t

tương ứng với

“=“, và giá trị

f

tương ứng với “<“ hoặc “>”; Bởi vậy

tập các ràng buộc đầu ra của

C phải gồm 4 phần tử:

(t,=), (t,<), (t,>) và (f,=).

Phủ của các ràng buộc này bảo đảm phát hiện được

sai biến Bool hoặc toán tử quan hệ trong C.

2005

Bộ môn CNFM – Đại học Công nghệ

44

h8. Chiến lược BRO – tạo ràng buộc 3

Nguy

n V

ă

n V

Xét điều kiện

C là hội của hai biểu thức quan hệ

(A>B) và (E=F)

Tập ràng buộc

đầu ra sẽ

(t,t), (t,f) và (f,t)

tương ứng sẽ là:

(>,=); (>,<); (>,>); (=,=)

(<,=).

Phủ của ràng buộc này bảo đảm rằng phát hiện

được sai ở các toán tử quan hệ trong C.

2005

Bộ môn CNFM – Đại học Công nghệ

45

i. Kiểm thử điều khiển theo dòng dữ liệu

Nguy

n V

ă

n V

Phương pháp kiểm thử

dòng dữ liệu tuyển chọn các

đường

của chương trình tương ứng với việc định vị

các

xác định biến và sử dụng biến

trong chương trình. Đã

một số chiến lược

kiểm thử dòng dữ liệu và so sánh

chúng.

Giả sử

rằng mỗi câu lệnh của chương trình được gán

với

số câu lệnh duy nhất

mỗi hàm không được cải

biên các tham số

của nó và các biến toàn cục.

2005

Bộ môn CNFM – Đại học Công nghệ

46

i1. Định nghĩa các dòng dữ liệu

Nguy

n V

ă

n V

Với mỗi câu lệnh S ta định nghĩa:

DEF(S)

= { X / câu lệnh

S chứa định nghĩa X}

USE(S)

= { X / câu lệnh

S chứa 1 sử dụng X}

Nếu S là

câu lệnh

if

hoặc câu lệnh

vòng lặp

thì

DEF(S)

rỗng,

còn

USE(S)

của nó được xác định tùy

theo

điều kiện trong S.

2005

Bộ môn CNFM – Đại học Công nghệ

47

i2. Chiến lược lần vết theo dòng dữ liệu

Nguy

n V

ă

n V

Giả thiết:

định nghĩa biến X

ở câu lệnh

S vẫn còn sống

ở câu lệnh

S’

nếu có một con

đường từ S tới S’

trên đó không chứa một định nghĩa nào khác của X.

Một

dây truyền DU sử dụng X

ký hiệu là

DU = [X,S,S’]

với X trong

DEF(S)

và trong

USE(S’),

và định nghĩa

X

trong S vẫn còn sống trong S’.

Chiến lược kiểm thử dòng dữ liệu đòi hỏi rằng:

mọi DU

đều phải

được phủ ít nhất một lần.

2005

Bộ môn CNFM – Đại học Công nghệ

48

i3. Đánh giá chiến lược theo dòng dữ liệu

Nguy

n V

ă

n V

kiểm thử DU

không bảo đảm phủ tất cả các nhánh

của

chương trình; tuy nhiên 1 nhánh không được phủ bởi

DU kiểm thử là rất hiếm.

Với chiến lược theo dòng, phần lớn trạng thái chương

trình được kiểm soát

kiểm thử dòng dữ liệu

là hữu ích với

các đường

của

chương trình có chứa

các câu lệnh if

hoặc

vòng lặp.

2005

Bộ môn CNFM – Đại học Công nghệ

49

k. Kiểm thử điều khiển theo vòng lặp

Nguy

n V

ă

n V

bốn loại vòng lặp:

mỗi loại dùng một tập

các phép thử khác nhau

Vòng lặp đơn.

2005

Bộ môn CNFM – Đại học Công nghệ

50

k1. Kiểu vòng lặp lồng nhau

Nguy

n V

ă

n V

Kết hợp mỗi vòng lặp ngoài với mọi vòng lặp trong

2005

Bộ môn CNFM – Đại học Công nghệ

51

k2. Kiểu vòng lặp nối tiếp

Nguy

n V

ă

n V

Kết hợp mỗi vòng lặp trước với mọi vòng lặp sau

2005

Bộ môn CNFM – Đại học Công nghệ

52

k3. Chọn giá trị cho mỗi loại vòng lặp

Nguy

n V

ă

n V

Với mỗi loại vòng lặp, thường chỉ sử dụng ba giá

trị lặp: hai giá trị biên và một giá trị giữa hai biên

Các giá trị lặp của một vòng lặp

Các giá trị lặp nên chọn

2005

Bộ môn CNFM – Đại học Công nghệ

53

C. Kiểm thử hộp

đen

Nguy

n V

ă

n V

a Khái niệm

Là kiểm thử

yêu cầu chức năng

Đối tương:

mô đun, hệ con, toàn hệ thống

Đặc trưng:

Thuyết minh:

các chức năng đủ

&

vận hành đúng

Thực hiện:

qua giao diện

Cơ sở:

đặc tả, điều kiện vào/ra

cấu trúc

dữ liệu

Ít chú ý tới cấu trúc logic nội tại của nó

2005

Bộ môn CNFM – Đại học Công nghệ

54

a. Mô hình khái niệm kiểm thử hộp đen

Nguy

n V

ă

n V

Khởi đầu –kết thúc

?

Đặc tả

     1.………

  hệ

thống 2….……

      ………

 phần

 mềm n ………

Giao

diện

Chức

năng

 dữ

liệu

?

?

?

Phần

mềm

 Dữ

liệu

đầu

vào

2005

Bộ môn CNFM – Đại học Công nghệ

Kết quả

  ra

Đầu ra liên quan

55

b. Mục đích kiểm thử hộp đen

Nguy

n V

ă

n V

Tìm

các loại sai

liên quan:

Chức năng:

đủ, đúng đắn

Giao diện:

vào, ra: đủ, phù hợp, đúng, tiện lợi

Cấu trúc, truy cập dữ liệu:

thông suốt, đúng đắn

Thực thi:

trôi chảy, kịp thời, chịu lỗi, phục hồi

Khởi đầu - kết thúc:

mỗi tiến trình thông suốt

2005

Bộ môn CNFM – Đại học Công nghệ

56

c. Câu hỏi cho kiểm thử hộp đen

Nguy

n V

ă

n V

Các câu hỏi

tập trung trả lời :

Hiệu lực của chức năng

(chức năng, hiệu suất, giao diện) đạt

được đến đâu?

Lớp đầu vào

nào cho các ca kiểm thử tốt?

Sự nhạy cảm

của môđun

với giá trị vào nào?

Các biên

của lớp dữ liệu được cô lập chưa?

Chiu lỗi

với nhịp điệu/khối lượng dữ liệu như thế nào?

Tổ hợp dữ liệu đặc biệt

ảnh hưởng gì đến hoạt động hệ thống?

Những tiến trình nào

(khởi đầu, kết thúc) chưa thông suốt?

2005

Bộ môn CNFM – Đại học Công nghệ

57

d. Vấn đề và tiêu chuẩn lựa chọn

Nguy

n V

ă

n V

Vấn đề:

Các tiến trình của mỗi chức năng hệ thống đủ lớn

Các dữ liệu dày đặc, đa dạng

Không dự kiến tới mọi sự bất thường

Tiêu chuẩn hướng đến:

Thu gọn ca kiểm thử đến mức có thể

(ít,

đơn giản).

Phát hiện sai trên lớp dữ liệu, số đặc biệt

(không

phải

1 sai cụ thể gắn với 1 kiểm thử cụ thể)

2005

Bộ môn CNFM – Đại học Công nghệ

58

e. Các kỹ thuật kiểm thử hộp đen

Nguy

n V

ă

n V

   Phân hoạch tương đương

2.

Phân tích giá trị biên

3.

Đồ thị nhân quả

1.

Câu hỏi:

đầu vào, điều kiên? Loại sai? Khó khăn?

Kỹ thuật dùng: vấn đề giải quyết? Phương châm

– nguyên tắc? Bước đi? Kết quả? ưu, nhược?

2005

Bộ môn CNFM – Đại học Công nghệ

59

f. Phân hoạch tương đương

Nguy

n V

ă

n V

Là một

kỹ thuật

của kiểm thử hộp đen

Nguyên tắc:

chia miền vào

của chương trình

thành các

lớp

dữ liệu để lập ra các ca kiểm thử theo mỗi lớp đó.

Cơ sở:

dữ liệu trong 1 lớp tương đương tác động như

nhau lên chương trình, tạo ra cùng một tráng thái:

đúng

hay

sai

của chương trình

rút

Mục tiêu:

tìm ra 1 ca kiểm thử để

bộc lộ 1 lớp sai,

gọn số ca kiểm thử

cần phát triển.

Ca kiểm thử được

thiết kế cho từng lớp tương đương

2005

Bộ môn CNFM – Đại học Công nghệ

60

f1. Chọn lớp tương đương

Nguy

n V

ă

n V

Phương châm

xác định các lớp tương đương:

1.

Điều kiện vào là phạm vi rộng giới hạn một miền hay

   những giá trị đặc biệt thì cần xác định:

1 lớp

tương đương

hợp lệ

2 lớp

tương đương

không hợp lệ.

2.

Điều kiện vào đặc tả một thành phần của một tập hoặc

   điều kiện Bool thì cần xác định:

1 lớp

tương đương

hợp lệ

1 lớp

tương đương

không hợp lệ.

2005

Bộ môn CNFM – Đại học Công nghệ

61

f2. Phân tích giá trị biên

Nguy

n V

ă

n V

Các

sai

có xu hướng

xuất hiện ở biên

của vùng

dữ liệu (hơn là ở “trung tâm”).

Các sai

có thể

cả trong và ngoài biên

kiểm thử không chỉ chú ý đến

các dữ liệu biên

mà còn chú ý đến

các dữ liệu sát biên

(trong,

ngoài).

Các ca kiểm thử được xác định nhằm thực hiện

các giá trị biên và sát biên

2005

Bộ môn CNFM – Đại học Công nghệ

62

f3. Chọn lớp tương đương giá trị biên

Nguy

n V

ă

n V

Phương châm

(phân tích giá trị biên):

3. Nếu điều kiện vào là một miền giới hạn bởi a và b

   thì cần thiết kế các ca kiểm thử

cho cả a

b, và

   cả trên,dưới a

b.

4. Nếu điều kiện vào đặc tả một số giá trị thì thiết kế

   các ca kiểm thử cho cả

các số trên

dưới số nhỏ

   nhất

&

lớn nhất.

2005

Bộ môn CNFM – Đại học Công nghệ

63

f3. Áp dụng cho giá trị biên

ra

Nguy

n V

ă

n V

Áp dụng phương châm

1 và 2 cho cả điều kiện

ra.

Áp dụng điều kiện giá trị biên cho cả

chương

trình trung gian có các biên

của cấu trúc dữ liệu

được mô tả

2005

Bộ môn CNFM – Đại học Công nghệ

64

f4. Mô hình phân hoạch & phân tích giá trị biên

Nguy

n V

ă

n V

.....

 Chọn

Lớp

tương

đương

  x

 xx

  x

 xx

.....

  x

 xx

  x

 xx

b

Chọn

Ca

kiểm

 thử

a

Miền giới hạn

x

x

x

x

x

x

x

max

x

x

min

Miền rộng

Nhiều giá trị

Một số giá trị

2005

Bộ môn CNFM – Đại học Công nghệ

65

g. Kỹ thuật đồ thị nhân quả

Nguy

n V

ă

n V

Là một

kỹ thuật để thiết kế ca kiểm thử

Cung cấp

một biểu diễn chính xác giữa

các điều

kiện logic (đầu

vào)

và các hành động tương ứng

(đầu

ra- kêt quả).

Được xây dựng dựa trên các

mô đun chức năng,

lôgíc tiến trình

đặc tả hệ thống

Kỹ thuật gồm

4 bước

2005

Bộ môn CNFM – Đại học Công nghệ

66

g1. Các bước tiến hành

Nguy

n V

ă

n V

  Đặc tả hệ

thống phần mềm

 Xây dựng các

ca kiểm thử theo

 luật của bảng

Lập DS nguyên

 nhân-kết quả

 theo môđun

Các mô đun

chức năng

Phát triển

 đồ thị

nhân-quả

Chuyển đồ

thibảng

quyết định

2005

Bộ môn CNFM – Đại học Công nghệ

67

g2. Ví dụ kỹ thuật đồ thị nhân quả

Nguy

n V

ă

n V

Danh sách nhân quả theo modul

Modul

A

Nguyên nhân

Số > a

Số ≥ a

Số = a

B

2005

Kết quả

đúng

nghi ngờ

nghi ngờ

sai

đúng

Định danh

A1

A2

A3

A4

B1

68

 Số < a

Số nguyên

Bộ môn CNFM – Đại học Công nghệ

g2. Ví dụ kỹ thuật đồ thị nhân quả

Nguy

n V

ă

n V

Có nhiều công cụ để xây dựng đồ thị nhân quả. Đồ thị

có hướng thường hay được dùng hơn cả

Môđun A

Môđun B

Môđun A1

Môđun A2

Môđun A3

Môđun A4

2005

Bộ môn CNFM – Đại học Công nghệ

69

Môđun B

g3. Bảng quyết định của đồ thị nhân quả

Nguy

n V

ă

n V

Định danh

A1

A2,A3

A4

B1

2005

Điều kiện

Số > a

Số ≥ a

Số < a

Số nguyên

đúng nghi ngờ

X

X

Sai

X

X

..

..

..

70

Bộ môn CNFM – Đại học Công nghệ

g4. Chọn ca kiểm thử

Nguy

n V

ă

n V

Chọn 2 ca kiểm thử

Ca 1: A1 & B

số >a

Môđun A1

Môđun B

đúng

Ca 2: A2,A3,A4 & B

Môđun A2

số

≤a

Môđun A3

Môđun A4

Môđun B

?

2005

Bộ môn CNFM – Đại học Công nghệ

71

C©u hái và thảo luận

Nguy

n V

ă

n V

2005

Bộ môn CNFM – Đại học Công nghệ

72

Bạn đang đọc truyện trên: Truyen2U.Pro