1. Trang chủ
  2. » Tất cả

chapter4

72 6 0

Đ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

Định dạng
Số trang 72
Dung lượng 2,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dungPhân lớp tương đương Phân tích giá trị biên Đồ thị nhân quả - bảng quyết định Đoán lỗi Kiểm thử dựa trên mô hình...  Nếu lớp tương ₫ương ₫ược xác ₫inh bởi các dữ liệu nhập là số

Trang 1

KIỂM THỬ CHỨC NĂNG

1 Các nguyên lý 2 Vòng đời

4 Kiểm thử chức năng

3 Kỹ thuật kiểm thử

5 Kiểm thử cấu trúc 6 Quản lý chất lượng

KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Chương 4

Trang 2

Nội dung

Phân lớp tương đương

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

Đồ thị nhân quả - bảng quyết định

Đoán lỗi Kiểm thử dựa trên mô hình

Trang 3

Các test case kích hoạt thành phần phần mềm (TPPM) thực hiện cùng một hành vi nhóm vào 1 nhóm (họ)  gọi là 1 lớp tương đương

Mỗi nhóm chỉ định 1 test case đại diện và dùng test case để kiểm thử thành phần phần mềm

Nếu test case trong lớp tương đương gây lỗi thành phần phần mềm thì các test case khác cũng sẽ gây ra lỗi như vậy và ngược lại

Kỹ thuật phân lớp tương đương

Trang 4

Tuổi ƯV Kết quả

>=0 &&<16 Không thuê

>=16&&<18 Thuê dạng bán thời

gian

>=18 && <55 Thuê toàn thời gian

>=55 && <=99 Không thuê

4

Ví dụ: TPPM “quản lý nguồn nhân lực” với đặc tả chức năng: mỗi

lần nhận hồ sơ xin việc, TPPM sẽ ra quyết định

• Phân tích đặc tả chức năng ta sẽ

thấy có 4 lớp tương đương, mỗi lớp

chứa các test case ứng với chế độ

xử lý của TPPM: không thuê vì quá

trẻ, thuê bán thời gian, thuê toàn

thời gian, không thuê vì quá già

• Định nghĩa test case đại diện cho

mỗi lớp:

1 Testcase 1 : {Input : 2 tuổi, Output : không thuê}

2 Testcase 2 : {Input : 17 tuổi, Output : thuê bán thời gian}

3 Testcase 3 : {Input : 35 tuổi, Output : thuê toàn thời gian}

4 Testcase 4 : {Input : 90 tuổi, Output : không thuê}

Trang 5

Thay vì vét cạn 100 trường hợp  giảm còn 4 trường hợp

Ta hy vọng chất lượng kiểm thử không bị giảm sút vì bình thường code là:

if (applicantAge >= 0 && applicantAge <16) qd ="NO";

if (applicantAge >= 16 && applicantAge <18) qd ="PART";

if (applicantAge >= 18 && applicantAge <55) qd ="FULL";

if (applicantAge >=55 && applicantAge <=99) qd ="NO";

Tuy nhiên cá biệt nếu code tồi:

Trang 6

 Nếu lớp tương ₫ương ₫ược xác đinh bởi các dữ liệu nhập là số

thực liên tục, thì ta chọn 1 testcase ₫ại diện có giá tri nhập hợp

lệ nằm trong khoảng liên tục các giá tri hợp lệ, và nếu muốn, 2 testcase miêu tả giá tri không hợp lệ nằm phía dưới và phía trên khoảng giá tri hợp lệ (số testcase cho mỗi lớp tương ₫ương là từ

1 tới 3).

 Nếu lớp tương ₫ương ₫ược xác ₫inh bởi các dữ liệu nhập là số

nguyên liên tục, trong trường hợp này ta chọn 1 testcase ₫ại diện

có giá tri nhập hợp lệ nằm trong khoảng liên tục các giá tri hợp

lệ, và nếu muốn, 2 testcase miêu tả giá tri không hợp lệ nằm

phía dưới và phía trên khoảng tri hợp lệ (số testcase cho mỗi lớp tương ₫ương là từ 1 tới 3).

6

Lựa chọn test case cho lớp đại diện

tương đương?

Trang 7

 Nếu lớp tương ₫ương ₫ược xác ₫ịnh bởi các dữ liệu dạng liệt kê rời rạc và không có mối quan hệ lẫn nhau gồm 1 trị hợp lệ và nhiều trị không hợp lệ Trong trường hợp này ta chọn 1 testcase có giá trị nhập hợp lệ và nếu muốn,

