Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2: Kiểm thử phần mềm

†Kiểm thửFM làyếu tốquyết địnhcủ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 ?

pdf72 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1744 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2: Kiểm thử phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ệ 43
Nguyễn Văn Vỵ
thí dụ, xét điều kiện C = A ∩ B
„ A và B là hai biến Bool. Khi đó ràng buộc đầu ra của 
C là một cặp giá trị của t và 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) ứng với C = t
¾ Căp (t,f) và (f,t) ứng với C = f 
h6. Chiến lược BRO – tạo ràng buộc1
2005 Bộ môn CNFM – Đại học Công nghệ 44
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 và biểu thức quan hệ: 
A và B = E. Khi đó các ràng buộc của C là các cặp 
(t,t), (t,f) và (f,t); với (B = E) có giá trị t tương ứng với 
“=“, và giá trị f tương ứng với “”; 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,) 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.
h7. Chiến lược BRO – tạo ràng buộc2
2005 Bộ môn CNFM – Đại học Công nghệ 45
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) và 
tương ứng sẽ là: (>,=); (>,,>); (=,=) và
(<,=). 
† 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.
h8. Chiến lược BRO – tạo ràng buộc 3
2005 Bộ môn CNFM – Đại học Công nghệ 46
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. Đã 
có 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 và 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.
i. Kiểm thử điều khiển theo dòng dữ liệu
2005 Bộ môn CNFM – Đại học Công nghệ 47
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) 
là rỗng, còn USE(S) của nó được xác định tùy theo 
điều kiện trong S.
i1. Định nghĩa các dòng dữ liệu
2005 Bộ môn CNFM – Đại học Công nghệ 48
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’ mà 
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.
i2. Chiến lược lần vết theo dòng dữ liệu 
2005 Bộ môn CNFM – Đại học Công nghệ 49
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.
i3. Đánh giá chiến lược theo dòng dữ liệu
2005 Bộ môn CNFM – Đại học Công nghệ 50
Nguyễn Văn Vỵ
† Có 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.
k. Kiểm thử điều khiển theo vòng lặp
2005 Bộ môn CNFM – Đại học Công nghệ 51
Nguyễn Văn Vỵ
k1. Kiểu vòng lặp lồng nhau
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ệ 52
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
k2. Kiểu vòng lặp nối tiếp
2005 Bộ môn CNFM – Đại học Công nghệ 53
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
k3. Chọn giá trị cho mỗi loại vòng lặp
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ệ 54
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 và cấu trúc dữ liệu
ƒ Ít chú ý tới cấu trúc logic nội tại của nó
C. Kiểm thử hộp đen 
2005 Bộ môn CNFM – Đại học Công nghệ 55
Nguyễn Văn Vỵ
Phần 
mềm
Kết quả
ra
Đặc tả
hệ
thống 
phần 
mềm
1.………
2….……
………
n ………
Giao 
diện
Chức 
năng
dữ
liệu
Dữ
liệu 
đầu 
vào
?
?
?
?
Khởi đầu –kết thúc
Đầu ra liên quan
a. Mô hình khái niệm kiểm thử hộp đen
2005 Bộ môn CNFM – Đại học Công nghệ 56
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
b. Mục đích kiểm thử hộp đen
2005 Bộ môn CNFM – Đại học Công nghệ 57
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?
c. Câu hỏi cho kiểm thử hộp đen
2005 Bộ môn CNFM – Đại học Công nghệ 58
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ể)
d. Vấn đề và tiêu chuẩn lựa chọn
2005 Bộ môn CNFM – Đại học Công nghệ 59
Nguyễn Văn Vỵ
1. Phân hoạch tương đương
2. Phân tích giá trị biên
3. Đồ thị nhân quả
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?
e. Các kỹ thuật kiểm thử hộp đen
2005 Bộ môn CNFM – Đại học Công nghệ 60
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
† Mục tiêu: tìm ra 1 ca kiểm thử để bộc lộ 1 lớp sai, Î rút 
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
f. Phân hoạch tương đương
2005 Bộ môn CNFM – Đại học Công nghệ 61
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ệ.
f1. Chọn lớp tương đương
2005 Bộ môn CNFM – Đại học Công nghệ 62
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
f2. Phân tích giá trị biên
2005 Bộ môn CNFM – Đại học Công nghệ 63
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 và b, và
cả trên,dưới a và 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 và dưới số nhỏ
nhất & lớn nhất.
f3. Chọn lớp tương đương giá trị biên
2005 Bộ môn CNFM – Đại học Công nghệ 64
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ả
f3. Áp dụng cho giá trị biên ra
2005 Bộ môn CNFM – Đại học Công nghệ 65
Nguyễn Văn Vỵ
f4. Mô hình phân hoạch & phân tích giá trị biên
.....
x
xx
x
xx
xx
x
xx
x
.....
Chọn
Lớp 
tương 
đương
Miền rộng Nhiều giá trị Miền giới hạn Một số giá trị
Chọn 
Ca 
kiểm 
thử
x
x
x
…
x
x
x
x
b
a min
maxx
x
2005 Bộ môn CNFM – Đại học Công nghệ 66
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 và đặc tả hệ thống
ƒ Kỹ thuật gồm 4 bước
g. Kỹ thuật đồ thị nhân quả
2005 Bộ môn CNFM – Đại học Công nghệ 67
Nguyễn Văn Vỵ
g1. Các bước tiến hành
Lập DS nguyên
nhân-kết quả 
theo môđun
Phát triển
 đồ thị
nhân-quả
Chuyển đồ
thi Æ bảng 
quyết định 
Xây dựng các 
ca kiểm thử theo 
luật của bảng 
Đặc tả hệ
thống phần mềm
Các mô đun
chức năng
2005 Bộ môn CNFM – Đại học Công nghệ 68
Nguyễn Văn Vỵ
g2. Ví dụ kỹ thuật đồ thị nhân quả
Modul Nguyên nhân Kết quả Định danh
A Số > a đúng A1
Số ≥ a nghi ngờ A2
Số = a nghi ngờ A3
Số < a sai A4
B Số nguyên đúng B1
† Danh sách nhân quả theo modul
2005 Bộ môn CNFM – Đại học Công nghệ 69
Nguyễn Văn Vỵ
g2. Ví dụ kỹ thuật đồ thị nhân quả
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
Môđun B
2005 Bộ môn CNFM – Đại học Công nghệ 70
Nguyễn Văn Vỵ
g3. Bảng quyết định của đồ thị nhân quả
Định danh Điều kiện đúng nghi ngờ Sai
A1 Số > a X
B1 Số nguyên X
A2,A3 Số ≥ a X
A4 Số < a X
… … .. .. ..
2005 Bộ môn CNFM – Đại học Công nghệ 71
Nguyễn Văn Vỵ
g4. Chọn ca kiểm thử
† Chọn 2 ca kiểm thử
Môđun A1 Môđun B
Ca 1: A1 & B
số >a đúng
Môđun A2
Môđun A3
Môđun A4
Môđun B
Ca 2: A2,A3,A4 & B
số ≤a ?
2005 Bộ môn CNFM – Đại học Công nghệ 72
Nguyễn Văn Vỵ
C©u hái và thảo luận

File đính kèm:

  • pdfBài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2 Kiểm thử phần mềm.pdf