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

Bài giảng kiểm thử và đảm bảo chất lượng phần mềm chương 4

20 0 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

Tiêu đề Chương 4
Trường học Đại học Công nghệ Thông tin - Đại học Quốc gia TP.HCM
Chuyên ngành Kiểm thử và Đảm bảo Chất lượng Phần mềm
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 20
Dung lượng 0,99 MB

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

Nội dung

KIỂM THỬ CHỨC NĂNG1 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 1... N

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

1

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

Kiểm thử chức năng

Kiểm thử phần mềm

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

3

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ê

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:

if (applicantAge == 0) qd ="NO"; …

if (applicantAge == 16) qd ="PART"; …

if (applicantAge == 53) qd ="FULL"; …

Ví dụ quản lý nguồn nhân lực…

Trang 6

N u l p tế ớ ương ₫ương ₫ược xác định 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á tr  nh p h p lụ ọ ₫ạ ệ ị ậ ợ ệ n m ằ trong kho ng liên t c các giá tr  h p l , và n u mu n, 2ả ụ ị ợ ệ ế ố  testcase 

miêu t  giá tr  không h p l  n m phía dả ị ợ ệ ằ ưới và phía trên kho ng ả gia  ́

tr  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  nh 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á tr  nh p h p l  n m trong kho ng liên t c các giá tr  h p l ,ị ậ ợ ệ ằ ả ụ ị ợ ệ  và 

n u mu n, 2 testcase miêu t  giá tr  không h p l  n m phíaế ố ả ị ợ ệ ằ  dưới và  phía trên kho ng tr  h p l  (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 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).

7

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

Ưu điểm: vì mỗi vùng của lớp tương đương ta 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

Nhược điểm: có thể thiếu lỗi ở biên vì chỉ

chọn 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

Kiểm thử chức năng

Kiểm thử phần mềm

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

11

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ử

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)

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

15

Đầ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. 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

17

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

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

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

x2max->,

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

< 1min+, x2nom>, <x1max-, x2nom>,

<x1max, x2nom> }

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

biến

cận dưới rõ ràng)

19

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 Hạn chế của BVA

Ngày đăng: 24/02/2023, 09:42

🧩 Sản phẩm bạn có thể quan tâm