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

đảm bảo chất lượng phần mềm và kiểm thử chương 2 các loại kiểm thử và xác minh

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 (593.75 KB, 64 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
M BO CHT LNG PHN MM

VÀ KiM TH
Email: , mobile: 0912.505.291
Hà ni - 2005
2005
B môn CNFM – i hc Công ngh 2
KIM TH PHN MM
Phn II
2005
B môn CNFM – i hc Công ngh 3
̈ 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
¬ Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn mm,
i hc Công ngh, HQGHN, 2006.
Ni dung – Tài liu
2005


B môn CNFM – i hc Công ngh 4
a. Khái nim
̌ Chin lc kim th là s tích hp các k thut
thit k ca kim th
to thành mt dãy các bc
nhm
hng dn quá trình kim th phn mm
thành công.
̌ Nó phác tho l trình đ:
¸ nhà phát trin t chc vic bo đm cht lng,
¸ khách hàng: hiu đc công sc, thi gian và
ngun lc cn cho kim th.
D. Chin lc kim th phn mm
2005
B môn CNFM – i hc Công ngh 5
Chin lc kim th phi:
̈ tích hp đc vic lp k hoch, thit k ca kim
th, tin hành kim th, thu thp và đánh giá các
thông tin kt qu.
̈
đ mm do đ c v óc sáng to, đáp ng đc
yêu cu khách hàng
̈ thích ng vi mc kim th c th
̈
đáp ng các đi tng quan tâm khác nhau
b. Yêu cu ca chin lc kim th
2005
B môn CNFM – i hc Công ngh 6
Các đc trng có tính khuôn mu:
̈ Bt đu  mc môđun và tip tc cho đn khi tích

hp  mc h thng
trn vn.
̈ Các k thut kim th khác nhau là thích hp cho
nhng thi đim khác nhau.
̈ c c ngi phát trin và nhóm kim th đc
lp
cùng tin hành.
̈ kim th đi trc g li, song vic g li phi thích
ng vi tng
chin lc kim th .
c. Các đc trng chin lc kim th
2005
B môn CNFM – i hc Công ngh 7
 Chin lc cn thích ng vi tng mc kim th:

kim th mc thp: xác minh tng khúc mã ngun
có tng ng và thc thi đúng đn không?

kim th mc cao: xác minh và thm đnh các
chc nng h thng ch yu có
đúng đc t và đáp
ng yêu cu
ca khách hàng không?.
d. S thích ng ca chin lc kim th
2005
B môn CNFM – i hc Công ngh 8
 Mi chin lc đáp ng đc yêu cu ngi
quan tâm:
• Có các hng dn cho ngi thc hin tin hành
kim th

.
• Có
các ct mc cho các nhà qun lý kim soát hot
đng đm bo cht lng
.

Có thc đo đ có th nhn ra các vn đ càng sm
càng tt và khách hàng nhn bit đc quá trình
kim th
e. S đáp ng ca chin lc kim th
2005
B môn CNFM – i hc Công ngh 9
¸ Kim th phn mm là mt phn ca hot đng
“xác minh và thm đnh”:
̈ Xác minh là mt tp các hot đng đ bo đm
rng: phn mm
thc hin đúng chc nng đã
đc đct
̈ Thm đnh là mt tp hp các hot đng đ bo
đm rng: phn mm đã
đáp ng đúng yêu cu
ca khách hàng.
Câu hi
: Ai làm? Làm cái gì? Khi nào? Và mi quan
h?
E. T chc kim th
2005
B môn CNFM – i hc Công ngh 10
¸ Các k s phn mm làm ra phn mm. Mt cách t
nhiên h cn tin hành các kim th ban đu.

V
nguyên tc,
ngi làm sn phm, kim tra sn phm là
không hp lý.
¸ Có mt s hiu lm
:
̈ Ngi phát trin không tham gia kim th .
̈ Cho phép
ngi l kim th mt cách tàn nhn.
̈ Ngi kim th ch quan tâm khi
kim th bt đu
a. Trách nhim kim th phn mm
2005
B môn CNFM – i hc Công ngh 11
T thc tin dn đn s phân công:
¸ Ngi phát trinchu trách nhim kim th đnv do
mình phát trin đ bo đm thc hin đúng theo thit k
(mt yêu cu ca xác minh).
¸ Ngi phát trin có th tham gia kim th tích hp.
¸ Nhóm kim th đc lp
bt đu làm vic khi các khon
mc cu trúc phn mm đã đày đ.
b. Phân công trách nhim kim th
2005
B môn CNFM – i hc Công ngh 12
¸ Nhóm kim th đc lp giúp g b nhng thành kin c
hu: “ngi xây dng không th kim th sn phm
tt”:
̈ g b mâu thun gia nhng ngi tham gia.
̈ đánh giá công sc ngi phát trin b ra

tìm li.
¸ Nhóm kim th đc lp to ra báo cáo đy đ cho t
chc bo đm cht lng
phn mm.
¸ Ngi phát trin
̈ không đy chng trình cho ngi kim th ri b đi
̈ cùng làm vic vi ngi kim th xuyên sut mt d án
(bo đm vic kim th đc tin hành trit đ).
c. Vai trò ca nhng ngi kim th
2005
B môn CNFM – i hc Công ngh 13
̌ Tin trình thc hin kim th tng ng vi tin trình
phát trin (theo tng mô hình).
̌ Tin trình kim th thông thng (mô hình ch V):
F. Tin trình thc hin kim th
Kim th
đn v
Kim th
tích hp
Kim th
h thng
môđun
đn v
Môđun
chc nng,
h con
c phn cng,
phn mm
Kim th
thm đnh

h thng
thc
2005
B môn CNFM – i hc Công ngh 14
¸ Ni dung kim th:
̈ giao din
̈ cu trúc d liu s dng cc b
̈ đng điu khin
Câu hi:
1. nh lng/dng gì (bin, mô đun qua giao din)?
2. Yu t nào cn (
vào/ra d liu)?
3. Sai x lý, lôgíc (
phép toán, biu thc)?
4. Sai điu khin (
vòng lp, giá tr biên)?
5. Sai tim n (
ghi chép, mô t)?
a. Kim th đn v
̇ iu kin lôgic
̇ Phép toán x lý
2005
B môn CNFM – i hc Công ngh 15
¸ Kim th dòng d liu qua
mt giao din
ca môđun
liên quan đn
đnh lng
và đnh dng
ca các bin

và các môđun s dng trên
giao din.
¸ c trng c th:
̈ S lng?
̈ nh dng?
a1. Kim th d liu qua giao din
Cng đ,
loi tia
Áp lc,
bc sóng
Mùi v,
nng đ
Món n,
kích c,
đ mm
2005
B môn CNFM – i hc Công ngh 16
Các đc trng qua giao din là:
̇ S tham s = s đi s?
̇
Tính chtca tham stính cht đi s?
̇
n v ca tham s đn v đi s?
̇
S đi đc truyngi môđun = s các tham
s đu vào ca môđun?
̇ thuc tính các đi đc truyngi môđun 
thuc tính ca các tham s?
̇
n v ca đi đc truyn đ gi môđun 

đn v các tham s môđun?
a1. c trng d liu qua giao din
X
1
,X
2
, ,X
n
Y
1
,Y
2
, ,Y
n
2005
B môn CNFM – i hc Công ngh 17
̇ Thuc tính và các cái khác ca các đi s đnh
sn có đúng đn hay không?
̇ Mi tham chiu liên quan ti các tham s hin
không kt hp vi đu vào ch?
̇
Các đi s ch đc đã đc đi cha?
̇ nh ngha
bin toàn cc có trong sut môđun
không?
̇
Các ràng buc lên bin đã chuyn qua nh
tham s cha?
a1. c trng d liu qua giao din
2005

B môn CNFM – i hc Công ngh 18
¸ Khi thc hin I/O ngoi lai cn tin hành thêm:
̈ Tính cht ca các file có đúng đn hay không?
̈
Các câu lnh OPEN/CLOSE có đúng đn không?
̈
c t hình thc có đúng vi các câu lnh I/O?
̈
C ca buffer có đúng vi c ca bn ghi không?
̈
Các file có m trc khi s dng không?
̈
Các điu kin end-of-file có đc x lý?
̈
Các sai lm I/O có đc x lý?
̈ Có sai vn bn nào trong thông tin ra?
a2. Kim th liên quan đn vào/ra
2005
B môn CNFM – i hc Công ngh 19
¸ Cu trúc d liu cc b cho môđun có th sai.
Vì th thit k các kim th cn làm l ra các loi
li sau:
̈ ánh máy không đúng hoc không nht quán?
̈
Giá tr ngm đnh hoc giá tr khi thu sai?
̈ Tên các bin không đúng (sai ch hoc mt ch)?
̈
Kiu d liu không nht quán?
̈
Ngoi bit v đa ch, underflow, overflow.

a3. Kim th cu trúc d liu cc b
2005
B môn CNFM – i hc Công ngh 20
¸ Các sai v trình t, đ chính xác là:
̈ Th t u tiên các phép tính s hc?
̈ S nht quán ca các phép toán trn mode?
̈ Khi s/kt thúc không
đúng đn?
̈ S chính xác ca kt qu?
a4. Kim th v các x lý
2005
B môn CNFM – i hc Công ngh 21
¸ Các sai kiu, toán t, ng ngha:
̈ So sánh các kiu d liu khác nhau.
̈ u tiên hoc
toán t logic không đúng đn.
̈ D đoán mt
biu thc so sánh, trong khi sai s
làm cho
đng thc không chc có thc.
̈ Các
giá tr so sánh không đúng đn.
(
Α∩Β) ∪ (Φ ≤ Ω)
a5. Kim th các điu kin lôgic
2005
B môn CNFM – i hc Công ngh 22
¸ Các sai bin lp, s vòng lp:
̈ Vòng lp không kt thúc hoc kt thúc
không chính xác.

̈ S lp phân k khó thoát đc
̈
Các bin lp b ci biên không chính xác.
¸ Sai  các biên
̈ kim th biên là nhim v cui cùng ca
bc kim th đn v. Phn mm
thng tht bi ti các biên ca chúng.
a6. Kim th dòng điu khin/biên
?
2005
B môn CNFM – i hc Công ngh 23
¸ Các sai tim n cn đc đánh giá là:
̈ Mô t sai (khó hiu)
̈ D liu ghi không tng ng vi sai đã gp.
̈ iu kin sai có trc khi x lý sai.
̈ X lý điu kin ngoi l là không đúng đn.
̈ Mô t sai không cung cp đ thông tin đ tr
giúp
đnh v nguyên nhân ca sai.
a7. Kim th sai tim n
2005
B môn CNFM – i hc Công ngh 24
¸ Sau khi mã ngun đc phát trin, rà soát và kim
tra tính đúng đn cú pháp (thanh tra),
thit k ca
kim th đn v bt đu.
¸ kim th đn v là phn ph thêm ca mã hoá.
¸ Kt qu rà soát thit k cung cp các ch dn đ
thit lp các ca kim th nhm bc l các sai trong
mi loi đã nêu.

¸ Mi ca kim th phi g
n vi
mt tp các kt qu
mong đi.
a9. Th tc kim th đn v
Lp mã
Thanh tra
Rà soát
Kim th
n v
2005
B môn CNFM – i hc Công ngh 25
¸ Môđun không phi là chng trình cô lp, nên cn
phát trin các phn mm
b lái và/hoc cung
cho kim th mi đn v.
¸ B lái (driver) là mt hàm “main” điu khin vic
đa d liu vào và nhn kt qu ra ca module
¸ Cung (stub) dùng đ thay cho các module là th
cp ca nó.
a10. K thut kim th đn v

×