2 testcase miêu tả 2 giá trị không hợp lệ nào ₫ó, nhưng cho dù chọn 2

testcase nào cũng không ₫ại diện tốt cho các trường hợp không hợp lệ còn lại (số testcase cho mỗi lớp tương ₫ương là từ 1 tới 3).

 Nếu lớp tương ₫ương ₫ược xác ₫ịnh bởi các dữ liệu dạng liệt kê rời rạc và không có mối quan hệ lẫn nhau gồm n trị hợp lệ và m trị không hợp lệ Trong trường hợp này ta chọn 1 testcase có giá trị nhập hợp lệ nào ₫ó và nếu

muốn, 2 testcase miêu tả 2 giá trị không hợp lệ nào ₫ó, nhưng cho dù chọn các testcase nào cũng -10 1 2 3 4 5 6 7 8 không ₫ại diện tốt cho các trường hợp hợp lệ và không hợp lệ còn lại (số testcase cho mỗi lớp tương ₫ương là

từ 1 tới 3).

Lựa chọn test case cho lớp đại diện

tương đương?

Trang 8

Bài tập

Trang 9

Ưu nhược điểm

chỉ cần kiểm thử trên các phần tử đại diện nên

số lượng test case giảm đi khá nhiều, thời gian kiểm thử cũng giảm đáng kể Có thể áp dụng

phân vùng tương đương cho cả miền đầu vào và đầu ra nên khả năng dự đoán lỗi tốt

1 giá trị đại diện ở khoảng giữa của miền tương đương

Trang 10

Nội dung

Phân lớp tương đương

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

Đồ thị nhân quả - bảng quyết định

Đoán lỗi Kiểm thử dựa trên mô hình

Trang 11

Nguyên lý: Các chương trình có thể coi là một hàm (toán học):

- Các đầu vào của chương trình là miền xác định của hàm

- Các đầu ra là miền giá trị của hàm

Mục tiêu: sử dụng kiến thức về hàm để xác định các

ca kiểm thử Trước kia chủ yếu tập trung vào miền

xác định, nhưng nay đã dựa trên cả miền giá trị của hàm để xác định ca kiểm thử

Nội dung: tập trung phân tích các giá trị biên của

miền dữ liệu để xây dựng dữ liệu kiểm thử

BVA là kỹ thuật kiểm thử hàm phổ biến nhất

Phân tích giá trị biên (Boundary value analysis – BVA)

Trang 12

Nguyên tắc chung: kiểm thử các dữ liệu vào gồm:

- Giá trị nhỏ nhất

- Giá trị gần kề với giá trị nhỏ nhất

- Giá trị lớn nhất

- Giá trị gần kề với giá trị lớn nhất

- Giá trị bình thường

Nếu dữ liệu vào thuộc một khoảng, chọn

- 2 giá trị biên

- 4 giá trị = 2 giá trị biên±sai số nhỏ nhất

Nếu giá trị thuộc vào danh sách các giá trị, chọn: Phần tử thứ nhất,

phần tử thứ 2, phần tử kế cuối và phần tử cuối

Nếu dữ liệu vào là điều kiện ràng buộc số giá trị, chọn: số giá trị tối

thiểu, số giá trị tối đa và một số giá trị không hợp lệ

Tự vận dụng khả năng và thực tế để chọn các giá trị cần kiểm thử

12

Nguyên tắc chọn dữ liệu thử

Trang 13

VD Miền giá trị

Trang 14

BVA tập trung vào biên của miền xác định để xây dựng các ca kiểm thử Lý do là lỗi thường xuất hiện ở gần các giá trị biên này

Các ngôn ngữ không có kiểm tra kiểu mạnh càng cần kiểm thử các giá trị biên (javascript, php, Visual Basic)

14

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

Trang 15

Giả sử chương trình P nhận 2 biến đầu vào là x1 và x2 thỏa mãn a≤x1≤b và c ≤x2≤d

P(x1,x2) thỏa mãn a≤x1≤b và c ≤x2≤d

Chương trình nhận n đầu vào sẽ có không gian n chiều

Đầu vào của chương trình hợp lệ P

Trang 16

a <= x1 <=b thì sẽ chọn a, a+1, (a+b)/2, b-1, b.

c <= x2 <=d thì sẽ chọn c, c+1, (c+d)/2, d-1, d.

16

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

Trang 17

BVA dựa trên nguyên lý giả định khiếm khuyết đơn:

“Hỏng hóc xẩy ra hiếm khi do hai (hoặc hơn) khiếm khuyết cùng

