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
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
Build the thing right??
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
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 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
Nhà xuꢜt bꢊn: (trꢐng)
Sꢐ tꢁp: 2 tꢁp
ꢢ
Expected Output
Test Steps
Thông tin sách không đưꢑc lưu vào cơ sꢝ dꢉ liꢂu.
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.
ꢁ Chꢈc năng “Thêm sách mꢋhiꢂvàthoꢐng thàꢐonvgh”ꢂ:
ꢁkꢚTmhiꢚntà tTmꢚihànkꢚhình.
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy
20
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:
bai_giang_nhap_mon_cong_nghe_phan_mem_chuong_9_kiem_nghiem_p.pdf

