Bài giảng Nhập môn Công nghệ phần mềm - Chương 9: Kiểm nghiệm phần mềm - Nguyễn Minh Huy

Kiꢀm nghiꢁm phꢂn mꢃm  
GV. Nguyꢀn Minh Huy  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
1
Nꢆi dung  
ꢀ Khái niꢂm kiꢇm nghiꢂm.  
ꢀ Các hình thꢈc kiꢇm nghiꢂm.  
ꢀ Quy trình kiꢇm nghiꢂm.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
2
Nꢆi dung  
ꢀ Khái niꢁm kiꢀm nghiꢁm.  
ꢀ Các hình thꢈc kiꢇm nghiꢂm.  
ꢀ Quy trình kiꢇm nghiꢂm.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
3
Khái niꢂm kiꢇm nghiꢂm  
ꢀvàKNiꢇꢂmgmhiNꢇgmhiiꢂKmvà(V & V):  
Tiêu chí  
Ngꢉ cꢊnh  
Ý nghĩa  
Verification  
Validation  
Kiꢇm tra phꢃn mꢄm  
Nghiꢂm thu phꢃn mꢄm  
Phꢃn mꢄm có đúng vꢋi  
đꢌc tꢊ?  
Phꢃn mꢄm có thꢍa mãn  
nhu cꢃu Stakeholders??  
Mꢎc tiêu  
Phát hiꢂn lꢏi cài đꢌt  
Phát hiꢂn hiꢇu sai  
Stakeholders  
Đꢐi tưꢑng thꢒc hiꢂn Đꢆi ngũ phát triꢇn  
Cách thꢈc thꢒc hiꢂn Vꢁn hành hoꢌc không  
vꢁn hành phꢃn mꢄm  
Vꢁn hành phꢃn mꢄm  
Build the thing right??  
Build the right thing??  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
4
Khái niꢂm kiꢇm nghiꢂm  
ꢀ Phân loꢓi Verification:  
aꢀrtKgiꢇnmꢆđ Kđmꢆinꢇga(rdt ynamic verification):  
ꢁtraKbiꢇꢔmng iKbꢇꢔmngtrvaꢁn hàn.hth, ꢕdù. ngdùng thꢕ  
ꢂthꢕKpiꢇhmꢃn iKpꢇhmꢃnthmꢕꢄm (software testing).  
ꢂtraKhiꢇꢆmp iKꢇhmꢆptrđaen (blackꢅbox testing).  
ꢁ Dꢒa trên đꢃu vào àđꢃu ra.  
uꢁƯ điꢇmđiꢇmu:Ư  
tnꢁꢐ mké kÍtétmnꢐ(pÍthꢃn mꢄm bình thưꢖng).  
ꢁtraKuiꢇêmy mꢇyiKêutrcaꢃu phi chꢈc năng.  
ꢁ Nhưꢑc điꢇm:  
ꢁ Tꢐn
ꢁ Phꢃn mꢄm phꢊi hoàn thành.  
ꢍb tsꢁó tꢇh ꢍb óCsótꢇthlꢏi.óC  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
5
Khái niꢂm kiꢇm nghiꢂm  
ꢀ Phân loꢓi Verification:  
aꢀrtKhiꢇnmĩt Kmtĩinꢇha(rst tatic verification):  
ꢁtraKbiꢇꢔmng iKbꢇꢔmngtrxaét duyꢂt, chꢈng minh  
ꢂ Kiꢇm chꢈng phꢃn mꢄm.  
ꢂtraKhiꢇꢆmp iKꢇhmꢆptrtarꢗng (whiteꢅbox testing).  
ꢁ Dꢒa trên nꢆi dung bên trong.  
uꢁƯ điꢇmđiꢇmu:Ư  
ꢁ Không cꢃn hoàn thành phꢃn mꢄm.  
ꢁ Không cꢃn vꢁn hành.  
ꢁ Phá.t.hniꢘꢂntđìmưꢑncꢘ iꢏl tìm ưđꢑc iꢏl  
ꢁ Nhưꢑc
ꢁ Chi phí nhân công.  
ꢁ Cꢃn đꢆi ngũ kinh nghiꢂm.  
ꢁ Tꢐn thꢖi gian, công sꢈc.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
6
Khái niꢂm kiꢇm nghiꢂm  
ꢀ Phân loꢓi Validation:  
uꢀhtN:g)ghiiꢂsmtnaaeAAlAphhaT((AlllppphamTeiꢂshtiNng)u: ht  
cóꢁgiNiꢋghtihꢂumcó gNhgiꢂiꢋmi hthꢓun.  
ꢂ Triꢇnthkí hđaiꢇim kđhiꢇami t.hí  
lꢁꢙcCđhꢐꢙin hCꢙđnꢐliꢙtcưꢑn. giath.amtham gia  
ꢁ Vꢁn hànhó ckiꢇm soát.  
uꢀhtN:g)ghiisꢂtmneT atBBe(etaa(tBBeetamTeiꢂshtiNng)u: ht  
tꢁhuNkghhôiꢂnmg gNkhhiꢂômngthguiꢋi hꢓn.  
ꢂ Triꢇn kh.atirđàꢓ. i đꢓi trà  
ꢁ Không hꢓn chꢚ đꢐi tưꢑn. giath.amtham gia  
ꢁ Vꢁn hành tꢒ do.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
7
Khái niꢂm kiꢇm nghiꢂm  
ꢗꢀttTcóámc Tócmácꢗltot ꢓi kiꢇm nghiꢂm:  
Kiꢇm tra (Verification)  
Nghiꢂm thu (Validation)  
Kiꢇm thꢕ (đ
(Testing)  
thu Alpha  
(Alpha Testing)  
Kiꢇm chꢈng (tĩnh)  
(Static Verification)  
Nghiꢂm thu Beta  
(Beta Testing)  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
8
Nꢆi dung  
ꢀ Khái niꢂm kiꢇm nghiꢂm.  
ꢀ Các hình thꢄc kiꢀm nghiꢁm.  
ꢀ Quy trình kiꢇm nghiꢂm.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
9
Các hình thꢈc kiꢇm nghiꢂm  
ꢛꢀK huꢁthttuꢁrtꢛaKkinꢇhmĩt kꢇtmĩnihr:ta  
aꢀrtTnhꢃahnph hnaphTꢃnarmt ꢄm (Software Inspection):  
ꢁ Micheđaꢄl FuaꢜgtxanFađxguꢄꢜatn1979.  
ꢁtraKbiꢇꢔmng iKbꢇꢔmngtrcaách đꢙc nꢆi dung.  
ꢁ Đꢆi ngtũrathđaꢆnch t.hlaꢁnph. trđaꢆc lꢁp  
ꢁ
uđiꢇm:  
tꢇhꢁtꢒhc óCthtꢇꢒhc hóiꢂCn ꢝ mꢏi pha.  
ꢁ Rꢜ.t.hiꢏiꢂl utìqmuꢊiꢏl ꢇđ tìm ꢊuq ꢇđ  
ꢁ Khuyꢚt điꢇm:  
ꢁ Đꢆi ngũ nhiꢄu kinh nghiꢂm.  
ꢁ Tꢐn
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
10  
Các hình thꢈc kiꢇm nghiꢂm  
ꢛꢀK huꢁthttuꢁrtꢛaKkinꢇhmĩt kꢇtmĩnihr:ta  
ꢀ Model Checking:  
ꢁtraKbiꢇꢔmng iKbꢇꢔmngtrcaách chꢈng minh.  
Mꢁô ìhhhnìnhMtôoán hꢙc sꢊn phꢘ.mtrk.aiꢇmmꢇki tra  
ꢁ Chꢈnmgômìhinhhn hhnìmnhimđôúng đꢗn.  
ꢁ Thꢒc hi
uꢁƯ điꢇmđiꢇmu:Ư  
ꢁtraKgiꢇnmúđ mđꢇúiKngtrđaꢗn hoàn toàn.  
tꢇhꢁtꢒhc óCthtꢇꢒhc hóiꢂCn tꢒ đꢆng.  
ꢁ Khuyꢚt điꢇm:  
mô ìꢁhhPnhꢈꢇcđ mô tpꢓ ꢇđhìnꢈhhchPóatp. ꢓ  
ꢁcóCghnưcaôtꢒưhganCꢆđcócꢎ tꢒ đgꢆnncgô hciꢎꢂu quꢊ.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
11  
Các hình thꢈc kiꢇm nghiꢂm  
ꢛꢀK huꢁthttuꢁrtꢛaKkiđꢇꢆmng kđꢇꢆmnigr:ta  
ꢀ Test Case:  
Dꢉ liꢂu đꢃu vào  
ꢁtraKđiꢇꢃmu iKꢇđmꢃutrvaào đꢃu ra.  
ꢁ Dùng kꢞch b.ꢊtnhꢕki.ꢇmkiꢇm thꢕ  
ꢁ Các đꢐi tưꢑn:gtrkai:ꢇmkiꢇm tra  
ꢁ
Mꢆt
ꢁ Mꢆt tình huꢐng Use Case.  
ꢁ Mꢆt chꢈc năng hoàn chꢠnh.  
ꢁ Nꢆi dung Test Case:  
ꢁ Ngꢉ cꢊn.htrk.aiꢇmmꢇki tra  
ꢉꢁD uꢂiliꢂuꢉđDꢃu vào.  
Kꢚt quꢊ mong đꢑi  
Kꢚt quꢊ thꢒc tꢚ  
ꢁ Kꢚt quꢊ đꢃu ra mong đꢑi.  
ꢁ Các bưꢋc thꢒc hiꢂn.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
12  
Các hình thꢈc kiꢇm nghiꢂm  
ꢀ Test Case tình huꢐng “Nhꢁp sách thꢜt bꢓi”:  
Test Case  
Nhꢅp sách thꢆt bꢇi  
Related Use Case  
Context  
Nhꢁp sách mꢋi  
Đăng nhꢁp vꢋi quyꢄn “Thꢡ thư”  
Input Data  
Tên sách: Chiꢚn tranh và Hòa bình  
Tác 
Nhà xuꢜt bꢊn: (trꢐng)  
Sꢐ tꢁp: 2 tꢁp  
ꢢ
Expected Output  
Test Steps  
Hiꢂn thông báo “Lꢏi: Thông tin sách bꢓn nhꢁp vào không đꢃy đꢡ!”.  
Thông tin sách không đưꢑc lưu vào cơ sꢝ dꢉ liꢂu.  
1. Đăng nhꢁp vào hꢂ thꢐng: (username “nmhuy”, password “12345”  
2. Sách / Nhꢁp sách”)  
3. Nhꢁp thông tin như Input Data.  
4. Nhꢜn nút cꢁp nhꢁt.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
13  
Nꢆi dung  
ꢀ Khái niꢂm kiꢇm nghiꢂm.  
ꢀ Các hình thꢈc kiꢇm nghiꢂm.  
ꢀ Quy trình kiꢀm nghiꢁm.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
14  
Quy trình kiꢇm nghiꢂm  
ôꢀM nhhhììnhôcMhꢉ V (VꢅModel):  
Project  
Planning  
Acceptance  
Testing  
Requireme
Analysis  
System  
Testing  
Software  
Design  
Integration  
Testing  
g  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
15  
Quy trình kiꢇm nghiꢂm  
ꢀ Các pha kiꢇm nghiꢂm:  
ꢕꢀhtKniꢇơmđ Kmđiơꢇnꢕvhꢞt(Unit Testing):  
ꢁtraKtiꢣꢇmng iKtꢇꢣmlnꢁgptrđatrơìnnh ꢞv lꢁtprìđnnhơ. ꢞv  
ꢂ Các hàãmmtrnognugꢟn tnrgounꢟgnã.m  
ꢁ Thꢒc hiꢂn trong.mlꢁôpi.trưcꢖônlgꢁp trưnꢖg cô  
ꢁ Lꢁp trình viên thꢒc hiꢂn.  
ꢁ Unit Test Case:  
Unit Test Case  
Context  
Chia cho sꢈ không  
(Không có)  
Method  
Number.divide(float a, float b)  
Input Data  
a = 5  
b = 0  
Expected Output  
Test Steps  
Exception: Divided by zero  
float c = Number.divide(5, 0)  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
16  
Quy trình kiꢇm nghiꢂm  
ꢀ Các pha kiꢇm nghiꢂm:  
ꢕꢀhtKciꢇhmít Kmtíiꢇchꢕhhꢑt p (Subꢅsystem Testing).  
ꢁtraKꢆiꢇtm iKꢇmmꢆtrnahólꢁmpđtrơìnnh ꢞv lꢁtprìđnnhơ. ꢞv  
sꢒꢁpKhiꢐꢇimtra sꢒ ipKhꢇꢐmi htꢑrap hoꢓt đꢆng.  
ꢂ Dancing testing.  
ꢁ Thꢒc hiꢂn trong môi trưꢖng tích hꢑp.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
17  
Quy trình kiꢇm nghiꢂm  
ꢀ Các pha kiꢇm nghiꢂm:  
ꢂh ꢀgnKꢐiꢇhmt ꢕht ꢂh thKꢐmngiꢇ(ꢕShyst tem Testing).  
ꢁtraKtioꢇàmnhꢂiKthꢇꢐmngtrabꢆ hꢂthꢐtonàgn. bꢆ  
ꢂꢁH thꢐtnhgꢐngꢂhHoꢓt đꢆng như đꢌc tꢊ?  
ꢁ Thꢒc hiꢂn trong. mlꢁpô.i trưgꢖiꢊnlgꢁp trưnꢖg giꢊ  
ꢁ Phân loꢓi:  
ꢁ Functional Testing.  
ꢁ Nonꢅfunctional Testing.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
18  
Quy trình kiꢇm nghiꢂm  
ꢀ Các pha kiꢇm nghiꢂm:  
uꢀhtNngꢃhhiꢂpmmiꢂhpNhꢃgnuhmtꢄm (Acceptance Testing).  
ꢁ Khách hà.ntghꢕdù. ngdùng thꢕ  
ꢂꢁH thꢐtnhgꢐngꢂtHhꢍa mãn nhu cꢃu?  
ꢁ Thꢒc hiꢂn trong môi trưꢖng vꢁn hàn.hsꢒth.ꢁtthꢁt sꢒ  
ꢁ Phân loꢓi:  
ꢁtuhN.gahhipꢂlmA mꢂAihlpghNat.uh  
ꢁtuhNtgeh.aiꢂBm mꢂihBgeNtat.uh  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
19  
ꢁpBàiàBi tꢁp  
ꢁꢀptBvàꢚiti àviBiꢚtꢁTptest Case:  
Hꢀꢂ gnꢐthhꢐt ngH“ꢂOnline Bookstore”.  
ꢀ Công viꢂc:  
ꢁ Chꢈc năng “Checkꢅout đơn hàng”:  
ꢁkꢚTmhiꢚntà tTmꢚihànkꢚhình.  
ꢁ
Viꢚt
ꢐn
g
ó h
 
t
xꢊy ra.  
ꢁ Chꢈc năng “Thêm sách mꢋhiꢂvàthoꢐng thàꢐonvgh”ꢂ:  
ꢁkꢚTmhiꢚntà tTmꢚihànkꢚhình.  
ꢁ Viꢚt cáꢇcđtemsꢇtkciastcesꢊtetìhsnectatꢜꢇđcꢊ tra ttꢜtìꢇnmhhꢇykhꢊiuxtꢐrancgó tꢇh gnxꢐꢊuyhrac.ó  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
20  
pdf 20 trang yennguyen 10580 Free
Bạn đang xem tài liệu "Bài giảng Nhập môn Công nghệ phần mềm - Chương 9: Kiểm nghiệm phần mềm - Nguyễn Minh Huy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_9_kiem_nghiem_p.pdf