Tải bản đầy đủ (.pdf) (72 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (497.55 KB, 72 trang )

§¹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
NguyÔn V¨n Vþ
Email: , mobile: 0912.505.291
Hà ni - 2005
2005 B môn CNFM – i hc Công ngh 2
Nguy

n V

n V

KIM TH PHN MM
Phn II
2005 B môn CNFM – i hc Công ngh 3
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
Ni dung – Tài liu
2005 B môn CNFM – i hc Công ngh 4
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 ?
A. Khái nim v kim th phn mm
2005 B môn CNFM – i hc Công ngh 5
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).
a. Lý do kim th phn mm
2005 B môn CNFM – i hc Công ngh 6
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
b.Vai trò kim th phn mm
2005 B môn CNFM – i hc Công ngh 7
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 là “đánh đ”phn
mm)
̈
Nghe ra có v mang tính “phá hoi”, î d gây ra
nhng vn đ v tâm lý.
¸ Mc đích cui cùng: có mt chng trình tt, chi
phí ít
î xây dng
c. Mc tiêu kim th phn mm
2005 B môn CNFM – i hc Công ngh 8
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.

d. Quan nim v mt kim th tt
2005 B môn CNFM – i hc Công ngh 9
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à thuy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
e. Li ích khác ca kim th
2005 B môn CNFM – i hc Công ngh 10
Nguy

n V

n V

g. Mô hình ch V - Các mc kim th
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
rà soát

test đn
v
test tích
hp
test h
thng
test chp
nhn
Xác
minh
Thm
đnh
2005 B môn CNFM – i hc Công ngh 11
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)
g. Các mc – loi hình kim th
2005 B môn CNFM – i hc Công ngh 12
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
g. Các loi hình kim th (t)
2005 B môn CNFM – i hc Công ngh 13
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)
h. Phng pháp và chin lc kim th
2005 B môn CNFM – i hc Công ngh 14
Nguy

n V

n V

̌ S đ dòng thông tin ca tin trình kim th
i. Biu đ dòng thông tin kim th
kim th
xây dng
Mô hình
đô tin cy
đánh giá
g li
Phn mm

chnh sa
c t
phn mm
Cu hình
kim th
D đoán
đ tin cy
Phn mm
tin cy
Phn
mm
cha
tin
cy
2005 B môn CNFM – i hc Công ngh 15
Nguy

n V

n V

k. Tin trình thc hin kim th
Thit k
Ca kim th
Chun b
d liu,đk
Tin hành
kim th
So sánh,
đánh giá

Yêu cu,
mã ngun
Báo cáo
kim th
Lp k k
hoch KT
Kt qu
kim th
Các ca
kim th
K hoch
kim th
D liu
kim th
Nht ký
2005 B môn CNFM – i hc Công ngh 16
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
m. Khái nim v thit k ca kim th
2005 B môn CNFM – i hc Công ngh 17
Nguy

n V

n V

B. Kim th hp trng
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 18
Nguy

n V

n V

a. Khái nim kim th hp trng
¬ 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 19
Nguy

n V

n V

̈ kim th cái gì?
a. mi lnh (đy đ)
b. mi điu kin lôgic có th (
r nhánh)
c. mi chu trình trong chng trình (
lp li)
d. mi cu trúc d liu đc dùng (
d liu)
e. mi tin trình t đu å kt thúc(
tng lung điu khin)
Câu hi:
Yêu cu? Lý do? Các k thut dùng và ni
dung ca nó? Chin lc s dng?
b. Ni dung cn kim th hp trng

2005 B môn CNFM – i hc Công ngh 20
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ó
c. Yêu cu kim th hp trng
2005 B môn CNFM – i hc Công ngh 21
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
.
d. Lý do kim th hp trng
2005 B môn CNFM – i hc Công ngh 22
Nguy

n V

n V

1.  th dòng (Tom McCabe đa ra đu tiên).
2. Ma trn kim th
(sđng đi, trng s).
3. iu kin lôgic – chin lc min và BRO
4. iu khin theo dòng d liu
5. Các cu trúc chu trình – giá tr đc trng
e. Các k thut s dng
2005 B môn CNFM – i hc Công ngh 23
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ukhi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
f. K thut đ th dòng
2005 B môn CNFM – i hc Công ngh 24
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.
̇ Có
nút v t biu th s phân nhánh hoc hi nhp ca
các cung.
f1. Cu trúc đ th dòng
2005 B môn CNFM – i hc Công ngh 25

Nguy

n V

n V

̈ Các cu trúc c bn ca đ th dòng:
case
f2. Các kiu cu trúc thành phn đ th dòng
if
while
until

×