xẩy ra”

Do đó các ca kiểm thử theo phương pháp này được tạo bằng

việc lấy các giá trị bình thường của các chiều/ biến rồi lần thay

đổi mỗi chiều bằng các giá trị cực trị như trên

Các ca kiểm thử theo phân tích giá trị biên

Giả thuyết khiếm khuyết đơn

T = { <x1nom, x2min>, <x1nom,

x2min+>, <x1nom, x2nom>, <x1nom,

x2max->,

<x1nom, x2max+>, <x1min, x2nom>,

< , x >, <x , x >,

Trang 18

Case# A B C Đầu ra mong đợi

VD các ca kiểm thử cho độ dài 3 cạnh hợp lệ tam giác

Trang 19

Có hai cách tổng quát hóa BVA

- Theo số biến sẽ có (4n+1) ca kiểm thử cho n

biến

- Theo loại khoảng của biến

• Phụ thuộc vào ngôn ngữ lập trình

• Tính rời rạc của biến

• Tính rời rạc không bị chặn (không có cận trên và cận dưới rõ ràng)

• Biến logic

Tổng quát hóa BVA

Trang 20

BVA hiệu quả với các chương trình có các đầu vào độc lập với nhau và biểu diễn đại lượng vật lý bị chặn

BVA lấy các ca kiểm thử mà không tính đến

chức năng của hàm, hay ý nghĩa của các biến

20

Hạn chế của BVA

Trang 21

Kiểm thử biên mạnh

(robustness testing) là một

mở rộng đơn giản của BVA

Ngoài năm giá trị biên bổ

sung thêm 2 giá trị ngoài biên

- Giá trị ngay trên giá trị cực đại

max+

- Và giá trị ngay dưới giá trị cực

tiểu

min- Mục đích chính là xem

chương trình có kiểm tra giá

trị hợp lệ của đầu vào không

Kiểm thử biên mạnh

Trang 22

Điều gì xẩy ra khi nhiều hơn 1 biến nhận các giá trị (gần) cực trị

Khi các biến có tương tác với nhau thì cần kiểm tra các bộ giá trị kết hợp các cực trị này

22

Kiểm thử biên tổ hợp

Trang 23

Kiểm thử giá trị đặc biệt là phương pháp được thực hiện nhiều nhất trong thực tế, nó cũng trực quan nhất và không có dạng cố định nhất

Sử dụng kỹ nghệ và kiến thức miền ứng dụng để

phán đoán và đưa ra ca kiểm thử

Mặc dù mang tính chủ quan cao, đây vẫn là phương pháp hiệu quả để phát hiện khiếm khuyết của chương trình

VD dựa vào hiểu biết về số ngày của các tháng trong

1 năm để kiểm thử ngày 28/2 và 29/2 ở cả năm nhuận và năm thường

Kiểm thử giá trị đặc biệt

Trang 24

Trừ kiểm thử giá trị đặc biệt, kiểm thử giá trị biên là

phương pháp thô sơ nhất

Cân nhắc các tình huống để chọn phương pháp phù hợp

- Các biến có độc lập hay phụ thuộc nhau không

- Có cần giá trị mạnh hay giá trị thường

- Giả định lỗi đơn hay đa lỗi

Có thể áp dụng BVA cho miền giá trị (đầu ra), hay các biến khác trong chương trình như biến đếm, vòng lặp, biến trung gian, chỉ số mảng, con trỏ,…

24

Hướng dẫn áp dụng BVA

Trang 25

Dữ liệu thử

VD độ dài 3 cạnh tam giác

Trang 26

1. Cho modun chương trình: Giải phương trình bậc

nhất ax+b=0; với a,b là các số nguyên nhập vào từ bàn phím Viết testcase kiểm thử chương trình.

2. Cho modun chương trình giải phương trình bậc 2

có dạng ax2+bx+c=0; với a,b,c là các số thực nhập vào từ bàn phím Viết testcase kiểm thử modun chương trình

26

Bài tập: kiểm thử giá trị biên

Trang 27

Ưu nhược điểm

Ưu điểm: Lỗi thường tập trung ở biên miền

giá trị đầu vào vì vậy phương pháp này

thường tìm ra nhiều lỗi với số ít test case

Nhược điểm: phương pháp này chỉ hiệu quả trong trường hợp đầu vào độc lập với nhau và mỗi đối số đều có một miền giá trị hữu hạn

Trang 28

Ví dụ kết hợp phương pháp phân tích giá

trị biên và phân vùng tương đương

£500 to £9000

1 to 30 yearsMinimum £10

2-64 chars

Trang 29

space

Trang 32

Mẫu điều kiện kiểm thử

Trang 33

Thiết kế các test case

Test case

Acc no: 100000 Loan: 500 Term: 1 year

Repayment: 79.86 Interest rate: 10%

Total paid: 2874.96

Repayment: 44.80 Interest rate: 7.5%

Total paid: 537.60

V1, V2, V3, V4, V5 B1, B3, B5,

Trang 34

Chọn các kiểm thử nào?

Cách tiếp cận đầy đủ nhất: các phân vùng hợp lệ, các

phân vùng không hợp lệ, các biên hợp lệ, các biên không hợp lệ

Dưới sức ép thời gian, phụ thuộc vào mục tiêu kiểm thử có thể lựa chọn cách tiếp cận khác nhau

Trang 35

Kiểm thử chức năng

Kiểm thử phần mềm

Trang 36

Là kỹ thuật thiết kế test case dựa trên đồ thi nhân quạa

Tập trung vào việc xác định các mối kết hợp giữa các điều kiện và kết quả mà các mối kết hợp này mang lại

Các bước xây dựng đồ thị nguyên nhân – kết quả

- B1: Phân chia hệ thống thành các vùng hoạt động

- B2: Xác định các nguyên nhân(causes) và kết quả (effects)

- B3: Chuyển nội dung ngữ nghĩa trong đặc tả thành đồ thị liên

kết các causes và effects

- B4: Chuyển đổi đồ thị thành bảng quyết định

- B5: Thiết lập danh sách các test case từ bảng quyết định Mỗi

test case tương ứng với 1 cột trong bảng quyết định

36

Đồ thị nhân – quả(Cause & Effect

Graphing)

Trang 37

Phân rã yêu cầu chức năng thành danh sách các function hay sub-function

B1: Phân chia hệ thống thành các

phân vùng hoạt động

Trang 38

B2.1: Dựa vào đặc tả xác định các nguyên nhân

(cause) và gán định danh id cho mỗi cause Một cause có thể được xem như là 1 input conditions hoặc là đại diện của 1 lớp tương đương input conditions

B2.2: Dựa vào đặc tả, xác định các effects hoặc sự

thay đổi trạng thái của hệ thống và chỉ định mỗi effect một id Effect có thể output condition hay đại diện của

1 lớp tương đương output conditions

38

B2 Xác định nguyên nhân – kết quả

Trang 39

VD xét đặc tả hệ thống tính phí bảo hiểm xe hơi:

- Đối với nữ < 65tuổi, phí bảo hiểm là 500$

- Đối với nam<25 tuổi, phí bảo hiểm là 3000$

- Đối với nam từ 25 – 64, phí bảo hiểm là 1000$

- Nếu tuổi từ 65 trở lên, phí bảo hiểm là 1500$

 CÓ 2 yếu tố xác định phí bảo hiểm là tuổi và giới tính

VD tính phí bảo hiểm

Trang 40

Các ký hiệu cơ bản trong đồ thị causes- effects Mỗi nút có giá trị là 0 hoặc 1: ) 0 mô tả vắng mặt, 1 mô tả có mặt

40

B3: Chuyển nội dung ngữ nghĩa trong đặc tả

thành đồ thị liên kết giữa causes và effects

Trang 41

Nếu sự kết hợp nào đó của một số nguyên nhân là không thể

bởi vì lý do ngữ nghĩa và môi trường (ví dụ ký tự không thể

đồng thời vừa là A và là B), khi đó sử dụng các ký hiệu ràng

buộc dưới đây

Các ký hiệu ràng buộc

R- Request:

yêu cầu

M- Mask: Mặt nạ

Trang 42

E: chỉ có a hoặc b có thể là 1, hay a hoặc b không thể đồng thời là 1

I: khẳng định ít nhất 1 trong a, b hoặc c luôn là 1

O: khẳng định 1 và chỉ duy nhất 1 a hoặc b là 1

R: khi a là 1 thì kết quả b cũng phải là 1

M: Nếu a là 1 thì kết quả b bắt buộc phải là 0

42

Các ký hiệu ràng buộc…

Trang 43

CEG #1: Đối với nam từ 25 đến 64, phí bảo hiểm là 1000$

CEG #2: Đối với nam < 25 tuổi, phí bảo hiểm là 3000$

VD tính phí bảo hiểm

Trang 44

CEG #3: Nếu tuổi từ 65 trở lên, phí bảo hiểm là: 1500$

CEG #4: Đối với nữ < 65 tuổi, phí bảo hiểm là: 500$

44

VD tính phí bảo hiểm

Trang 45

Chọn 1 kết quả để là trạng thái có mặt

Lật ngược trở lại đồ thị, tìm tất cả các sự kết hợp của các nguyên nhân mà sẽ thiết lập kết quả này là 1

Tạo 1 cột trong bảng quyết định cho mỗi sự kết hợp nguyên nhân

Với mỗi sự kết hợp, hãy quy định trạng thái của tất cả các kết quả khác và đặt chúng vào mỗi cột

B4: Chuyển đồ thị thành bảng

quyết định

Trang 46

Những xem xét được sử dụng khi dò theo đồ thị

Trang 47

VD tính phí bảo hiểm

Trang 48

B5: Thiết lập danh sách các test case từ bảng

quyết định Mỗi test case tương đương với 1 cột trong bảng quyết định

Trang 49

Nguyên nhân là:

Cả 3 giá trị nhập vào đều là số nguyên dương.

Tổng 2 số bất kỳ trong 3 số lớn hơn số còn lại.

Hai trong 3 số có giá trị bằng nhau.

Ba số có giá trị bằng nhau.

Kết quả là:

R1 Thông báo ba giá trị nhập vào lập thành tam giác thường.

R2 Thông báo ba giá trị nhập vào lập thành tam giác cân.

R3 Thông báo ba giá trị nhập vào lập thành tam giác đều.

R4 Thông báo ba giá trị nhập vào không lập thành một tam giác.

R5 Thông báo lỗi nhập dữ liệu.

Bài tập

Trang 50

Đồ thị

Trang 51

Bước tiếp theo là tạo bảng quyết định mục

vào giới hạn Chọn kết quả R1 là đầu tiên

- R1 có mặt nếu nút các nút 12 và 3 = 1,0

Trang 52

Mỗi cột là một test case – tương ứng với 1 quyết định

52

Bảng quyết

định

Trang 53

Tạo các ca kiểm thử

động

1 Cả 3 giá trị nhập vào đều là số nguyên dương, và

tổng của 2 số bất kỳ trong 3 số luôn lớn hơn số thứ 3,

và không có cặp 2 số bất kỳ nào trong 3 số đó là =

nhau.

2,3,4 2,4,3 3,2,4 3,4,2 4,2,3 4,3,2

R1

2 Cả 3 giá trị nhập vào đều là số nguyên dương, và

tổng cảu 2 số bất kỳ trong 3 số luôn lớn hơn số thứ 3,

và tồn tại một cặp 2 số trong 3 số đó là = nhau.

3,3,4 3,4,3 4,3,3

R2

3 Cả 3 giá trị nhập vào đều là số nguyên dương, và cả

4 Cả 3 giá trị nhập vào đều là số nguyên dương, và tồn

tại 2 số trong 3 số có tổng nhỏ hơn hoặc bằng số còn

lại.

1,2,4 Và 5 hoán vị của

nó

R4

5 Tồn tại một giá trị nhập vào không phải là số nguyên

Ngày đăng: 19/04/2022, 07:13

HÌNH ẢNH LIÊN QUAN

 Tạo 1 cột trong bảng quyết định cho mỗi sự kết hợp nguyên nhân - chapter4
a ̣o 1 cột trong bảng quyết định cho mỗi sự kết hợp nguyên nhân (Trang 45)
B5: Thiết lập danh sách các testcase từ bảng - chapter4
5 Thiết lập danh sách các testcase từ bảng (Trang 48)
B5: Thiết lập danh sách các testcase từ bảng - chapter4
5 Thiết lập danh sách các testcase từ bảng (Trang 48)
 Bước tiếp theo là tạo bảng quyết định mục vào giới hạn. Chọn kết quả R1 là đầu tiên - chapter4
c tiếp theo là tạo bảng quyết định mục vào giới hạn. Chọn kết quả R1 là đầu tiên (Trang 51)
Bảng quyết định - chapter4
Bảng quy ết định (Trang 52)
 Các lỗi cài đặt điển hình (VD chia cho 0) - chapter4
c lỗi cài đặt điển hình (VD chia cho 0) (Trang 56)
 Mô hình: một mô hình là một biểu diễn trừu tượng về hệ thống. - chapter4
h ình: một mô hình là một biểu diễn trừu tượng về hệ thống (Trang 61)
Các bước kiểm thử dựa trên mô hình - chapter4
c bước kiểm thử dựa trên mô hình (Trang 63)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN