You are on page 1of 204

KI

Biên

www.hutech.edu.vn
KI M TH NM M

*1.2021.CMP179*
- :
tailieuhoctap@hutech.edu.vn
I

...................................................................................................................I
............................................................................................................. V
N M M.................... 1
1.1 C C MÔ H NH PH T TRI N PH N M M ................................................................ 1
1.1.1 Water-fall Model .............................................................................................. 1
1.1.2 Prototype Model .............................................................................................. 3
1.1.3 Spiral Model ................................................................................................... 3
1.1.4 SDLC ............................................................................................................. 5
1.1.5 Agile Model..................................................................................................... 5
1.1.6 Qui tr nh H p nh t (RUP) ................................................................................. 5
1.1.7 V model ......................................................................................................... 7
1.2 KI M TH VÀ PH N M M ................................................ 8
1.2.1 Ph n m m v ch ng ph n m m .................................................................. 8
1.2.2 C c y u t ng ch ng ph n m m ...................................................... 9
1.2.3 Kh i ni m ki m th ...................................... 11
1.2.4 M c tiêu c a ki m th .................................. 12
1.2.5 T m quan tr ng c a ki m th ........................ 12
1.2.6 C c nguyên t c trong ki m th ...................... 14
1.2.7 C c kh i ni m liên quan ki m th ................... 15
1.2.8 C ng th c hi n ki m th ................... 18
1.2.9 C m c khi ki m th .................... 19
1.2.10 C c h n ch c a ki m th ........................... 20
1.3 VAI TR C A KI M TH VÀ M M ......................... 20
1.4 T I LI U S N PH M ................................................................... 21
1.4.1 T i li u d n ................................................................................................ 21
1.4.2 T i li c t ............................................................................................... 21
1.4.3 T i li c t thi t k ................................................................................... 22
1.4.4 T i li u ki m th ........................................................................................... 23
1.5 YÊU C U KI M TH VÀ ................................................. 24
1.5.1 Quy tr nh ki m th ph n m m ....................................... 24
1.5.2 Thu c t nh yêu c u ph n m m ........................................................................ 29
1.5.3 Các thành ph n chính trong b n k ho ch ki m th ........................................... 29
1.6 C C Y U T C N THI T C A KI M TH VÀ .. 31
1.7 C CH VI T YÊU C U KI M TH ......................................................................... 32
TÓM ................................................................................................................ 34
BÀI 2: K THU T THI T K TEST CASE ...................................................................... 35
2.1 CÁC KH I NI M CH NH ..................................................................................... 35
II
2.2 THI T K TEST-CASE: WHIT E-BOX .................................................................... 37
2.2.1 T ng quan v ki m th h p tr ng ....................................................................37
m ki m th h p tr ng ..........................................................37
2.2.3 C c m p d ng .......................................................................................38
2.3 THI T K TEST-CASE: BLACK-BOX .................................................................... 38
2.3.1 T ng quan ki m th h ...........................................................................38
......................................................39
2.3.3 Qui trinh ki m th h ..............................................................................40
2.4 C C H TH NG QU N L TEST-CASE ................................................................. 42
2.4.1 Gi i thi u ......................................................................................................42
2.4.2 Testcase .......................................................................................................43
2.4.3 C c th nh ph n testcase .................................................................................44
TÓM ................................................................................................................ 45
TEST CASE - BLACK-BOX ................................................................. 46
3.1 L P ......................................................................... 46
3.2 GIÁ BIÊN ................................................................................... 49
3.3 ........................................................................... 53
3.4 THÁI .............................................................. 56
3.5 BÀI TEST CASE BLACK BOX ...................................................... 59
TÓM ................................................................................................................ 63
TEST CASE WHIT E - BOX .............................................................. 64
4.1 QUAN .................................................................. 64
4.2 KI M TH NG B N ............................................................................... 65
4.3 KI M TH BAO PH ..................................................................................... 68
4.3.1 ............................................................................................68
..................................................................................................69
..................................................................................................... 70
n .............................................................................................. 71
................................................................................................72
..................................................................................72
4.4 KI M TH V NG L P ........................................................................................ 74
4.5 KI M TH LU NG D LI U ............................................................................... 75
4.6 BÀI T TEST CASE WHIT E BOX ...................................................... 78
TÓM ................................................................................................................ 80
NM ................................................... 81
5.1 QUAN V L I PH N M M ......................................................................... 81
5.2 NGUYÊN NHÂN GÂY RA L I NG G P ......................................................... 82
5.3 C C L I NG G P TRONG PH N M M ......................................................... 85
5.4 T M L I V PHÂN T CH L I .............................................................................. 86
5.5 GI I THI U H TH NG QU N L BUG .......................................................... 94
5.6 V NG I C A BUG TRÊN H TH NG QU N L BUG .......................................... 94
III
.................................................................. 95
.................................................... 95
5.6.3 C c thông s l i ............................................................................................ 96
ng ki m th ...................................................................................... 96
5.7 TH C H NH V IH TH NG QU N L BUGZILLA ............................................... 96
TÓM .............................................................................................................. 107
................................................................. 108
6.1 AUTO MATION SOFTWARE TESTING ........................................ 108
6.1.1 Quy tr nh ki m th t ng ........................................................................... 109
m ki m th t ng ............................................................... 109
6.1.3 Phân lo i công c ki m th ............................................................................ 110
6.2 ACTION-BASED TESTING ........................................................ 112
6.3 KATALON STUDIO .................................................... 117
6.3.1 Gi i thi u .................................................................................................... 117
........................................................... 117
.................................................................................. 118
............................................................... 121
6.4 SELENIUM ................................................................ 123
6.4.1 Gi i thi u .................................................................................................... 123
6.4.2 Th nh ph n c a Selenium ............................................................................. 125
TÓM ............................................................................................................ 127
UNIT TEST) ................................................................... 128
7.1 QUAN .................................................................. 128
................................................................................... 128
7.1. .......................................................... 129
........................................................................... 129
............................................................................... 130
7. ........................................................................ 130
.................................................................. 130
.............................................................................. 131
................................................................ 131
........................................................... 131
......................................................................... 133
7.2 JUNIT ............................................................................................ 133
7.2.1 JUnit là gì? .................................................................................................. 133
7.2.2 Các tính ................................................................................. 133
......................................................................... 134
................................................................................................ 134
..................................................................... 135
7.3 NUNIT............................................................................................ 138
7.3.1 NUnit là gì? ................................................................................................. 138
IV
............................................................................................... 138
...................................................................................... 141
7.3.4 Cá .................................................. 143
.................................................. 145
TÓM .............................................................................................................. 147
............................................................... 148
8.1 QUÁ TRÌNH VÀ .................................... 148
8.2 VÀ CÁC ...................................... 150
8.3 VÀ SOÁT ................................................... 153
............................................................................... 153
.................................................................................... 155
8.4 MÔ HÌNH CMM/CMMI...................................................................................... 156
8.4.1 CMM và CMMi là gì? ...................................................................................... 156
........................................................................................ 157
........................................................................... 164
...................................................... 165
TÓM ............................................................................................................ 167
...................................................................................... 168
9.1 LÝ HÌNH ....................................................................... 168
9.2 LÝ THAY ................................................................................ 169
9.3 QU LÝ PHIÊN VÀ PHÁT HÀNH ....................................................... 170
........................................................................................ 170
........................................................................................ 172
9.4 XÂY ..................................................................................... 173
9.5 CÁC CÔNG CASE CHO HÌNH ................................................ 173
9.5.1 GitHub ........................................................................................................ 173
9.5.2 Team Foundation Server ............................................................................... 176
TÓM ............................................................................................................ 184
ÁN MÔN .................................................................................. 185
TÀI THAM ........................................................................................... 194
V


Bài Ki m th ph n m m và trang cho sinh
viên , quy trình và
. xây các dung:
pháp và các quy trình và
trong và cài cung các công
lí quá trình cung
các , các khái
và lý hình. Qua h c n y cung và cho sinh
viên áp trong quy trình và
. này sinh viên có áp thi
. Sinh viên có
thành các công cho và
.

DUNG
- BÀI 1. quan và yêu và
Các mô hình phát và
Vai trò và Tài
Yêu và Các

- BÀI 2. K thu t thi t k test-case. các kh i ni m ch nh, thi t k test


case theo k thu t ki m th black-box, white-box, c c h th ng qu n l test-case.

- BÀI 3. Thi t k test case Black-box. k thu t phân l p


phân t ch biên, Phân t ch r ng bu c, M i quan h gi a h m v d li u, Chuy n
tr ng th i, T h p u ki n. B i t p thi t k c c test-case

- BÀI 4. Thi t k test-case White-box. b i t p th c h nh black-box, b i


t p th c h nh white-box. B i t p thi t k c c test-case
VI
- BÀI 5. L i ph n m m và H th ng qu n l bug. t ng quan v l i ph n
m m, nh ng nguyên nhân gây ra l i ng g p, c c l i ng g p trong ph n
m m, t m l i v phân t ch l i. h th ng qu n l bug, V ng i c a
bug trên h th ng qu n l bug, Th c h nh h th ng qu n l bug Bugzila.

- BÀI 6. Ki m th t ng. Automation testing, gi i thi u v action


based testing. C c công c h tr ki m th t ng. các công
Katalon Studio, Selenium.

- Bài 7. (Unit Test). và các


pháp JUnit, NUnit và án

- Bài 8. lý quá trình và


và các và
soát

- Bài 9. lý hình. lý hình, lý thay


lý phiên và phát hành. Xây Các công CASE
cho hình.

Sinh viên hoàn thành các : Phân tích


thông tin, Công P khi này.

YÊU
, các dung khi làm
các bài nhà và gian nhà.

CÁCH DUNG
môn này, sinh viên ôn các bài câu và làm
bài bài và tìm thêm các thông tin liên quan bài

bài tiêu và tóm bài sau


dung bài thúc ý bài câu ôn và
thúc toàn bài làm các bài .
VII
PHÁP GIÁ
Môn giá hai thành

- quá trình: 50%. Hình và dung do giáo viên phù


quy và tình hình

thi: 50%. án môn


BÀI 1: NM M 1

BÀI 1: T NG QUAN

PH N M M

dung các sau:

- t ng quan, c c kh i ni m b n v ki m th và
ph n m m

- C c mô h nh ph t tri n ph n m m

- Vai tr ki m th và ph n m m

- T i li u s n ph m

- Qui tr nh ki m th và

- C c y ut c n thi t ki m th và ph n m m

1.1 MÔ H NH PH T TRI N PH N M M
1.1.1 Water-fall Model

Các Mô hình thác là trong mô hình tiên và áp


trong quá trình phát Mô hình này chia quá trình phát
thành giai giai có
giai là thông tin vào cho giai theo sau.
Tùy theo qui mô phát mà mô hình thác có
khác nhau sau:

- Qui trình 5 giai Là qui trình qui trình phía cách


sung thêm giai sau giai trình tin
2 BÀI 1: NG PH N M M

Xác yêu hành ngay khi có nhu xây


xác chính xác các yêu xây

Phân tích: T hành ngay sau khi thúc xác yêu , mô


thông qua các mô hình khi

T hành ngay sau khi thúc phân tích, mô các thành


(mô hình khi hành cài

trình (cài hành ngay sau khi thúc t


theo yêu

hành ngay sau khi có


trình, t tin

trì: Công giai bao cài và hành n


trong hành

H nh 1.1: Mô h nh th c c
xét:

Mô hình thác có dàng phân chia quá trình xây thành


giai hoàn toàn nhau. Tuy nhiên, các án khi tuân theo
dòng mô hình vì các nâng cao
khách hàng khi tuyên yêu trong giai phân tích.

Mô hình này có khó các thay t khi


xong giai nào này làm cho xây khó thay
các yêu theo ý khách hàng. Do pháp này thích cho
mà chúng ta rõ các yêu khách hàng.
BÀI 1: NM M 3
Chú ý: Mô hình thác có cách cho phép quay lui khi
phát trong giai phía

1.1.2 Prototype Model


mô hình thác sung vào các giai
ngay khi xác yêu tiêu phát nhanh các sai sót yêu
Các giai trong mô hình có hành
không theo trình

Ngay sau giai xác yêu nhà phát ra


và hành cài tiên và cho
này miêu cách cách
tác

xem xét thông tin cho nhà phát


ý thì phát hành cài
quay giai xác yêu Công này liên khi
ý các do nhà phát ra.

là khi yêu rõ ràng và khó giá


tính các toán. Tuy nhiên, mô hình này là tính
trúc không cao do khách hàng d tin

H nh 1.2: Mô h nh b n m u

1.1.3 Spiral Model

Mô hình là mô hình và mô hình thác


k tìm và xây hoàn
4 BÀI 1: NM M

các yêu rõ ràng và các


hoàn Ngoài ra thêm công phân tích
ro nên theo này hay không.

H nh 1.3: Mô h nh xo n c

Mô hình này phù các do có soát


ro hóa. Tuy nhiên rãi mô hình thác
lý, phân tích ro cao.

Mô hình xem xét Boehm (1988, 1998), ra pháp


cho các án và

Theo mô hình phát làm quy trình


các sau

- Phân tích và r i ro.

- Các công theo giai án: coding, test, cài và


giao.

- S giá khách hàng bao các bình các thay và các yêu
sung, ...
BÀI 1: NM M 5
1.1.4 SDLC
SDLC (Software Development Life Cycle) là mô hình , cung
mô toàn quy trình phát Mô hình ra xây
chính cho toàn quá trình phát mô là
tính. Trong pha ban quy trình phát các tài
giá phiên tiên trình máy
tính ra giai quy trình. Mô hình SDLC có vai trò
khung (framework) các mô hình khác.

1.1.5 Agile Model


phát Agile là các phát
và trong các yêu và pháp phát thông qua liên
tác các nhóm và liên Agile là cách làm
linh làm sao tay dùng càng nhanh càng
càng càng và xem là so mô hình mô
hình hay

H nh 1.4: Mô h nh Agile

1.1.6 Qui tr nh H p nh t (RUP)


Quy trình phát RUP (Rational Unified Process).

Quy trình trình) là trình hình


và .
6 BÀI 1: NM M

Qui trình bao giai chính và xen dòng (activity


flow) là: Mô hình hoá phân tích yêu phân tích và cài
khai, giai hình thành (iteration).

- (inception):

vi án, các ràng vi, các trúc

Xác chi phí và gian án

Xác r i ro và môi

Xác các thay sung, các tác thay này, các r i ro

H nh 1.5: Mô h nh RUP
- Tinh (elaboration):

Tinh trúc yêu và

giá r i ro, các thành

Xây trúc

- Xây (construction) :

lý tài nguyên, soát và hoá


BÀI 1: NM M 7
Hoàn thành phát các thành

giá cài các tiêu

- giao (transition):

cài

khai

Thu các phía dùng

trì

1.1.7 V model

H nh 1.6: Mô h nh ch V
Các tính ghi trên mô hình V:

Các và các tách


quan là nhau.

V minh các khía Verification và Validation.

phân các là trên


phát
8 BÀI 1: NM M

1.2 KI M TH VÀ M B O CH T NG PH N M M

1.2.1 m m v ch t ng ph n m m

thành có riêng và góp vào


chung và trì :

1. trình máy tính gi p hành thi các yêu

2. yêu theo và trình


khi thi, khai và trách cho thi
các cho tác vào

3. C c lo i tài cho phát và có


duy trì.

4. bao các tham vào, mã và danh sách tên thích


cái cho thao tác
khác là test, sách rõ
thay không mong trong mã
ra và nào có

Ch t ng ph n m m

Theo IEEE, sau:

- mà thành trình yêu

- mà h thành trình nhu hay mong


khách hàng Ban có
tiêu các yêu ra, tuy nhiên phát
ràng phát hóa công tác l .

Theo Daniel Galin, là các


và có cung tin vào quy
trình phát hay quy trình trì phù các yêu
các yêu l mà cho và
trong vi ngân sách.
BÀI 1: NM M 9
1.2.2 y ut nh ng ch t ng ph n m m
Theo gian quan có thay
tuy nhiên mô hình các McCall ra vào
70 còn là tham
các yêu Sau McCall có mô hình quan tâm
mô hình do Evans, Marciniak hay mô hình Deutsch và Willis, tuy nhiên mô
hình này sung hay vài Theo McCall, các
chia làm ba

- Các bao tính chính xác, tin


tính toàn .

- Các rà soát bao tính trì, linh có t ki m tra

- Các giao bao tính có có


tác.

H nh 1.7: Cây yêu t nh ng ch t ng ph n m m c a McCall


10 BÀI 1: NM M

(1)Các hành chính xác, tin tính tính toàn


- chính xác: xác trong danh sách các ra


màn hình truy khách hàng trong t
thông tin toán bán hàng. Các ra là .

- tin xác cho phép, các này có


là toàn hay riêng nó.

- Tính các tài nguyên


các phù các yêu khác. Các yêu này
có bao các giá tài nguyên trong

- Các yêu tính toàn các


truy trái phép, phân nhân viên
phép xem thông tin nhóm phép thêm và thay

- Các yêu ra vi tài nguyên nhân


nhân viên và hành

(2)Các rà soát trì linh và tra :

- trì xác dùng và nhân viên trì nào


xác nguyên nhân các và xác
thành công. Các yêu này nói trúc module
tài trình và trình viên.

- Tính linh và các trì.


Chúng các (manday) thích nghi gói
các khách hàng trong cùng các khác nhau,
khác nhau. Các yêu các trì nên hoàn
thay và sung vào nó và thích nghi
các thay trong môi và công ty.

- test tra hành có hay không các


thông tin. Các yêu liên quan các tính trong trình giúp
tester dàng công mình .
BÀI 1: NM M 11
(3)Các giao tính thích nghi môi
tái và tác

- Tính thích nghi các môi


khác, bao khác, các hành khác. Các yêu này
các có trong các

- tái các module trong án


phát mà các module này ban cho án
khác. Các yêu này cho phép các án lai có
module có nhóm các module phát Tái
tài nguyên phát rút gian phát và
ra các modules cao Các tái
thành trong công (IEEE,1999).

- tác: tác trung vào ra các giao các


khác. Các yêu tác có xác tên
giao Chúng có xác trúc ra
tiêu trong ngành công

1.2.3 Kh i ni m ki m th và m b o ch t ng ph n m m

là quá tr nh sát hay thành


xác quan sát và ghi các và giá khía
nào hay thành (Theo chú IEEE
công - IEEE Standard Glossary of Software
Engineering Terminology).

là quá tr nh thi tr nh tm
(Theo Art of Software

là sát hay
trong môi khai cung cho có
ích liên quan thông tin hay
là t m ra các hay
12 BÀI 1: NM M

trong ngành khác


nhau. (Theo Bách khoa toàn Wikipedia).

là các tr nh m
hóa ng và không u không mong là
pha quan trong quá tr nh phát giúp cho xây
và khách hàng yêu ra.

1.2.4 M c tiêu c a ki m th và m b o ch t ng ph n m m

Các tiêu

- Xác và phát có trong

- Sau khi các xác và tra làm cho

- các yêu cách và có trong


vi ngân sách và gian cho phép.

Các tiêu gián

Biên ghi các trong công tác phòng


các hành và

vào tiêu ta chia ra thành các sau:

0: testing và debuging là nhau

1: tiêu là ra

2: tiêu là ra không

3: tiêu là các ro khi

4: giúp các chuyên gia CNTT phát các có


cao

1.2.5 T m quan tr ng c a ki m th và m b o ch t ng
ph n m m
Chi phí cho quá trình và tích án
29% kinh phí án, trong quá trình còn
BÀI 1: NM M 13
bao ban chi mã trình và
xác yêu

Hình 1.8: Chi phí phân cho các tác trong phát
Trong quá trình các tính tích nhau
nhóm (Quality Assurance) xuyên làm
song song nhóm trình (Developer) và tra mã
trình ra liên trong án. Hai cách tích khá
là ghép trên (top down) và ghép lên (bottom up).
là nhân và kinh phí trong quá trình phát
án, và là có vì lúc này áp (do ngày giao
trình có còn khi Ngoài ra,
thúc cho án ra, vì thúc,
các
án

V án là quá trình lâu dài quá trình


quá trình soát các qui trình giai khác nhau,
tìm yêu ban khách hàng, khai và bàn giao và trì
án là cách nhìn vào bên trong
án tra, soát, án phát

án là trong dung CMM 2,


nay công ty áp phát qui trình lý.
14 BÀI 1: NM M

Hình 1.9: Các tác trong lý án

1.2.6 nguyên t c trong ki m th và m b o ch t


ng ph n m m

ki m th t hi u qu khi ti n hành ki m th ph n m m c n ph i tuân th m t


s quy t c sau:

- Quy t c 1: quan tr ng ca ki m th là nh u ra hay k t qu mong mu n.

- Quy t c 2: L p tr nh viên nên tránh t ki m tra tr nh c a m nh.


BÀI 1: NM M 15
- Quy t c 3: Nhóm l p tr nh không nên ki m th tr nh c a chính h .

- Quy t c 4: Ki m tra th u m i k t qu c a m i ki m tra.

- Quy t c 5: Các ca ki m th ph i c vi t cho các tr ng thái u vào không h p l


và không mong mu n, cho các u vào h p l và mong mu n.

- Quy t c 6: Kh o sát tr nh xem li u tr nh có th c hi n ng ph n


c n th c hi n ch là m t ph n, ph n c n l i li u tr nh có th c hi n cái mà
nó không c n ph i th c hi n hay không.

- Quy t c 7: Tránh các ca ki m th bâng tr khi tr nh th c s là


tr nh bâng

- Quy t c 8: Không d ki n k t qu ki m th theo gi thi t ng m là không t m th y l i.

- Quy t c 9: Xác su t t n t i l i trong n tr nh là ng v i s l i


t m th y trong n

- Quy t c 10: Ki m th là nhi m v c ck sáng t o và có tính th thách trí tu .

1.2.7 kh i ni m liên quan ki m th và m b o ch t


ng ph n m m

Xác minh (Verification)

Xác minh là quy tr nh xác xem công trong quy


tr nh phát có m n các yêu ra trong công
hay không.

Xác minh quan tâm các công

Xác minh là v nó có các các


yêu các

Các xác minh: K (Testing) và Rà soát l i (Review)

(Validation)

Là tr nh ra toàn phát xong phù tài


mô yêu là quá tr nh chúng ta xây
có theo yêu khách hàng.
16 BÀI 1: NM M

quan tâm cùng không c n .

CÁC

tra v (unit test)

này còn là các mô trình. là


tra theo mô hình trong thì theo mô hình
tra này là các trình hay nhóm phát
mã chính ngôn mã trình
tra. trình này còn là
trong quá trình mã trình và thúc khi
nhóm nhau là
(test suites).

tra tích (Integration Test)

là giao tích các khác nhau trong


là theo sau
vì có riêng khi
thì không vì có trong mô
khi mô khác sau khi tích các mô nhau. này
là theo mô hình

tra (System Test)

này toàn thành


liên hoàn và mang tính
(khi tích hai hay nhau thì tính này
là theo mô hình

tra (Acceptance Test)

là công cùng trong giai trong


còn là beta. Trong giai này khách hàng
và ký vào biên hài lòng v i và
các yêu ban v bào giao. tiêu chí ra
ngay trong hàng hay khách hàng. chính là
mà mãn khách hàng
BÀI 1: NM M 17
h i quy (Regression test)

là trình sau khi thay


thay môi Quá trình này có dùng các công
ích, công con

tra tính thích (Compatibility Test)

là tra xem có thích các môi khác


nhau tra xem trình có trong các trình
khác nhau không, có trong Internet Explorer, Google Chrome có
trong hành Window hay Macintos.

và áp

Quá trình này vào thái và áp


yêu trình
nhóm cán khi các
thúc.

Các thông này là gian


và gian
công

K ch b n

K ch b n (test script) có hai là các


nhân viên thành công
tra hai là trình cho
cách

(Static Testing)

các tài quan pháp án,


công yêu khách hàng mã
trình, mô hình các
các công trong án là tra chéo các thành viên (peer
reviews). là pháp tra chéo, này tra công
và khác cùng nhóm xác
18 BÀI 1: NM M

và thay tra chéo này có tác các


và lên giám án và phân công trong các
và ghi trong các tài án. là
CMM 3.

Thread testing

S d ng trong ki m th t ch h p x c nh kh c a c c ch c ch nh
b ng vi c th m t chu i c c units m th c hi n m t ch c c a h th ng

1.2.8 i ng th c hi n ki m th và m b o ch t
ng ph n m m
- trí nhóm : tìm và nhân cho
QA, các công
và trách cùng là lý QA.

- trí : các ra các


trình cách

- trí : trách chính là cho nhóm QA làm


không là thành viên chính nhóm.

- trí biên sao chép và các tài cho án: trách chính
là cho nhóm QA không là thành viên chính
nhóm.

t ch c c a ki m th

H nh 1.10: s t ch c ki m th
BÀI 1: NM M 19
Worker v c c quy tr nh

H nh 1.11: Worker v c c qui tr nh

Hình 1.12: Worker v công vi c ki m th và

1.2.9 m c n khi ki m th và m b o ch t
ng ph n m m

1. không do khâu mà do
20 BÀI 1: NM M

2. Tính p vào trúc tr nh

3. nên làm phát

4. cho b nh th không có có
phát ra .

5. Khi phát sinh thêm ki m th nên


tránh lan sóng.

1.2.10 h n ch c a ki m th và m b o ch t ng
ph n m m

Ta không là các 100%.

- Ta không hay tool là

- Không có công c nào thích cho

- không

- Ta không bao có tài nguyên

- Ta không bao ta 100%

1.3 VAI TR C A KI M TH VÀ M B O CH T
NG PH N M M
là qui trình minh không có

- là ra các
mong

- là qui trình tin hay


mà nó

- là qui trình thi hành ý tìm các


nó.

- xem là qui trình tìm các


theo tinh
BÀI 1: NM M 21
Các tiêu chính

Phát càng càng trong gian xác

- minh phù các yêu nó.

- Xác dùng chi phí và

- các testcase cao, và ra các báo


cáo và

- là m t thành trong là Verification


& Validation (V &V).

1.4 LI U V S N PH M PH N M M
Tài phát (báo cáo yêu báo cáo mô trình, v.v) cho
phép và tác các thành viên trong phát
và trong xem và rà soát cá trình và Tài
là cung miêu cho
sàng và pháp thích cho

Tài trì (tài cho phát cung cho trì


thông tin yêu mã và công và trúc cho module. Thông tin
này tìm nguyên nhân (bugs) thay sung thêm
vào có

1.4.1 li u d n
T i li u liên quan n s t nt ic ad n ph t tri n ph n m m, k ho ch ph m vi
d n, l ch bi u d n, c ng th i gian, chi ph d n, b o c o ti n d n.

1.4.2 li u ct

Software Requirement Specification l t i li u c t yêu c u ph n m m,


yêu chính gì phát Tài
yêu nên bao các yêu
và yêu T i li u thông tin làm không
mô làm nào.
22 BÀI 1: NM M

Yêu ph n m m thích nhu khách hàng phát


Khi không ra các yêu các yêu thì khó có
các
ma truy nguyên yêu Thông
phát và các yêu các tài Yêu
(SRS), Yêu (FRS), các Chuyên viên
Phân tích Kinh doanh và Chuyên gia lý Thông minh (SME Management Experts)

- SRS: là tài có thông tin hành vi hoàn


Nó cung thông tin trung gian, yêu
quan), và các yêu không quan)

- FRS: là tài có thông tin các yêu Yêu thích


cách chi Trong án, FRS bao chính SRS.

- Use cases: Các thích tiêu, các tác nhân,


tiên khóa bình khóa sung và khóa

ý: khi, yêu là khó vì thông tin


trong SRS, FRS, Use cases không có các tài có thêm
thông, bán kinh doanh tài chính)
mà làm có sách và tìm trên internet.

1.4.3 li u c t thi t k
vai trò quan trong quá trình
các mô hình chi cho pháp có
Chúng ta có tra và thay
pháp và (tradeoffs). cùng chúng ta mô hình
lên các phát theo: và
thêm vào chúng là vào hay là xây

Trong danh sách vòng phát ISO/IEC/IEEE Software


Life Cycle Process, bao 2 phân tích
yêu và xây
BÀI 1: NM M 23
trúc: phát trúc và ra cách
và các thành khác nhau trong

chi : chi và thành xây


trong pha sau

ra cho xây và nên


giá có phù quan sai
các quá trình sau sai và

1.4.4 li u ki m th
án hay án mô giai
quá trình tìm yêu Tài này

- án; tài liên quan có tham


lý án hành nào;

- Các các các ra cho trình


hình, cho và các

- tra (reviews) và (audits) các qui trình công


các giai xem các công bao xem yêu
án, mã trình, và xem kinh
án

- lý ro án: ro án
lý toàn các ro án.

- Báo cáo các sinh và các hành

- kê và các công và pháp


án

- Thu và các báo cáo các giai

soát trên hai sau:

- tìm liên các khác nhau án, ví


tìm xem thích yêu khách hàng các
nào, có hoàn toàn nhau.
24 BÀI 1: NM M

- tra xem xét chính giai chu trình


phát

1.5 YÊU C U KI M TH VÀ M B O CH T
NG
Mô t nh ng yêu c u c ki m th trong AUT (Application under test)

- Yêu c u ch c : nh ng yêu c u ch c m ng d ng nên l m

- Yêu c u phi ch c nh ng yêu c u i thu c t nh m ch c nên ho c


trông th n o. C 3 lo i yêu c u phi ch c

Look n feel

Boundary

Negative

nh d ng c th kh c nhau. Ch ng c th duy nh t m i công ty v i vi t b o


c o. T i li u hy v ng y thông tin h u ch:

- Target Platform

- Nh ng yêu c u h th ng

- Mô t ch c

- C ch s d ng

- V ng v n mong i

1.5.1 Quy tr nh ki m th và m b o ch t ng ph n m m
Quy trình xác các giai pha trong
Tuy nhiên, không có STLC tiêu nào trên
quy trình bao giai sau:
BÀI 1: NM M 25

H nh 1.13: V ng i ki m th ph n i
1.Requirement analysis - Phân tích yêu
2.Test planning -
3.Test case development -
4.Test environment set up - môi
5. Test execution -
6. Test cycle closure - chu trình
Các giai cách giai có
tiêu khác nhau, vào và ra khác nhau
cùng là Sau chi
thông tin các ai là vào, ra giai
trong quy trình

Requirenments analysis - Phân tích yêu

vào: tài yêu tài tài khách hàng yêu


các tiêu chí prototype khách hàng yêu
có),...

Giai tiên trong quy trình

QA team nghiên và phân tích các yêu trong tài


án tài khách hàng. Qua , QA team yêu yêu

Ngoài ra, nghiên tài có câu phát sinh hay QA


team ra câu các bên liên quan: BA (Business Analysis), PM (Project
Manager), team leader, khách hàng chính xác yêu
câu vào t p tin Q&A (Question and Answer).
khách hàng không có mà yêu thì càng
26 BÀI 1: NM M

không câu mang tính chuyên môn cao. Chính chúng ta là


và ra pháp thích cho khách hàng

ra: tài các câu và câu liên quan


tài báo cáo tính thi, phân tích ro

Test planning -

vào: các tài thông qua các câu và


ra trong giai phân tích yêu tài báo cáo tính thi, phân tích ro

Test manager test leader là cho QA team.


xác quan sau:

Xác vi (Scope) án: gian d n, công theo th i


gian, t o trình phù toàn án.

Xác pháp : ví gian cho phép test có phù


yêu cao, hay khe. Công phát
(domain). test manager có ra
pháp và phù cho quá trình án cho
các tiêu chí và các gian
bàn giao, phát hành.

Xác các

Con tham gia án, ai test, bao nhiêu tester, kinh

server, version, máy tính, mobile test,

Lên công test: các


dung:

kê các làm công gì, gian,


tiên,

Xác

Xác thúc: thúc

ra: test plan, test estimation, test schedule.


BÀI 1: NM M 27
Test case development -

vào: test plan, test estimation, test schedule, các tài

Review tài xem các tài xác công làm,


nào test, nào không test có
gian mà và

test case/check list: Sau tester test case vào


ra và các Test case bao
các có ra các tiêu chí
tester giá tiên cho test case.

v i test case, các


test data, test script.

Review test case/ check list: test leader review test case
sung, tránh sai sót trong test case và ro.

ra: test design, test case, check list, test data, test automation script.

Test environment set up - môi

vào: test plan, smoke test case, test data.

Môi trên yêu khách hàng,


hay thù ví server/ client/ network,...

Tester vài test case tra môi cài là thi


các smoke test case.

ra: môi cài yêu smoke test case.

Test execution -

vào: test plan, test design, test case, checklist, test data, test script.

các test case và tiên trên môi cài


28 BÀI 1: NM M

So sánh mong sau báo cáo các bug ra lên tool lý và


theo dõi thái khi thành công.

re-test x c nh n các bug c fix và ki m th h i qui khi có thay


liên quan.

Trong quá trình viên cho án


pháp lý và công

và phân tích viên soát công


so sánh cho
án, nhanh vì test lead lên sát án.
có test plan phù án ra.

Report xuyên cho PM và khách hàng tình hình án: Cung


thông tin trong quá trình làm nào, còn
nào, hoàn thành bao công báo cáo các
phát sinh tránh công ngày.

ra: test results defect reports(danh sách các tìm

Test cycle closure - chu trình

vào: tài phân tích yêu test plan, test results, defect reports,
tài Q&A,...

là giai cùng trong quy trình

giai này, QA team báo cáo thi test


case, bao nhiêu case pass/fail, bao nhiêu case fix, nghiêm
bao nhiêu còn nào, dev nào
hoàn thành hoàn thành bàn giao.

giá các tiêu chí hoàn thành vi tra, chi phí,


gian, tiêu kinh doanh quan

Ngoài ra, giai này và rút


ra bài kinh cho án sau, giúp quy trình

ra: Test report, Test results (final).


BÀI 1: NM M 29
1.5.2 t nh yêu c u ph n m m
xây có tám tính sau

- c nn cái g không. y chi nó bao


không vào tài khác.

- Trúng nó cung cho bài toán, nó xác


các tiêu và không có

- Chính xác, không và r ràng. Mô có chính xác không, có r


ràng và không, c n có g là không xác

- thích. Các và mô có xung nhau.

- Các có mô không.
Có g không. Có truy yêu dùng không.

- thi. có cài trong khuôn nhân công tài


nguyên, gian và kinh phí cho phép hay không.

- Phi m Trong không dùng các câu cho


tr nh. Ngôn dùng trong là dùng.

- các có cung
thông tin có và xây các ca

1.5.3
- [1] và vi tài
Cung vi mà project platform,
database, hay danh sách các project con trong project

- [2] Cách ti p c n và các chi n c c dùng: c t v pháp lu n


ki m th s c dùng th c hi n ki m th . Ví d : T ng quan v Testing
Process Approach cho Project ABC . c p các c p ki m th c n th c hi n Các
k thu t c dùng cho m i ki u ki m th trong project: Ki m th tích h p
(Integration Testing). Ki m th h th ng (System Testing). Ki m th ch p
thu n (Acceptant Testing). Ki m th ch c c a i dùng (Functionality
Testing). Ki m th h i quy (Regresstion Testing). Ki m th vi c ph c h i sau l i
30 BÀI 1: NM M

(Failover and Recovery Testing). Ki m th vi c ki m soát an ninh và truy xu t


(Security and Access Control Testing). Ki m th vi c c u hình và cài t
(Configuration and Installation Testing). Ki m th c bi t. Ki m th hi u xu t
(Performance Testing)

- [3] Các tính ch t c n c ki m th : Danh sách các tính ch t c a ph n m m


c n c ki m th , là catalog t t c các testcase (bao g m ch s
testcase, tiêu testcase) t tc các tr ng thái b n.

- [4] Các tính ch t không c n c ki m th : Danh sách các vùng ph n m m


c lo i tr kh i ki m th , các testcase c nh
không c n ki m th .

- [5] R i ro và các s c b t ng : Danh sách t t c r i ro có th x y ra trong chu


kì ki m th . pháp mà ta c n th c hi n t i thi u hóa hay s ng chung v i
r i ro.

- [6] Tiêu chí ch và ph c h i ki m th : Tiêu chí ch ki m th là các


u ki n mà n u th a mãn thì ki m th s d ng l iTiêu chí ph c h i là nh ng u
ki n c h i ti p t c vi c ki m th c ng ng c

- [7] Môi ng ki m th : c t y v các môi ng ki m th , bao g m


c t ph n c ng, ph n m m, m ng, database, h u hành và các thu c tính
môi ng khác nh ng n ki m th .

- [8] L ch ki m th : L ch ki m th d ng c ng, nên ch a các thông tin: các


c t m c v i ngày xác nh + K t qu phân ph i c a t ng c t m c

- [9] Tiêu chí d ng ki m th và ch p nh n: B t k chu n chât ng mong


mu n nào mà ph n m m ph i th a mãn cho vi c phân ph i n khách hàng. Có
th bao g m các th sau:Các yêu c u mà ph n m m ph i c ki m th i các
môi ng xác nhS l i t i thi u các c p an ninh và tiên khác nhau, s ph
ki m th t i thi uKý k t và ng thu n c a các bên liên quan

- [10] Nhân s : Vai trò và trách nhi m t ng i: Danh sách các vai trò xác nh
c a các thành viên i ki m th trong ho t ng ki m th .Các trách nhi m c a
t ng vai trò.Công tác hu n luy n. Danh sách các hu n luy n c n thi t cho các QC.
BÀI 1: NM M 31
- [11] Các ti n ích ph c v ki m th : Danh sách t t c các ti n ích c n dùng
trong su t chu k ki m th .V i project ki m th t ng, các ti n ích c n c li t
kê v i ch s version cùng thông tin license.

- [12] Các k t qu phân ph i: Danh sách t t c tài li u hay artifacts d nh phân


ph i n i b sau khi m i c t m c k t thúc hay sau khi project k t thúc.

1.6 Y U T C N THI T C A KI M TH VÀ
M B O CH T NG PH N M M
là khâu cùng khi khách hàng.
có vai trò quan trong thành công án và
kinh có thành

[1] Cân b ng

luôn cách cân sao cho lý trong tình


mà luôn cân trong các công
mình làm, cân tìm yêu ra
nhu hoàn thành công

[2] Th c hành ng xuyên

thành luôn toàn


không tính nó.

[3] L c léo

Thay vì vào checklist hay có luôn hình


dung ra cách khác nhau công

[4] S p x p th t tiên

luôn ph n nào sau và vi


có tìm bug và khách hàng thi

ph i khách hàng là ai. Các bên liên quan


con bug tìm không tìm

[5] Kh quan sát

luôn quan sát trong quá


trình mình. này có khi là trình
32 BÀI 1: NM M

có khi là bug, có khi bug mà mô


Hãy ghi quan sát làm
mình trong ra ngoài. Bên
xuyên quan sát. tâm vào chi và phát
có bình chút.

[6] S chính xác

Khi tìm bug, mô


bug thêm xung quanh bug
thêm bug. khi báo cáo bug rõ ra nào là nào là
quan sát

1.7 VI T YÊU C U KI M TH
Công test có các phase sau: test, test, testcase,
test, báo cáo test.

Trong test" và test" là phase quan phát ra


và xác

(1) Xác ki m th

- Xem ki m th xác ki m th tính


quan ...).

- vi test, dung test, pháp test.

(2) danh sách

- ra toàn làm ki m th .

- các

- Không phán phi ki m th .

(3) ra quan ki m th

- Quan test là " cánh Test ".

- Ví Xác chính xác tính toán trên màn hình,


xác check xác gian lý bi t quan
ki m th .
BÀI 1: NM M 33
- Quan ki m th ki m th .

(4) Phân chia cho quan ki m th

- Áp quan ki m th cho tránh quên.

- Có hình dung ki m th cách

- Có quy mô ki m th và quan các quan ki m


th .

(5) tra pháp và ki m th

- hành ki m i

- và pháp ki m th có phát ra cách


trong các pháp ki m th .

H nh 1.14: Các công


34 BÀI 1: NM M

TÓM
Bài này sau

- Mô h nh ph t tri n ph n m m

- Yêu c u ki m th và ph n m m

- Vai tr c a ki m th và ph n m m

- Yêu c u ph n m m

- Qui tr nh ki m th và

- Thu c t nh yêu c u ph n m m

- C u tr c b ng k ho ch ki m th và
BÀI 2: K THU T THI T K TEST CASE 35

BÀI 2: K THU T THI T K TEST


CASE

dung các sau:

- Thi t k test case theo White-box

- Thi t k test case theo Black-Box

- C c h th ng qu n l testcase

2.1 CÁC KH I NI M CH NH
test case trong là quá trình xây các
pháp có phát sai sót, xây
tiêu test-case vai trò quan trong nâng
cao vì lý do sau

- ra các ca có phát ra sai sót


cách

- ra các ca có chi phí ít gian và công


trong lý do quan trong trình là
và ra các ca ràng gian và chi phí
cho, thì then thành: con nào ca
có có tìm ra .

Thông pháp kém là tra vào


nhiên, quá trình trình nhiên con
các giá vào có tìm ra các ca
nhiên có ít là hay Sau là
pháp ra cách thông minh.
36 BÀI 2: K THU T THI T K TEST CASE

và cách là không Do
lý là có hai
pháp trên: Phát nghiêm các
pháp ca n nào và sau sung thêm
này sát tính logic trình, v i pháp

Các thành Test case

M i test case là m t tài li u t p h p c a các d li u u vào và các u ki n ho t


ng c yêu c u th c hi n m t m c test cùng v i k t qu c mong i. i
ki m th mong i s ch y m t trình cho m i m c test theo tài li u c
cung c p trong ng h p test, và so sánh các k t qu th c t v i k t qu mong i
c ghi l i trong các tài li u. N u k t qu thu c hoàn toàn phù h p v i k t qu
mong i, ko có l i ho c ít nh t c xác nh. Khi m t s ho c t t c các k t qu
u không phù h p v i các k t qu mong i, m t l i ti m tàng c xác nh.
pháp phân vùng các l p c áp d ng giành c hi u qu
và xác nh tính hi u qu test case, thi t l p, cs d ng trong h p

Hai tài li u cho các testcase:

1. module: nêu rõ các thông vào, ra và các


chi module.

2. Mã module. Tính các testcase là vào


h p

testcase

Phân tích lý module vào m t trong các


Áp các en vào module sung thêm các
testcase khác. qui trình các module, hãy ý2 chính:

1. Làm sao các testcase

2. Cách và tích các module ra

- testcase cho module nào

- Dùng ích nào cho .

- Coding và các module theo nào.


BÀI 2: K THU T THI T K TEST CASE 37
- Chi phí ra các testcase.

- Chi phí debug tìm và .

Có 2 án các module:

1. không hay (Nonincremental testing):


các module nhau, sau ó chúng ra
trình.

2. (Incremental testing): module vào


ã (lúc là null) module trong

2.2 THI T K TEST-CASE: WHITE-BOX


2.2.1 quan v ki m th h p tr ng

(còn là Clear Box Testing, Open Box Testing, Glass Box


Testing, Transparent Box Testing, Code-Based Testing Structural Testing) là
pháp m tester trúc
tra vào các thông qua mã và xác ra
thích trình và là trong

vào vào trúc


xác ó có úng. Do ó
t có ngôn trình, trong ph n m m
chi code

2.2.2 c m ki m th h p tr ng

Test có giai không cho GUI test

Test càng có bao các

Thích trong tìm và các trong mã

Cho phép tìm các bên trong


38 BÀI 2: K THU T THI T K TEST CASE

Các trình viên có tra

Giúp mã hoá

Do yêu trúc bên trong nên soát

Vì các bài tra có các có tay cao,


sâu trình và

Maintenance test script có là gánh thay quá


xuyên.

Vì pháp này liên quan


test, nên các công cho khai / có
không có.

2.2.3 m c p d ng

pháp tra áp cho các tra sau:

- Unit Testing tra trong

- Integration Testing (Test tích tra các

- System Testing (Test tra các các con.

Tuy nhiên, nó là áp cho các

2.3 THI T K TEST-CASE: BLACK-BOX


2.3.1 quan ki m th h p

P pháp khi không bên


trong tester tra xem c .

- C n là hay là in/out.

- nên xây các nhóm giá vào mà thi


các yêu trình.
BÀI 2: K THU T THI T K TEST CASE 39
- Các tester không dùng trúc trình bên trong
xem là trúc hoàn không can c.

Black Box Testing trong Function test và System test.


pháp này tìm ra các trong các sau:

- không chính xác

- giao

- trong trúc truy bên ngoài.

- Hành vi

- và các

Hình 2.1:

nào có và nó. Các


pháp khác nhau
khi tay dùng.

2.3.2 c m c a ki m th h p
m

- Các tester quan dùng và giúp trong


sáng chênh thông

- Các tester theo pháp black box không có ràng nào code, và
tester source code có
nguyên và các tester black box tìm bug
mà các l p tr nh viên không tìm
40 BÀI 2: K THU T THI T K TEST CASE

- Tester có không IT chuyên không ngôn trình


làm nào các

- Các tester có quan các developer, cho


phép cái nhìn khách quan và tránh phát thiên

- toàn yêu nó chính xác.

- khá nhanh, ngay khi mà các yêu


xác

- vào yêu (sample) khá

- án không có thông rõ ràng thì test case khó và do


khó do xác các vào, và
gian cho này.

- có các vào có tra và


trình tra.

- black box xem "là trong mê cung mà không


mang vì tester không test xây
nào. Có khi tester test
tra có test test vài
cùng không test

2.3.3 Qui trinh ki m th h p


Qui trình en quát các :

- Phân tích các yêu ph n m m

- Dùng thu các testcase testcase.


testcase là xác 3 thông tin sau :

- Giá ph n m m lý không

- thái ph n m m có testcase.

- Giá mà ph n m m
BÀI 2: K THU T THI T K TEST CASE 41
- các testcase ã

- So sánh thu k trong testcase, ó báo


cáo

Hình 2.2: Phase test trong công test


test: ra rõ ràng và vi công test tra
xem là test approach nào. resource thành viên và
schedule.

test: xem là cái gì cho và test càn


trong công test test, pháp test,
import và export test. Ngoài ra nguyên
test hay tiêu thành công/ không thành công.

test case: document ghi thái khi test và mong


test theo và trình thao tác khi test
nào) và thái ghi thao tác test).

test: xem testcase cho hành


test, sau pass fail vào thái testcase.
có testcase khác mong thì ghi fail vào thái,
báo cáo Trong báo cáo trình bày dung mô
42 BÀI 2: K THU T THI T K TEST CASE

khác mong và phát sinh trong nào


(thao tác,

Báo cáo test: Tóm báo cáo. vào các


test, công và
tìm ra, theo quan giá xem có mãn tiêu c
pass/ fail test không. Ngoài ra thêm risk có sinh ra sau khi
release và sung trong án cho giai theo.

2.4 H TH NG QU N L TEST-CASE
2.4.1 thi u

tiên "Excel - Google sheet". là tool lâu và


công ty, d n.

V i Google sheet t t cho project và nh m có 1,2 tester/QA.


project có tester/QA và test run thì lý
Google sheet khá khó và không rõ ràng.

Trên g có công c . Nói chung team project thì


ra cho test case management tool.

Có hai tool chính: công c lý test case, công c


trong lý d n.

công c lý test case riêng dùng Git lý code, dùng


Jira lý task....):

- công c mi n ph có TestLink... thi t l p trên server công ty

- công c tính phí thì có Testrail, Testlodge: hai công c


này khá cho nhu lý test case.

hai, công c trong lý project. Ch ng ta có


tham Visual Studio Team Service hay Terik. Hai công c này khá trên
tool này là "quy source code, test
case, document, process, automation test, CI/CD,.. dùng khá , lý test
case
BÀI 2: K THU T THI T K TEST CASE 43
2.4.2 Testcase
Sau khi có requirement, test plan thì tester/QA
mình. Và theo làm là xây test case cho

Test case là cách mà có mô


chi rõ ràng.

Chính vì test case là test case làm sao ai vào


có làm sao trên và
hay sai.

test case là thông tin ng d ng, coi t i li u


cho

test case checklist, khi test trên checklist, không bao


b s t ng h p.

Khi không còn tham gia vào project và giao tester khác, test case là tài
kì quan vào test case công nên
xây test case là kì quan khi ta không
gi nh gì, test case chi chính xác và c p nh t liên

có test case giúp test run dàng và có tracking quá trình


xây , tracking bug Vì khi có checklist cho
các case mình test, ta dàng ra bug có trong

test case ta có bao test case (test coverage) hay


ta th c hi n test case mà còn bug có là ta
mình test case V v y m khi phát sinh bug mà flow có
trong test case thì hãy sung ngay. Không ai có xây test case
hoàn ngay test case sung trong quá trình phát
có kinh thì test coverage cao vì

ích khác cho automation, test case thì khi qua


automation, build script nhanh và ít gian script
follow theo test case, có step và không suy
44 BÀI 2: K THU T THI T K TEST CASE

2.4.3 th nh ph n testcase
Test case có xem là và mong nh m,
giúp test case "rõ ràng" có

- Test case ID: là ID mình tên. Ví test case


n ng "Sign Up" thì là SU_0 01 .

- Test case summary: tóm có là tên test case, giúp cho


test case. cái tên là cái tên mà
vào là mình làm gì.

Ví "Verify that us er can sig n up with valid data suc cessfully"

- Test case description: mô chi test case dùng làm gì. Vì tên
không mô test case, nên chúng ta mô rõ
theo kinh thì này hao hao "Test case
summary", nên gian có qua.

- Pre-conditions: Không ra là test m test


data, test data Bên là môi test, ta
màn hình nào test.

Ví tra case sau: "Ver ify sig n in fun ction when the re's no
int erne t connection" thì Pr e-conditon là: "1. The re's no int erne t connection
on device. 2. User is in sig n in screen"

- Test data: Có test case test data, không


thì có, ta dùng t i kho n thì ta
có function ki m th ng h p d li u h p
l (valid data) th nên test data dàng test

- Reproduce Steps: mô c test case. này là


kì quan và gian khi test case.

test case khi này chi và rõ ràng.


assume" (gi nh) gì khi , hãy ta là không gì
và là tiên thao tác, thì test case rõ
BÀI 2: K THU T THI T K TEST CASE 45
- Expected result: "reproduce steps" ta thì có
expected result. Không là c nào có, nên là có.

Ví trong test case "Verify that us er can sig n up suc cessfully". Ta có


steps "Press "Sign In" button" thì có exp ected result "Sign
in suc cessfully. User go to home screen"

- Observed/Actual result: thì này ta thêm vào


khi run test case. Nó giúp ta có gì, gì hay
nó làm "work like expected"

- Test case status: nó là sau khi "run" test


case. có 4 status: Pass/Fail/Blocked/Skipped

- Bug ID: test case failed thì ta ticket bug và thêm bug ID vào
này. team có lý task và bug)

- Environment: môi test. Quá trình phát có


môi Dev, Staging, UAT, Production. Khi ta run test case, thì
ghi rõ là test trên môi nào.

- Notes/Comment: ý hay ta ghi cho khác dàng


khi

là mà test case nên có. Có khi


"run" thôi. khi thì ta nên không b qua
thông tin.

TÓM
Bài này .

- Gi i th u thi t k Test case

- C u tr c th nh ph n Test case
46 BÀI 3: TEST CASE - BLACK -BOX

BÀI 3: THI T K TEST CASE -


BLACK-BOX

dung các sau:

- K thu t L p

- K thu t Gi tr biên

- K thu t nh

- K thu t thái

3.1 K THU T L P
Tinh này là phân các testcase ra thành nhóm
khác nhau: các testcase trong kích ph n m m cùng m t
hành vi. nhóm testcase mãn tiêu trên là ta
xác testcase cho nhóm và dùng testcase này ph n
m m. ta ã testcase và
không sút bao nhiêu so vét này là vào
lý sau:

- m t testcase trong nào gây ph n m m thì các testcase


trong này gây

- m t testcase trong nào không gây ph n m m thì các


testcase trong này không gây là các
các testcase các giá không theo .
này vào tinh

- ta dùng tinh theo (Testing-by-Contract) thì không


các các testcase các giá không
theo vì không
BÀI 3: TEST CASE - BLACK-BOX 47
- Còn ta dùng tinh phòng (Defensive Testing), là
hoàn thì các các testcase
các giá không theo xem ph n m m nào
testcase này.

V d : Ph n m m l nhân 1
xin ph n m m ra ban và viên theo :

viên

- 0-15 Không thuê

- 16-17 Thuê bán gian

- 18-54 Thuê toàn gian

- 55-99 Không thuê

pháp phân và phân tích giá biên, h y các


cho ph n m m trên.

Tu i <0 0-15 16-17 18-54 55-99 >99


Nh p d Không Thuê b n Thuê to n Không Nh p d
K t qu
li u sai Thuê th i gian th i gian Thuê li u sai
L p Không H pl H pl H pl H pl Không
H pl H pl
nh d u I1 V1 V2 V3 V4 I2

C cl p ng:

- I1: {-2,-1,0} I2: {99,100,101}

- V1: {-1,0,1} {14,15,16}

- V2: { 15,16,17} {16,17,18}

- V3: {17,18,19}, {53,54,55}

- V4: {54,55,56}, {98,99,100}

Ví trình tra ngày tháng vào có hay không?


vào tháng, ngày ngày tra.

Ví 12/12/2017 là ngày 32/12/2017 là ngày không

pháp phân vùng các test case


trình trên.
48 BÀI 3: TEST CASE - BLACK -BOX

<= 0 >0

Tháng < 1 Tháng = 1-12 Tháng > 12

1, 3, 5, 7, 8, 10, 12 2 4, 6, 9, 10
(31 ngày) 29 ngày, 28 ngày) (30 ngày)

< 1 1-31 > 31 <1 1-30 > 30

< 1 1-29 > 29 < 1 1-28 > 28

Ví ký tài yêu m
có hoa, ký và dài là 6.

S phân vùng các test case tra ô


.
BÀI 3: TEST CASE - BLACK-BOX 49
3.2 K THU T GIÁ TR BIÊN
Phân tích giá biên (Boundary Value Analysis - BVA):
có liên quan xác biên (ranh mô cho các giá
vào và giá biên và bên giá biên làm
pháp phân tích giá biên ra các giá bao
giá bên trong, bên ngoài biên giá và

K kinh các ngay giá


biên. là lý do sao phân tích giá biên quan khi

- Test giá biên theo trình

1. Tìm ra biên

2. giá biên

3. giá test

Giá biên.

1 giá biên. là class giá

Trên 1 giá biên. là class giá

Ví : Yêu 4 <= password <= 15. Giá test sau


50 BÀI 3: TEST CASE - BLACK -BOX

Kinh trong trong trình các


cho chúng ta biên ( hay liên nào ó
Do ó ta trung testcase giá biên.

Ý th trên các biên là các testcase


các giá ngay trên biên hay lân biên Do ó
này thích các xác các giá liên
nguyên, không thích xác các giá
kê mà không có quan nhau.

Qui trình trên các giá biên:

- l trên yêu ph n m m.

- 2 biên

- các testcase cho biên :

1 testcase cho giá biên.

1 testcase ngay biên.

1 testcase ngay trên biên.

- Ý ngay trên và ngay biên vào o

- là nguyên, ngay trên và ngay biên 1

- tính là và thì ngay biên 5$ là 4.99$, trên là 5.01$.

- là $ thì ngay 5$ là 4$, ngay trên 5$ là 6$.

Ví X sinh THPT trên trung bình


sau:

- 0 < 5: kém

- 5 < 7: trung bình

- 7 < 8: khá

- 8 < 9:

- 9 <= <= 10:


BÀI 3: TEST CASE - BLACK-BOX 51
trung bình làm tròn 1 phân.

áp phân tích giá biên vào trình giá và


trong các

- 0 và 4.9

- 5 và 6.9

- 7 và 7.9

- 8 và 8.9

- 9 và 10

- giá tiên trong > 10 là 10.1

- giá cùng trong < 0 là -0.1

Ví M developer phát xong tra nguyên


n có là nguyên không và giao cho tester hành
này màn hình console cho phép nguyên n và
thông báo có nguyên hay không?

- Ghi chú: nguyên là nhiên có hai phân là 1 và


chính nó.

- tester ít kinh t cách giá nguyên n


tra trình trên.
52 BÀI 3: TEST CASE - BLACK -BOX

- tester có kinh hành phân vùng test


case sau:

- Áp phân tích giá biên cho phân vùng nguyên


, các giá biên sau cho các phân vùng
:

Phân vùng nguyên 2

Phân vùng nguyên 3

Phân vùng không nguyên 1

Phân vùng không là nguyên 4

- Developer trình tra phát


BÀI 3: TEST CASE - BLACK-BOX 53
pháp Phân ích giá biên

- cho các hàm có

- Có sinh test case khi xác giá biên các

pháp Phân ích giá biên

- Không quan tâm hàm, các quan


các

- Khó áp cho các có quan ràng nhau.

3.3 K THU T B NG QUY T NH


là dùng xác
(scenario) cho có logic

giúp tester xác các vào khác


nhau các tình thi quy

nên trong trình có


nhánh và các vào có quan nhau.

trúc :

Xây

- kê các vào.

- Tính các giá các vào và các


vào trong giá các
54 BÀI 3: TEST CASE - BLACK -BOX

- Xác các test case cho các mãn.

- Các hành chính là mong test case.

- Trong giá các có giá là cho các


không ra.

- Chú ý: các và hành là không quan

Ví Xây cho login hai thông tin vào là


username và password trên web.

- Xác các vào: username và password.

- vào trên trong 3 giá (blank - B), (valid - V) và


không (invalid - I).

- giá các có ra là 9

- Rút các các giá vào.

quy có cùng giá hành , khác


giá duy

giá khác nhau thành - và gôm các thành

hai trên cho khi không còn các test case nào
BÀI 3: TEST CASE - BLACK-BOX 55

- Các quy thành các test case:

giá các là các giá lý (true/false) thì quy


thành test case.

giá các có giá thì quy


thành test case phân vùng phân tích
giá biên.

Ví ABC có cho phép sách. Theo


sách không quá 500 sách trong (không phân tên
sách), không phép quá 5 trong và
các sách phép

và phân tích giá biên test case


có phép sách không và bao nhiêu trong
?

- K = không còn sách

- M là sách trong (0 M 500). X là


sách (1 X 5). sách này nêu 0 M +X
500 và K
56 BÀI 3: TEST CASE - BLACK -BOX

3.4 K THU T D CH CHUY N TR NG THÁI


- Các khía mô thông qua thái.

- có thái khác nhau, thái này


sang thái khác nào

- mô hình thái có 4

Các thái (states) có ra.

(transitions) thái này sang thái khác.

Các (events) thái.


BÀI 3: TEST CASE - BLACK-BOX 57
Các hành (actions) là thái.

Ví M quy trình (fix bug) bug tracking công ty


sau:

- Tester phát bug và báo cáo bug thái

- Developer xem xét nó không bug thì bug sang thái


và thích cho tester.

- tester ý không bug thì bug sang thái


thái

- developer xem qua bug là và hành fix


bug thì bug sang thái

- Sau khi fix bug xong, developer nó sang thái tester


hành xác (verify) bug fix.

- Trong quá trình fix bug, developer ra nó không thì


developer thái

- tester tra qua bug fix và thì bug sang thái


nó thái và yêu developer fix

- Sau khi bug quá trình test sau nó tái thì


tester có nó thái và yêu developer fix.

- Các thái: O = Open, IP = In Progress, WF = Wont Fix, T = Testing, C =


Closed.

- Các

Open In Progress, Wont Fix

In Progress Wont Fix, Testing

Wont Fix Open, Close

Testing Open, Closed

Closed Open
58 BÀI 3: TEST CASE - BLACK -BOX

- Các :

E1: fix bug

E2: không bug

E3: bug fix

E4: xác bug fix

E5: bug fix

E6: xác không bug

E7: bug fix

E8: tái bug

- Các hành khi có thay thái nào bug,


email thông báo các thành viên có liên quan bug
thái bug.

- mô thái
BÀI 3: TEST CASE - BLACK-BOX 59
- vào thái có 9 test case O IP, O WF, IP
WF, IP T, T C, T O; C O, WF C, WF O và vài không

Ví S ATM

3.5 BÀI T P THI T K TEST CASE BLACK BOX


B it p1

ngân hàng ngân hàng ABC quy không


quá 10 (tr) trong ngày, là 1tr.

pháp phân tích giá biên test case tra


khách hàng A có phép trong ngày không?

B it p2

xe 9:30 sáng sau 4:00 7:30


cao th mua vé Vé (giá vé có
cho các xe 9:30 sáng 4:00 và sau 7:30 Tàu
4:00 sáng 23:00

các ca tra yêu trên vào pháp phân


vùng và phân tích giá biên.
60 BÀI 3: TEST CASE - BLAC K-BOX

B it p3

Ph n m m xét sau: 1 xin


ra 4 sau m n:

- Thu hàng tháng trong 1000$ 83333$

- nhà xin 1-5

Dùng pháp phân và phân tích giá biên


các cho trên.

B it p4

Bài toán t m cho tr nh 2:

- a,b,c là các [-10, 100]

- ra có sau khi 3 a,b,c và nút Calculate là:

1. Không là tr nh 2.

2. tr nh vô

3. tr nh có ra giá

4. tr nh có 2 ra giá 2

5. sai

- các ca dùng pháp phân

B it p5

1. màn h nh:

- Item 2 check "Male"

- Item 3 và 5 null

- Item 4 thái enable (có click

2. Mô l chính:

- Khi click vào item 4 th l sau:


BÀI 3: TEST CASE - BLACK-BOX 61
là Male

o 18 35 th

o 36 50 th

o 51 145 th

o khác th thông báo "Xin vui l ng chính xác"

là Female

o 18 35 th

o 36 50 th

o 51 145 th

o khác th thông báo "Xin vui l ng chính xác"

Dùng pháp phân và phân tích giá biên xây


các ca cho tr nh trên.

Bài 6:

Cho trình xác tam giác có là tam giác cân không,


dùng vào dài 3 a, b, c tam giác.

test case trình trên.

B it p7

trình mãi tri ân khách hàng hãng A cho khách hàng


mua dòng cao hãng ra ngày 20/11/2017 ngày
31/12/2017 dòng là cao giá >=20tr. Theo
khách hàng mua cao hãng A trong gian
1 loa bluetooth và dán màn hình. Ngoài ra khách hàng
dùng dòng cao hãng A, tính mua cho
mua gian này.

- Không quá 1 thì khách hàng thêm 2 trên giá

- trên 1 2 thì khách hàng thêm 1


trên giá
62 BÀI 3: TEST CASE - BLACK -BOX

- các pháp và phân tích giá biên các


test case các mãi mà dùng khi mua
cao hãng A? Có câu gì thêm làm rõ yêu

Bài t 8

lý có cho phép bài bài


khi phép xóa trong vòng 15 phút lúc submit
bài, sau gian này bài không phép chính hay xóa
và bài trên khác có .

Ngoài ra, khi xong bài trong vòng 15 phút lúc submit bài
tác bài có nút bài và nhiên
không xóa bài sau khi Sau khi bài
tác bài xóa bài liên admin
Chú ý sau khi admin bài bài
thái khác

thái tin và các test case cho chúng.

Bài t 9

lý cho phép và tin trong khi


dùng tin có thái là tin ra thì tin
thành thái Sau khi tin, dùng có nó thành tin
ghi

Ngoài ra, dùng có xóa tin ban tin xóa trong


thùng rác, trong 24h lúc xóa dùng có thái khi
xóa, sau gian này tin xóa

thái tin và các test case cho chúng.


BÀI 3: TEST CASE - BLACK-BOX 63
TÓM
Bài này cung các

- C c k thu t l p v gi tr biên

- Phân t ch r ng bu c

- T h p u ki n

- C c d ng b i t p ki m th h p
64 BÀI 4: TEST CASE WHIT E - BOX

BÀI 4: T K TEST CASE


WHITE - BOX

dung các sau:

- quan

- Ki m th ng b n

- Ki m th lu ng u khi n bao ph

- Khi m th v ng l p

- Ki m th lu ng d li u

4.1 T NG QUAN KI M TH H P TR NG
này còn là structural testing, glass testing, open-box
testing.

Tester cách (HOW) thi bên trong

dàng xác tra, nên tra

mã nên tester có khi

Chi phí vì tester mã


BÀI 4: TEST CASE WHIT E - BOX 65
Khó xét các ngõ ngách trong mã nên có sót không
test.

(basis path testing)

trúc (control structural testing)[

4.2 KI M TH NG B N
- Là dùng trong Tom McCabe ra tiên.
dòng trình.

- Là trong pháp miêu là pháp quan


cho chúng ta dàng các thành và quan

- H trong các thành này.

- - dòng có giúp ca
logic

- 2 thành : các nút và các cung chúng.

- Các nút trong dòng


66 BÀI 4: TEST CASE WHIT E - BOX

- Các trúc thành dòng:

- Ví :

- dòng các nút phân thì ta nó là


dòng phân. Ta luôn có chi hóa 1 dòng
thành dòng phân.
BÀI 4: TEST CASE WHIT E - BOX 67

- Cyclomatic C = V(G) dòng tính 1


trong các công sau: V(G) = E - N + 2, trong E là cung, N là nút
V(G) = P + 1, là dòng phân các nút
lý - có 2 cung True/False) và P nút
Cyclomatic C chính là thi hành tính

Ví các test case k trình và trình ax


+ b = 0, a, b là các trình sau:

Xác Cyclomatic

- các vùng G: 3

- V(G) = E N+2=8 7+2 =3

- V(G) = P + 1 = 2 + 1 = 3
68 BÀI 4: TEST CASE WHIT E - BOX

Xác

- a, b, d

- a, c, e,g

- a, c, f,h

4.3 KI M TH BAO PH
4.3.1 M t s khái ni m

thi hành (Execution path): là thi hành


nó là danh sách có các thi hành 1

thúc

ph n m m có 1 n (có thi hành khác nhau.

bao ph (Coverage): là các thành so


sau khi các test case

bao dùng tra (coverage) các test case. Các


bao :

- câu (statement coverage)

- nhánh (branch coverage)

- (path coverage)

- (condition coverage)

- nhánh và (condition and branch coverage)

- (multi-conditions coverage)
BÀI 4: TEST CASE WHIT E - BOX 69
Các bao

bao ph (Coverage): là các thành so


sau khi ã các test case càng thì tin càng cao.

Thành liên quan có là thi, con hay là


chúng.

0: gì có còn dùng
phát và báo sau. là không có trách

1: sao cho thi ít 1 Bao câu


(statement coverage):

2: sao cho lý ít
1 cho TRUE FALSE. Ta này là các
nhánh (Branch coverage). các nhánh các

3: Bao coverage) sao cho


lý con (subcondition) ít 1
cho TRUE FALSE. Ta này là các
con (subcondition coverage). các con các
nhánh &

4: nhánh và (branch &condition coverage)


sao cho lý con (subcondition)
ít 1 cho TRUE FALSE &
cho 2 nhánh TRUE FALSE. Ta này là
các nhánh & các con (branch & subcondition coverage). là
trong còn này qui trình
các testcase sao cho các testcase
này, ta 4.

4.3.2 Ph câu l nh
câu (statement coverage): câu thi ít

Ví Hàm xét sau


70 BÀI 4: TEST CASE WHIT E - BOX

câu trong hàm trên test case sau:

4.3.3 Ph nhánh
nhánh (branch coverage): nhánh ít
nhánh câu

xét: trong

nhánh có là các qua ít

- nhánh sao cho nút (predicate)


ra các (true/false) có nó, nên nhánh còn là
(decision coverage).
BÀI 4: TEST CASE WHIT E - BOX 71

- abd và ace nhánh, các test case sau:

4.3.4 Ph ng d n

- (path coverage): qua ít

- là các nhánh, nên nhánh,

- Ví Quay ví xét trong 4 test


case sau qua các abd, ace, acd, abe.

- Chú ý: không có test case nào qua abe thi). Do


3 test case sau:
72 BÀI 4: TEST CASE WHIT E - BOX

4.3.5 Ph u ki n

- Thông nhánh thi là .

- Ví

if (d1 >= 5 && d2 >= 5 && d3 >= 5) ...

if ((diemTB >= 8.5) || (diemTB >= 7.0 && diemRL >= 70)) ...

if ((nam % 400 == 0) || (nam % 4 == 0 && nam % 100 != 0))

- (condition coverage): trong các


ít cho true và false (không các
chúng).

- P các nhánh.

4.3.6 Ph Nhánh và u ki n

- nhánh và m trong các


và các nhánh các
thi ít

- Ví nhánh và trong sau


các test case

A = 3, B = 4

A = -3, B = 4

A = -3, B = -4

Ta các nhánh này:


BÀI 4: TEST CASE WHIT E - BOX 73
a, c, e, g, i, k

a, c, d, f, i, j

a, b, f, h

Ví các test case nhánh và hàm tra

- Cyclomatic:

các vùng G: 4

V(G) = E N + 2 = 10 8+2=4

V(G) = P + 1 = 3 + 1 = 4

- Các sau nhánh và

a, c, e, f

a, c, e, g

a, c, d

a, b

- nhánh và các test case minh


74 BÀI 4: TEST CASE WHIT E - BOX

4.4 KI M TH V NG L P
Vòng là các và là trong các ngôn trình. Tuy nhiên,
các vòng là các
vòng khi là không vì các là
Trong này trình bày cho các vòng

thân 1 (có Chi phí


kém, nên chúng ta mà theo
kê gây Ta xét có 4

- thân các khác không khác.

- nhau: thân ít khác...

- 2 hay nhau

- giao nhau: 2 hay giao nhau.

1. vòng n
BÀI 4: TEST CASE WHIT E - BOX 75
Nên các test case thân các trí sau:

k k là giá nào ó 2 < k < n-1.

n-1

n+1

2. các vòng vòng trên


vòng

3. vòng nhau:

vòng trong ra ngoài theo sau

vòng trong cùng: cho các vòng ngoài giá min,


vòng trong cùng.

vòng còn cho các vòng ngoài nó giá min, còn


các vòng bên trong nó giá hình.

4. Riêng các vòng giao nhau thì do code ra v y nên


trúc code sao cho không giao nhau này.

4.5 KI M TH LU NG D LI U
- pháp vòng trong
thi trình.

- Vòng thông qua ba hành

(Define).

(Use).

Xóa (Delete).
76 BÀI 4: TEST CASE WHIT E - BOX

- các trên trí


(define) và (use) các trong trình.

DEF(S) = {X| câu S X}

o X= gán,

USE(S) = {X| câu S X}

o =X gán,

o câu S là thì ký là p-use

o câu S là tính toán thì ký là c-use

- giúp phát các sau:

khai báo, không

không khai báo.

khi

Xóa khi

- Cho x DEF(S) trong S và là các câu

- DU (definition-use path) x là S trên


sao cho không nào khác x trên này.
BÀI 4: TEST CASE WHIT E - BOX 77
- DU (definition-use pairs) là S và sao
cho ít DU S và

- DEF(1) = {x,

- DEF(4) = {x,

- USE(6) = {x,

- (1, 2, 3, 5, 6) và (4, 5, 6) là các DU


x.

- (1, 2, 4, 5, 6) không là x vì nó
câu 4.

- Các DU là (1, 6) và (4, 6)

Ví cho là DU kq

Ví Cho là DU heSo
78 BÀI 4: TEST CASE WHIT E - BOX

M DU nên thi ít

DU (không vòng nên ít

4.6 BÀI T P THI T K TEST CASE WHITE BOX


B it p1

- test case câu

- test case

- test case

- test case

- các test case nhánh hàm?

B it p2

Xét code sau, yêu các ca bao 4


nhánh và .

using namespace std;


# include<iostream>
main() {
int n;
cout<< "Nhap n"<<endl;
cin >>n;
for (n; n>0; n--) {
cout<< n<< ",";
}
cout<< "Ket thuc";
return 0;
}
BÀI 4: TEST CASE WHIT E - BOX 79
B it p3

- các test case nhánh và hàm:

B it p4

Xét code sau, yêu các ca bao 2v 4.

using namespace std;


#include <iostream>
main() {
int a,b,c,d,x,y;
cout<<"Nhap a, b, c, d, x, y"<<endl;
cin>>a>>b>>c>>d>>x>>y;
if (a>0&&b==1){x=x+1;}
if (c==3 || d<0) {y=0;}
cout<<"x = "<<x<<endl;
cout<<"y = "<<y<<endl;
}
B it p5

các ca m n tiêu 4

double average(int[] values, int min, int max)


{
int sum=0, count=0, item=0;
double average= 0;
while(values[item] !=-999 && item <100) {
if (values[item]>= min && values[ item] <= max) {
80 BÀI 4: TEST CASE WHIT E - BOX

sum += values [item];


count ++;
}
item++;
}
if (count>0) average= (double) sum/count;
else average =-999;
return average;
}

TÓM T
Bài này cung các

- Ki m th lu ng u khi n v bao ph

- Ki m th v ng l p

- M i quan h h m v d li u

- Ki m th lu ng d li u

- C c d ng b i t p ki m th h p tr ng
BÀI 5: NM 81

BÀI 5: L PH N M M VÀ

dung các sau:

- L i ph n m m

- Nguyên nhân gây ra l i

- C c l i ng g p

- lý bug

- Vòng bug trên lý bug

- lý bug Bugzilla

5.1 T NG QUAN V L I PH N M M
là không có gì.
khi, quan là ý nó và nguyên nhân
lý nó này giúp cho nhanh và quan
thích Chúng ta các và làm
nào xác chúng trong quá trình ví và bài
Chúng ta hãy xác và

và Bugs

Theo Wikipedia là sai vào chính xác tính


và là có trong
trình máy tính là nguyên nhân nó ra không chính
xác không mong hành theo cách không
82 BÀI 5: NM

Vì sau có ra

- là khác nhau và mong

- là

- có là không hoàn thành sai yêu


do con

Có nguyên nhân gây ra các khác nhau


giai phát Có ba chính:

- Error: Là các code mà không toàn là


pháp, logic khác sinh ra các nhà phân tích
trình viên các thành viên khác phát

- Fault: Là các errors mà nó gây ra không chính xác trong

- Failures: Các faults thành failures khi chúng là khi


dùng áp các faulty. Do
k failure nào là errors.

5.2 NGUYÊN NHÂN GÂY RA L I NG G P


phát ra là tìm ra nguyên nhân gây tránh
trong lai quan Chín nguyên nhân gây ra
kê sau sau nghiên :

1. yêu

2. giao khách hàng và phát

3. rõ ràng các yêu

4. logic

5. coding

6. Không phù tài và coding

7. sót trong quá trình

8.
BÀI 5: NM 83
9. tài

dung nguyên nhân xác sau:

- các yêu

xác các yêu do khách hàng, là trong nguyên


nhân chính các Các này là:

Sai sót trong các yêu

Không có các yêu quan

Không hoàn các yêu

Bao các yêu không các mà không


trong lai

- Các trong giao khách hàng và nhà phát

trong giao khách hàng và nhà phát là nguyên nhân


sung cho các tiên áp trong giai quá trình phát

sai các khách hàng nêu trong các tài yêu

sai các yêu thay khách hàng trình bày nhà phát
trong giai phát

sai các yêu thay khách hàng trình bày nói


nhà phát trong giai phát

sai khách hàng các trình bày


nhà phát

quan tâm các khách hàng yêu thay và


khách hàng cho các câu nêu ra nhà phát trên nhà
phát

- Sai có các yêu

Trong các nhà phát có tình các yêu


trong tài hành gây ra Các trong
này là các thay Các tình là:
84 BÀI 5: NM

Phát các module m các thành án


mà không phân tích thay và thích nghi
cách chính xác các yêu

Do gian hay áp ngân sách, nhà phát qua


các yêu các trong phó áp này.

Nhà phát - không các cho


mà không có khách hàng, xuyên qua các yêu
có nhà phát thay có
cùng, gây ra

- Các logic

có vào khi các chuyên gia -các


trúc các nhà phân tích - Xây yêu
Các hình bao

các yêu các toán sai

Quy trình có trình

Sai sót trong các biên

sót trong các thái yêu

sót trong các trái pháp trong

- Các coding

các ly do các trình viên có gây ra các code. l do này


bao các tài ngôn sai sót trong ngôn trình,
sai sót trong áp các CASE và các công phát khác, sai sót trong

- Không tuân theo các tài và mã hóa

các phát có tài và tiêu mã hóa riêng


mình xác dung, trình và và code ra các
thành viên. yêu này, phát và công khai các và
mã hóa. Các thành viên nhóm phát yêu
theo các yêu này.
BÀI 5: NM 85
- sót trong quá trình

sót trong ki m cách


không phát không phát kém các
nguyên nhân sau:

ki m hoàn không
các và các thái
Failures trong tài và báo cáo phát sai sót và

không phát và theo không


phù trong l do cho này.

Không hoàn các phát do hay gian áp

- Các

Các cho các là


quá trình. Chúng có quan trong các
các trình hành vài trong có
có và cho phép tra các trung gian.

- Các tài

Các tài là các phát và trì có sai sót trong tài


và trong tài tích trong thân
này có là nguyên nhân gây ra sung trong giai phát và trong
gian trì.

các nguyên nhân gây ra là con công


các nhà phân tích trình, các chuyên gia tài
và chí các khách hàng và

5.3 C C L I NG G P TRONG PH N M M
1.

có cái gì mà ta mong
làm là khó không thi.
86 BÀI 5: NM

2. giao

ra trong giao và dùng gì


mà dùng các nên c làm có trên
màn hình. Ví giao : không cung c giúp/menu.

3.

này ra khi là

4. cú pháp

cú pháp là sai chính hay pháp câu không chính xác và rõ


ràng trong khi giao Trình biên báo các nhà
phát cú pháp trong code.

5. lý

nào ra khi dùng tác các


lý cách rõ ràng và có ý không, nó là lý
Thông báo ra không ra gây ra là gì. là do nó
trang Do là lý

6. tính toán

này ra do các lý do sau logic không , công tính toán


không chính xác, không phù l trình.

7. dòng

soát flow mô gì s làm gì theo và trên


Ví dùng và : Save, Save và Close, và
Cancel. dùng and thông tin trong form và
form vào button and mà không form, thì là
dòng

5.4 L IV PHÂN T CH L I
5.4.1. Checklist ki m tra m ngu n

- Các truy (Data Reference Errors)


BÀI 5: NM 87
- Các báo (Data-Declaration Errors)

- Các tính toán (Computation Errors)

- Các so sánh (Comparison Errors)

- Các (Control-Flow Errors)

- Các giao (Interface Errors)

- Các (Input/Output Errors)

- Các khác (Other Checks)

Các truy (Data Reference Errors)

1. Dùng có giá xác .

int i, count;

for (i = 0; i < count; i++) {...}

2. Dùng array ngoài vi.

int list[10];

if (list[10] == 0) {...}

3. Dùng không nguyên array.

int list[10];

double idx=3.1416;

if (list[idx] == 0) {...}

4. Tham không (dangling references).

int *pi;

if (*pi == 10) {...} //pi ang tham không - Null

int *pi = new int;

...

delete (pi);

if (*pi = 10) {...} //pi ang tham

//mà không còn dùng nguyên


88 BÀI 5: NM

5. Truy thông qua alias có tính úng.

int pi[10];

pi[1] = 25;

char* pc = pi;

if (pc[1] == 25) {...} //pc[1] khác pi[1];

6. tính field trong record có úng dung .

struct {int i; double d;} T_Rec;

T_Rec rec;

read(fdin,&rec, sizeof(T_Rec);

if (rec.i ==10) {...} field d i

//trong record trên file

7. trúc record có thích client/server.

Private Type OSVERSIONINFO

dwOSVersionInfoSize As Long

dwMajorVersion As Long

dwMinorVersion As Long

dwBuildNumber As Long

dwPlatformId As Long

szCSDVersion As String * 128 ' Maintenance string

End Type

Private Declare Function GetVersionEx Lib "kernel32" _

Alias "GetVersionExA" (lpVersionInformation As

OSVERSIONINFO) As Long

8. Dùng

int i, pi[10];

for (i = 1; i <= 10; i++) pi [i] = i;


BÀI 5: NM 89
9. Class có các tác trong interface mà nó .

10. Class có các tác "pure virtual" class cha mà nó .

Các khai báo

1. các hay khai báo minh .

int i;

extern double d;

d = i*10;

2. n hay khai báo các tính .

static int i = 10;

3. array hay úng .

int pi[10] = {1, 5,7,9} ;

4. và dài úng theo yêu .

short IPAddress;

byte Port;

5. Giá có thích .

short IPAddress = inet_addr("203.7.85.98");

byte Port = 65535;

6. Có dùng các ý khác nhau tên nhau không.

int count, counts;

Các tính toán (Computation Errors)

1. phép toán trên toán không là

CString s1, s2;

int ketqua = s1/s2;

2. phép toán trên các toán có không thích.

byte b;
90 BÀI 5: NM

int i;

double d;

b = i * d;

3. phép toán trên các toán có dài khác nhau.

byte b;

int i;

b = i * 500;

4. Gán vào có dài .

byte b;

int i;

b = i * 500;

5. trung gian tràn.

byte i, j, k;

i = 100; j = 4;

k = i * j / 5;

6. Phép chia có 0.

byte i, k;

i = 100 / k;

7. chính xác khi mã mã phân.

8. Giá ngoài vi .

int tuoi = 3450;

tuoi = -80;

9. các phép toán trong mà trình mong có


thích mà máy . trình hi úng
tiên các phép toán

double x1 = (-b-sqrt(delta)) / 2*a;


BÀI 5: NM M 91
10. phép chia nguyên có chính xác theo yêu không.

int i = 3;

if (i/2*2) == i) {...}

Các so sánh (Comparison Errors)

1. So sánh 2 có không thích.

int ival;

char sval[20];

if (ival == sval) {...}

2. So sánh 2 có không cùng dài.

int ival;

char cval;

if (ival == cval) {...}

3. Toán so sánh mong . nh m = và <= và >=,


and và or...

4. Có Bool và so sánh.

if (2 < i < 10) {...}

if (2 < i && i < 10) {...}

5. Có rõ tiên các phép toán.

if(a==2 && b==2 || c==3) {...}

6. Cách tính Bool trình nào.

if(y==0 || (x/y > z))

Các (Control-Flow Errors)

1. hi 1 nhánh trong theo .

switch (i) {

case 1: ... hay không break;


92 BÀI 5: NM

case 2: ...

case 3: ...

2. vòng ít 1 hay thúc.

for (i=x ; i<=z; i++) {...} x > z ngay thì sao.

for (i = 1; i <= 10; i--) {...} //có không.

3. Biên vòng có

for (i = 0; i <= 10; i++) {...} //hay i < 10

4. Có và úng token begin/end, {}

Các giao (Interface Errors)

1. tham có = tham hình hàm

2. các tham có úng không.

3. tính tham có thích tính tham hình


hàm .

char* str = "Nguyen Van A";

MessageBox (hWnd, str,"Error", MB_OK); khi


Unicode

4. tham tham hình .

double d = cos (90);

5. Tham read-only có thay dung hàm không.

6. toàn có thích các module không.

Các (Input/Output Errors)

1. file có và truy file.

if ((fdout = open ("tmp0", O_WRONLY| O_CREAT|

O_BINARY, S_IREAD| S_IWRITE)) < 0)

pr_error_exit("Khong the mo file tmp0 de ghi");


BÀI 5: NM 93
if ((fdtmp = open ("tmp2", O_RDWR | O_CREAT |

O_BINARY, S_IREAD | S_IWRITE)) < 0)

2. Kích buffer có vào không.

char buffin[100];

sl = read(fd, bufin, MAXBIN); //MAXBIN <= 100

3. Có file khi truy không.

4. Có óng file sau khi dùng không. Có lý file .

5. Có lý khi truy file không.

6. có và cú pháp không.

Các khác (Other Checks)

1. Có nào không tham trong danh sách tham chéo (cross-


reference).

2. Cái gì trong danh sách tính.

3. Có các nh báo hay thông báo thông tin.

4. Có tra tính xác .

5. Có hàm .

5.4.2. Qui t c x c nh l i ph n m m

- Quy t c 1: không mô trong

- Quy t c 2: mà yêu nó không

- Quy t c 3: mà không

- Quy t c 4: không mà không


là nên làm

- Quy t c 5: Trong con là khó khó


94 BÀI 5: L NM

5.5 GI I THI U V H TH NG QU N L BUG


L i ph n m m là l i, thi u sót, th t b i, ho c l i trong trình máy tính ho c
h th ng s n xu t k t qu không chính xác ho c không mong mu n, ho c làm cho nó
hành x theo nh ng cách không mong mu n. H u h t các l i phát sinh t nh ng sai
l m và l i c a con i trong các n mã ngu n c a m t trình ho c trong
các thi t k , và m t s c gây ra b i các trình biên d ch mã không chính xác. Chính
vì th , trong các d án c n có m t h th ng theo dõi l i giúp theo dõi và báo cáo
các l i trong quá trình phát tri n ph n m m.

Các thành ph n chính c a h th ng theo dõi l i là s d li u ghi l i nh ng thông


tin v l i c phát hi n th i gian phát hi n l i, m c nghiêm tr ng c a l i,
cách g l i

10 công c qu n l bug hi u qu : Bugherd, Doorbell, Usersnap,


Taperecorder, Jira, Rollbar, Bugclipper, Apteligent, Promoter.io, Lighthouse.

5.6 I C A BUG TRÊN H TH NG QU N


L BUG

H nh 5.1: V ng i c a bug
BÀI 5: NM 95
5.6.1 Nh ng thông s c n thi t l i
là quan giám án. giá trong quá
trình các quan phân theo nghiêm
nghiêm nghiêm nghiêm và rõ
trách cho Thêm các án
là xong (closed) hay xong (opened).

5.6.2 Ki m soát th c hi n s a l i (Defect tracking)

- các công Bugzilla, TestTrackPro, Rational


ClearCase. công cung phí là chi phí

- thành viên liên quan có truy vào

- xuyên xem là
hàng trong quá trình thông và hàng ngày
r t.

- Cho phép nhân viên trình, nhà phân


tích, nhà lý, và khi là và giám án) các phát
án vào soát theo dõi án chung
công ty.

trúc soát bao sau

- thái: trì hoãn

- Ngày vào ngày thông tin và ngày

- Mô phát

- phiên mà

- phát ra

- tiên trung bình, cao, cao

- xét, chú thích cán


trình và thành viên khác liên quan.
96 BÀI 5: NM

5.6.3 thông s l i
Ta quan tâm thông liên quan soát

- (Open rate): liên quan trong gian .

- (Close rate): liên quan xong trong cùng


gian trên.

- thay (Change rate): cùng

- sai (Fix Failed Counts): mà


là giao án
(vibration).

trung bình do Microsoft nghiên qua kê là 10 20


phát trong quá trình và 0.5 KLOC sau khi bàn giao cho
khách hàng.

5.6.4 Môi ng ki m th

Ta chia làm hai môi chính :môi và


môi

môi liên quan các nhóm trình, nhóm


án, xây án và các

Môi hình cho trình là hình mà


trình phát và quá trình
các trên

Môi cho là hình


cho tích và
sau khi

Môi còn xác cho quá trình tra


và quá trình khai cùng

5.7 TH C H NH V I H TH NG QU N L BUGZILLA
Bugzilla là ph n m m máy ch cho phép qu n l các l i phát sinh trong quá trình
BÀI 5: NM 97
phát tri n d án ph n m m c phát tri n b i t ch c Mozzila. Các tính

- Cho phép khai báo các l i m i phát hi n.

- Phân lo i các l i theo thành ph n h th ng, ph c t p, m c tiên.

- H th ng qu n l cho phép khai báo l i và b n giao s a l i cho i khác.

- Cho phép qu n l quá trình ho t ng, ti n test l i t ng d án.

- Cho phép nhi u user làm vi c cùng lúc, d tìm ki m và phân b công vi c cho t ng
thành viên.

- C p nh t thông tin thành viên tham gia d án qua ch c g i .

Link trang ch : https://bugzilla.mozilla.org/home

1. T o m i tài kho n

c 1: V o trang Bugzilla

H nh 5.2: Trang ch Bugzilla


c 2: Click t o Account

H nh 5.3: T o t i kho n trên Bugzilla


98 BÀI 5: NM

Nh p a ch mail vào, Click Create Mail t g i n mail cá nhân

c 3: V o mail c nhân k ch ho t

H nh 5.4: K ch ho t t i kho n
c 4: Nh p Email v Pass t o t i kho n ch n

H nh 5.5: T o m t kh u
2. nh p Account

H nh 5.6: nh p t i kho n
BÀI 5: NM 99
3. T o báo cáo l i trong Bugzilla

c 1: t o m t l i m i trong Bugzilla, hãy truy c p trang ch c a Bugzilla và


nh p vào tab New t menu chính

H nh 5.7: T o m i báo cáo l i

c 2:Trong c a s ti p theo

- Nh p s n ph m

- Nh p thành ph n

- ra mô t thành ph n

- Ch n phiên b n

- Ch n m c nghiêm tr ng

- Ch n ph n c ng

- Ch n h u hành

- Nh p Tóm t t

- Nh p mô t

- kèm t p tin

- Submit

Ý: Các ng trên s thay i tùy theo tùy ch nh Bugzilla


100 BÀI 5: NM

H nh 5.8: Khai báo các thông tin báo cáo l i


Ý: Các ng b t bu c c d u *.

Trong ng h p này: T ng k t, Mô t là b t bu c. N u không n s nh n c


thông báo bên i.

H nh 5.9: Thông báo l i


c 3: Bug c t o ID # 26320 c gán cho Bug. Ta có th thêm thông
tin b sung vào l i c ch nh URL, t khóa, b ng tr ng, th , v.v. Thông tin b
sung này r t h u ích cung c p thêm chi ti t v L i t o.

- Nh p b n

- URL

- B ng tr ng

- T khóa
BÀI 5: NM 101
- Th

- Ph thu c

- Blocks

- Tài li u kèm

H nh 5.10: Khai báo các thông tin báo cáo l i b sung


c 4: V n c as này, n u cu n xu ng có th ch n deadline và tr ng thái c a
l i. Deadline trong Bugzilla ng ra gi i h n gi i quy t l i trong khung th i
gian nh t nh.

H nh 5.11: Khai báo các thông tin báo cáo l i b sung th i gian
102 BÀI 5: NM

4. T o bi u báo cáo

Báo cáo bi u là m t cách xem tr ng thái hi n t i c a l i. Ta có th ch y các


báo cáo thông qua b ng HTML ho c bi u c t / tròn. Ý ng ng sau bi u báo
cáo trong Bugzilla là xác nh m t t p h p các l i b ng giao di n tìm ki m tiêu chu n
và sau ch n m t s khía c nh c a t p h p v trên tr c ngang và tr c d c.
Ta có th nh n c báo cáo 3 chi u b ng cách ch n tùy ch n "Multiple Pages".

Các báo cáo r t h u ích theo nhi u cách, ví d , n u mu n bi t thành ph n nào có


s ng l i l n nh t c báo cáo. hi n th u trong bi u , ta có th ch n
m c nghiêm tr ng trên tr c X và thành ph n trên tr c Y, sau nh p vào t o
báo cáo. Nó s t o ra m t báo cáo v i thông tin quan tr ng.

Hình 5.12: Báo cáo bi u

Bi u bên i là bi u c t th hi n m c nghiêm tr ng c a bug trong thành


ph n "Widget Gears". bi u bên i, các l i nghiêm tr ng nh t (màu ) có s
ng là 88 trong khi các l i có m c nghiêm tr ng bình ng (màu vàng) là 667 l i.
BÀI 5: NM 103

Hình 5.13: Bi u báo cáo l i

t v y, chúng ta s t o bi u ng, th hi n quan h gi a % hoàn


thành và deadline

c 1: Xem báo cáo.

Nh p vào Reports t Menu chính

Nh p vào Graphical reports

Hình 5.14: Xem báo cáo.


c 2: Hãy t o m t bi u % Hoàn thành Vs Deadline

trên tr c tung ch n % hoàn thành và trên tr c hoành ch n deadline . u này


s ra bi u v s ng công vi c c th c hi n theo t l ph n so v i th i
h n t. Bây gi , t tùy ch n khác nhau trình bày báo cáo b ng bi u
104 BÀI 5: NM

- Tr c tung

- Tr c hoành

- Nhi u hình nh

- Lo i bi u : bi u ng, bi u c t ho c bi u hình tròn

- Lô d li u

- Phân lo i l i c a b n

- Phân lo i s n ph m c a b n

- Phân lo i thành ph n c a b n

- Phân lo i tr ng thái l i

- Ch n phân gi i

- B m vào t o m t báo cáo

Hình 5.15: T o m t bi u %

Hình nh c a bi u s xu t hi n th này
BÀI 5: NM 105

Hình 5.16: Bi u ct o

5. Ch c Browse

c 1: xác nh v trí l i c a b n, chúng tôi s d ng ch c Browse, nh p


vào nút Browse t menu chính.

Hình 5.17: Ch c Browse

c 2: Ngay sau khi nh p vào nút browse, m t c a s s m ra thông báo "Ch n


danh m c s n ph m c n duy t" hình, chúng ta duy t l i theo danh m c.

Sau khi nh p vào nút browse

Ch n s n ph m "Sam's Widget" vì v y t o ra m t bug bên trong nó


106 BÀI 5: NM

Hình 5.18: Ch n s n ph m "Sam's Widget"

c 3: M t c a s khác hi n ra, click vào "widget gears" . Thành ph n Bugzilla


là các ph n ph c a s n ph m. Ch ng h n, trong s n ph m là WIDGET SAM có
thành ph n là WIDGET GEARS .

Hình 5.19: Thành ph n là WIDGET GEARS

c 4:Khi b n b m vào t ng thành ph n, nó s m m t c a s khác. T t c các


l i c t o ra theo lo i c th s c li t kê T danh sách l i ch n ID #
bug xem thêm chi ti t v l i.
BÀI 5: NM 107

Hình 5.20: Xem chi ti t l i

S m m t c a s khác, thông tin v l i, có th c nhìn th y chi ti t


Trong cùng m t c a s , c ng có th thay i i c assignee, liên h QA ho c
danh sách CC.

Hình 5.21: Xem chi ti t l i nhi u

Ngoài ra trong Bugzilla còn có m t s ch c h u ích khác.

Ngu n: https://www.guru99.com/bugzilla-tutorial-for-beginners.html#3

TÓM T
Bài này cung các

- Tml i

- C c d ng l i ng g p v nguyên nhân gây ra l i

- Gi i thi u l i

- H th ng qu n l bug
108 BÀI 6:

BÀI 6: VÀ
CÔNG

dung các sau:

- (Automation Software testing)

- tên hành (Action-based testing)

- Công Katolon Studio

- Công Selenium

6.1 GI I THI U V AUTOMATION SOFTWARE TESTING


- áp công giúp

- Nên công khi:

Không tài nguyên

quy

tra hành trong môi

- Test script: nhóm m hóa tr nh


BÀI 6: 109
6.1.1 Quy tr nh ki m th t ng

H nh 6.1: Quy tr nh ki m th

1. test script: Giai này ta dùng test tool ghi các thao tác lên PM
tra và sinh ra test script

2. test script: test script tra theo yêu


ra, là làm theo test case

3. test script : Giám sát tra


test script

4. giá : tra thông báo sau khi


Sau sung, sai sót

6.1.2 v c m ki m th t ng

không can tester

chi phí tra các test case test case

t nh khó có tay

chi phí các script

chi phí dành cho tr các script


110 BÀI 6:

i tester có và thay script cho phù testcase

Không áp tm các cho

6.1.3 Phân lo i công c ki m th

công có khía nào Các công


có phân trên tiêu chí
phí/ mã chia công công Phân
các công theo công Theo ta
có phân các công thành: Unit Testing Tools, Regression
Testing Tools, Functional Testing Tools, PerformanceTesting Tools.

Công - Unit Testing Tools

Ki m th v - Unit Testing là cách ti p c n ki m tra các v cá nhân c a mã


ngu n và ki m tra n u phù h p v i m c Ki m th v cho phép l p trình viên
s a i và duy trì mã ngu n và m b o r ng các mô- ho t ng chính xác và
ng các yêu c u ch c và không có ch c d ki n. Nó giúp làm
gi m s không ch c ch n trong các v và c bi t h u ích trong m t cách ti p c n
t i lên phong cách th nghi m.

C c công c Unit Testing: Jnuit v NUnit, v xem thêm ph c l c.

M t s th c trong JUnit

Các assertXXX()

Các th c d ng assertXXX() c dùng ki m tra các u ki n khác


nhau. i là mô t các th c assertXXX() khác nhau có trong l p
junit.framework.Assert:

- Boolean assertEquals(): So sánh hai giá tr ki m tra b ng nhau. Phép th


th t b i n u hai giá tr không b ng nhau.

- Boolean assertFalse(): giá bi u th c logic. Phép th th t b i n u bi u th c

- Boolean assertNotNull(): So sánh tham chi u c a m t i ng v i Null. Phép


th th t b i n u tham chi u i ng Null.
BÀI 6: 111
- oolean assertNotSame(): So sánh a ch vùng nh c a hai tham chi u hai i
ng b ng cách s d ng toán t ==. Phép th th t b i tr v n u c hai u
tham chi u n cùng m t i ng.

- Boolean assertNull(): So sánh tham chi u c a m t i ng v i giá tr Null.


Phép th th t b i n u i ng không là Null.

- Boolean assertSame(): So sánh a ch vùng nh c a hai tham chi u i ng


b ng cách s d ng toán t ==. Phép th th t b i n u c hai không tham chi u
n cùng m t i ng.

- Boolean assertTrue(): giá m t bi u th c logic. Phép th th t b i n u bi u


th c sai.

- fail(): th c này làm cho test hi n t i th t b i, th c này ng


c s d ng khi x l. các ngo i l .

T t c các th c trên u có th nh n vào m t String không b t bu c làm


tham s u tiên. Khi c xác nh, tham s này cung c p m t thông p th t
b i giúp cho vi c s a l i c d dàng .

Ví test hai xâu có trùng nhau không.

@Test

public void Test(){

String s1 = " xâu 1";

String s2 = " xâu 2";

assertEquals(s1, s2);

SetUp() và tearDown()

Hai th c này là m t ph n c a l p junit.framework.TestCase. Khi s d ng


hai th c này s giúp chúng ta tránh c vi c trùng mã khi nhi u test cùng
chia s nhau ph n kh i t o và d n d p các bi n.

JUnit tuân th theo m t dãy có th t các s ki n khi ch y các test. u tiên, nó


t o ra m t th hi n m i c a Test Case ng v i m i th c th . T n u b n
112 BÀI 6:

có 5 th c th thì JUnit s t o ra 5 th hi n c a Test Case. Vì l do các


bi n th hi n không th c s d ng chia s tr ng thái gi a các th c
test. Sau khi t o xong t t c các i ng test case, JUnit tuân theo các c sau
cho m i th c test:

1. G i th c setUp() c a test case.

2. G i th c th .

3. G i th c tearDown() c a test case.

Quá trình này c l p l i i v i m i th c th trong Test Case. Thông


ng chúng ta có th b qua th c tearDown() vì m i th c th riêng
không ph i là nh ng ti n trình ch y t n nhi u th i gian.

Công c ki m th hi u

Ki m th hi u c th c hi n xác nh h th ng th c hi n m t kh i ng
công vi c c th nhanh th nào. Nó có th dùng xác nh n và xác minh nh ng
thu c tính ch t ng khác c a h th ng kh m r ng, tin c y, s d ng
tài nguyên. Load testing là khái ni m ch y u c a vi c ki m th mà có th ti p t c
ho t ng m t m c t i c th , cho dù là m t ng l n d li u ho c ng l n
is d ng. Volume testing là m t cách ki m tra ch c Stress testing là m t
cách ki m tra tính tin c y. Load testing là cách ki m tra hi u là m t
s th a thu n v các m c tiêu c th c a load testing. Nh ng thu t ng load
testing, performance testing, reliability testing, và volume testing ng s d ng
thay th cho nhau.

C c công c ki m th hi u (Performance Testing): xem ph l c

C c công c ki m th ch c (Functional Testing): xem ph l c

6.2 GI I THI U V ACTION-BASED TESTING


Ki m th d a trên hành ng (Action-Based Testing - ABT) cung c p m t khung
l m vi c m nh m t ch c thi t k ki m th , t ng hóa và th c hi n xung quanh
các t khóa. Trong các t khóa ABT c g i là "hành ng" làm cho khái ni m
này hoàn toàn rõ ràng. Hành ng là các nhi m v c th c hi n trong m t th
BÀI 6: 113
nghi m. Thay vì t ng hóa toàn b ki m th i d ng m t t p l nh dài, k t
ng hóa có th t p trung vào vi c t ng hóa các hành ng các kh i xây d ng
riêng l có th c k t h p theo b t k th t nào thi t k ki m th . Sau các
k ki m tra phi k thu t và các nhà phân tích kinh doanh có th xác nh các ki m
th c ah i d ng m t lo t các t khóa t ng này, t p trung vào ki m th thay
vì ngôn ng k ch b n.

Thi t k ki m th truy n th ng b t u v i m t câu chuy n b ng b n ph i


c gi i thích b i m i i ki m tra ho c k ki m th t ng. Thi t k ki m th
ABT di n ra trong m t b ng tính, v i các hành ng c li t kê trong m t chu i rõ
ràng, ct ch c t t. Các hành ng, d li u ki m th và b t k thông tin giao di n
GUI c n thi t nào c tr trong các b ng tính riêng bi t, chúng có th c
tham chi u b i mô- ki m th chính. Các ki m th sau c th c hi n ngay
trong b ng tính, s d ng các công c t o t p l nh c a bên th ba ho c t ng hóa
c xây d ng trong TestArchitect.

nh n ra toàn b s c m nh c a ki m th d a trên hành ng, u quan tr ng


là s d ng các hành ng c p cao b t c khi nào có th trong thi t k ki m th . Hành
ng c p cao có th hi u c b i nh ng i quen thu c v i logic nghi p v c a
ki m th . Ví d : khi i dùng nh p s , h th ng s tính toán th ch p ho c k t n i
v i n tho i. Hành ng c p cao t t có th không c th cho h th ng c
ki m tra. "Nh p l nh" là m t c cao c p t t có th c s d ng m t cách t ng
quát ch các c c th m c th p di n ra trong nhi u ki m th c a nhi u
ng d ng khác nhau.

T ng hóa sau c hoàn thành thông qua k ch b n (l p trình) c a các hành


ng c p th p. TestArchitect cung c p m t t p h p y các hành ng c p th p
c n thi t thông qua tính t ng cài s n. Trong ng h p vi c t o hành
ng c p cao theo yêu c u thi t k ki m th s ch liên quan n vi c kéo và th m t
s hành ng c p th p t o hành ng c p cao. Các hành ng c p th p phía sau
p l s là các c c th c n thi t hoàn thành hành ng thông qua
các giao di n khác nhau html, GUI c a Windows, vv Ví d v hành ng c p th p
s là
114 BÀI 6:

B t c khi nào k ch b n c a m t k t ng hóa c yêu c u, vi c chia nh


công vi c này thành các hành ng c p th p có th tái s d ng giúp ti t ki m th i
gian và ti n b c b ng cách th c hi n các thay i trong lai không c n thi t
ngay c khi ph n m m c ki m th tr i qua các phiên b n chính. Vi c thay
i hành ng ng là t t c nh ng gì c n thi t. N u nhi u k ch b n là c n thi t, nó
ch liên quan n vi c vi t l i các hành ng cá nhân thay vì s a i toàn b các k ch
b nt ng hóa và k t qu tích c am t vi n r ng l n c a t ng hóa

Ki m th d a trên hành ng cho phép các nhóm ki m th t o ra m t khuôn kh


t ng hóa ki m th hi u qu kh c ph c h n ch c a pháp khác: Tham
gia y c a Nhóm ki m th T ng hóa ki m tra h u h t các nhóm ki m th bao
g m ch y u là nh ng i có ki n th c m nh m v ng d ng c ki m th ho c
mi n doanh nghi p, có chuyên môn v l p trình nh . Các thành viên trong
nhóm hoàn thành vai trò c a k t ng hóa ki m th ng là nh ng i có
n n t ng phát tri n ph n m m ho c khoa h c máy tính thi u chuyên môn v
ki m tra các nguyên t c b n, ph n m m c ki m tra ho c mi n doanh nghi p.
Ki m th d a trên hành ng cho phép c hai lo i thành viên nhóm góp vào n
l ct ng hóa th nghi m b ng cách cho phép m i i t n d ng các k c
c ah t o các th nghi m t ng hi u qu . i ki m th xác nh các th
nghi m i d ng m t lo t các hành ng c p cao có th tái s d ng. Sau nhi m
v c a k t ng hóa là xác nh cách t ng hóa các hành ng c p th p c n
thi t và k t h p chúng t o ra các hành ng c p cao c n thi t, c hai u có th
c s d ng l i trong nhi u ki m th trong lai. Cách ti p c n này cho phép
i th nghi m t p trung vào vi c t o ra các bài ki m tra t t, trong khi các k
t ng hóa t p trung vào thách th c k thu t c a vi c th c hi n các hành ng.

hóa ki m th

Nhi u t ch c xây d ng m t b ki m th t ng s d ng k các


pháp t ng hóa và b t u th y m t s l i ích, ch n khi g p khó v in
l c b o trì r t l n khi ng d ng thay i. Gánh n ng b o trì là do th c t các ki m tra
t ng ph thu c r t nhi u vào giao di n i dùng c a ng d ng c ki m th ;
khi giao di n i dùng thay i, vì v y ph i t ng hóa ki m th . Nó ng là
ng h p các quy trình nghi p v c t lõi cx lý b i m t ng d ng s không thay
BÀI 6: 115
i, mà là giao di n i dùng c s d ng ban hành các thay i quy trình
nghi p v

Ki m th d a trên hành ng làm gi m k gánh n ng b o trì b ng cách cho


phép i dùng xác nh các ki m th c ah c p quy trình nghi p v . Thay vì xác
nh các ki m th i d ng m t lo t tác v i giao di n i dùng, các nhà
thi t k th nghi m có th xác nh các th nghi m i d ng m t lo t các hành
ng kinh doanh. Ví d : ki m tra ng d ng ngân hàng có th ch a các hành ng
'm tài kho n m i', 'ký qu ' và 'rút ti n'. Ngay c khi giao di n i dùng b n
thay i, các quy trình kinh doanh này v n s v n do trình thi t k ki m
th không c n c p nh t ki m th . Nó s là công vi c c a k t ng hóa c p
nh t các hành ng b nh ng b i các thay i giao di n i dùng và b n c p
nh t này ng ch c n c th c hi n m t duy nh t.

các ki m th

Trong ki m th d a trên hành ng, các nhà thi t k ki m th th c hi n theo cách


ti p c n t trên xu ng m b o r ng có m t m c c nêu rõ ràng cho m i
th nghi m. c u tiên là xác nh xem n l c t ng hóa ki m th t ng th s
c chia thành các mô- ki m th riêng l th nào. M t s cách ki m tra
nhóm ph bi n bao g m:

- Các khu khác nhau

- Các ki m th khác nhau (tích tiêu trên yêu thúc


trên v.v.).

- Các tính khác nhau ki m th (quy trình


tính quán UI, v.v.)

M t khi các yêu c u ki m tra c xác nh, chúng ph c v là m t l trình


phát tri n các ng h p ki m th trong mô- và tài li u cho m c c a các bài
ki m tra. M i ng h p ki m th c liên k t v i m t ho c nhi u yêu c u ki m tra,
và m i yêu c u ki m tra ph i c gi i quy t b i m t ho c nhi u ng h p ki m
th . B ng cách nêu rõ các yêu c u ki m tra, có th d dàng xác nh m c c a
ki m th và xác nh xem ki m th có ng các yêu c u ki m tra không.
Các nhà phát tri n ki m th chính xác và súc tích trong quá trình t o ki m th , t o ra
116 BÀI 6:

các bài ki m tra ng các yêu c u nêu mà không ra d phòng không


mong mu n.

Sau khi xác nh rõ ràng các yêu c u ki m tra, các nhà thi t k ki m th có th
b t u tri n khai các ng h p ki m th b ng cách s d ng các hành ng c
xác nh c ho c b ng cách xác nh các hành ng m i. Các nhà thi t k ki m th
có th xác nh các ki m th c ah là các quy trình nghi p v c p cao, cho phép các
bài ki m tra d c các bài ki m tra c xác nh b ng cách s d ng các
tác giao di n c p th p.

Ki m th d a trên hành ng cung c p m t khuôn kh tích h p toàn b t ch c


ki m th h tr t ng ki m tra hi u qu . Các nhà phân tích kinh doanh, ki m th
các lo i, k t ng hóa, ki m tra khách hàng ti m và i qu n lý QA u
làm vi c trong khuôn kh hoàn thành k ho ch ki m th , thi t k ki m th , t
ng ki m tra và th c hi n ki m tra.

Ki m th d a trên hành ng cung c p m t khuôn kh c ch ng minh t


ch c ki m tra và ki m tra vi n t ng hóa v i c u trúc rõ ràng, ch n s
gián n có th gây ra b i chênh l ch múi gi và múi gi .

TestArchitect, m t công c d a trên ABT, nó lên c p ti p theo b ng cách


cho phép chia s t xa các kho tr s d li u c a các mô- ki m th , các
hành ng và các thành ph n khác, và cung c p u khi n rõ ràng và báo cáo cho
i qu n lý truy c p, thay i và k t qu .

H nh 6.2: Keyword driven Framework


BÀI 6: 117
6.3 KI M TH T NG V I KATALON STUDIO
6.3.1 thi u

Katalon Studio là m t b công c toàn di n cho ki m th t ng hóa ng d ng


trên web và n tho i di ng. Công c này bao g m m t gói y các tính
m nh m giúp t qua nh ng thách th c ph bi n trong t ng hóa th nghi m
giao di n web, ví d pop-up, iFrame và wait-time. Gi i pháp thân thi n và linh
ho t này giúp tester th c hi n công tác ki m tra t t làm vi c nhanh và kh i
ch y ph n m m ch t ng cao nh vào s thông minh mà nó cung c p cho toàn b
quá trình t ng hóa ki m th .

6.3.2 Các tính chính c a Katalon Studio


a. Simple deployment: gói khai duy
khai công tra h

b. Quick & easy set-up: Không cung cài Katalon Studio


giúp dàng môi Tester có test script tiên
khá nhanh cách xây và các test scripts,
object repositories và keyword libraries.

c. Faster & Better results: Tích rõ ràng giúp tester


nhanh chóng xây và các test scripts hóa. có
và án, ra
báo cáo và trì.

d. Flexible modes: tester có recording và keywords xây


các bài tra hóa, trong khi các chuyên gia tra có IDE
hoàn xây các nâng cao.

e. Ease of use: Nó không dàng ngay kinh


trình có khai thác ích nó cách dàng.

f. Cross-browser application: Katalon Studio Windows 32


và 64 (7, 8 và 10) và OS X 10.5+.
118 BÀI 6:

6.3.3 Cài t Katalon Studio


T o m t tài kho n Katalon Account t i a ch : https://www.katalon.com/sign-up

H nh 6.3: Giao tài

Sau khi t o xong tài kho n và nh p, click vào Download Now t i v


máy. T i s có hai phiên b n khác nhau c phân bi t sau:

H nh 6.4: Download phiên Katalon Studio

- Katalon Studio (KS): c s d ng m t IDE vi t test case, scripting


BÀI 6: 119
- Katalon Runtime Engine (KRE): H tr ch y test trong ch Command Line
Interface (CLI)

ý: N u b n dùng tài kho n email ký là business email (không ph i email


mi n phí Gmail, thì s c 30 ngày trial enterprise verison, h t 30
ngày b n s t ng convert sang d ng mi n phí.

Sau download v máy ti n hành gi i nén và m ng d ng trên máy tính c a b n.


kh i ng Katalon Studio, nh p vào katalon.exe

H nh 6.5: trình Katalon Studio

Màn hình ng d ng b t u sau:

H nh 6.6: Màn hình cài Katalon Studio

l n hi n th u tiên, c a s kích ho t Studio Katalon: nh m m c ki m tra


tài kho n mà b n s d ng là phiên b n b n s d ng là phiên b n enterprise,
120 BÀI 6:

free hay trial. Nh p email và m t kh u ký cho tài kho n Katalon c a


b n, sau nh p vào nút Activate

H nh 6.7: Màn hình Active trình

Sau khi nh p vào c giao di n chính:

H nh 6.8: làm Katalon Studio


BÀI 6: 121
6.3.4 Vi t k ch b n test v i Katalon Studio
Project trong Katalon Studio: File > New > Project

H nh 6.9: Project trong Katalon Studio


Spy web (giao chính) hay còn là
ID

H nh 6.10: Spy Web dùng ID Object


Katalon Studio dùng 2 test: Manual view
và Script view
122 BÀI 6:

Manual view

ch manual view này, ch c n click vào các i ng trong m c Object


Repository th c hi n kéo th các ID vào m c Object

Hình 6.11: làm Manual view


Các u ki n Input, Output là tham s truy n vào theo yêu c u c a Object.

Script view

này, Katalon Studio cho phép các câu


test.

Hình 6.12: làm Script view


BÀI 6: 123
6.4 KI M TH T NG V I SELENIUM
6.4.1 thi u

- Selenium là phí (mã dành cho các


web trên các trình và khác nhau.

- Selenium trung vào hoá các trên web.

- Selenium là gói các tool cho cùng và là


Suite tool cho các yêu và môi riêng.

H nh 6.13: th nh ph n c a Selenium

- Selenium IDE ra Shinaya Kasatani Selenium IDE là


Firefox có hoá trình thông qua tính ghi và
phát

- Selenium Remote Control(Selenium 1) ra Paul Hammant 1


ThoughtWork. Paul Hammant máy
proxy HTTP trình tin Selenium Core và
web cùng tên

- Web driver ra Simon Stewart vào 2006 khi các trình và


các web nên và các trình
JavaScript Selenium Core.

- Selenium Grid phát Patrick Lightbody các


khác nhau trên và trình
124 BÀI 6:

phân tán, môi khác nhau và


gian

V sao s d ng Selenium

- Selenium là tool free và có open source

- Selenium có

- Selenium có thích trên Browser (Firefox, chrome, Internet


Explorer, Safari etc.)

- Selenium có thích platform (Windows, Mac OS, Linux etc.)

- Selenium ngôn trình (Java, C#, Ruby, Python, Pearl etc.)

- Selenium xuyên phát và

C i t

- Cách ngay Selenium là dùng trình web Firefox.

- xem code có text editor có trên


hành. Mình khuyên dùng trên Windows trên
Mac OS Linux.

- Extension Selenium IDE trên Firefox.

C i t Selenium IDE

- Truy http://www.seleniumhq.org/download trình Firefox

- Tìm Selenium IDE và click vào version

- có vào ích trình và add- on selenium vào.


BÀI 6: 125

H nh 6.14: Trang ch Selenium

6.4.2 ph n c a Selenium

H nh 6.15: Các th nh ph n c a Selenium


126 BÀI 6:

Selenium là nhu khác nhau Selenium


có 4

- Selenium IDE

- Selenium Remote Control (Selenium 1)

- Web Driver

- Selenium Grid

Selenium IDE: Là thành c Selenium. Nó trình Firefox


add-on. Tác chính Selenium IDE là ghi quá trình ra test
case và có phát quá trình ra test case nó test
case file khác nhau html, java, php.

WebDriver là khuôn hóa web cho phép các


mình trên các trình khác nhau. Nó trong
Selenium.

Selenium RC:

- Selenium RC là framework hàng toàn án Selenium trong


gian dài.

- là công tra web tiên cho phép dùng ngôn


trình mà thích.

- Tính phiên 2.25.0, RC có các ngôn trình sau: Java, C#,


PHP, Python, Perl, Ruby

Selenium Grid là công cùng Selenium RC


song song trên các máy khác nhau và các trình khác nhau cùng
lúc. song song có là test case cùng lúc. Tính

- Cho phép các test case trong trình và môi

- gian.

- khái hub-and-nodes. Hub chính


Selenium cho nó.
BÀI 6: 127
TÓM
Bài này cung các

- (Automation Software testing)

- tên hành (Action-based testing)

- Katolon Studio

- Selenium
128 BÀI 7:

BÀI 7: K (UNIT TEST)

dung các sau:

- quan

- JUnit, NUnit

- pháp trong JUnit, NUnit

- JUnit, NUnit

- JUnit, NUnit

7.1 T NG QUAN V KI M TH V
7.1.1 Ki m th v là gì?
là trong bao giai
ban trong các thành các mô-
tra riêng pháp này, và nhà phát
có cô mô- xác và các giai
vòng phát (SDLC).
xác minh các khía hành vi khác nhau tra và có
phân rãi thành trên thái và trên tác.

hình bao ba giai bao giai


tiên, nó mà nó Giai
hai là giai sung trong nó thêm kích thích vào
và cùng, giai ba là giai nó quan
sát hành vi mang Rõ ràng, hành vi quan sát phù
mong thì qua, còn không, nó không thành công.
này cho có trong tra. Ba giai
tra này tên là Hành và là
AAA (Arrange, Act and Assert).
BÀI 7: 129
7.1.2 T i sao Ki m th v l i quan tr ng?
là trong nhóm các thành
mô- trình tra riêng này giúp ích
cách trong xác tính chính xác mã cách xem xét
các mã, (mock objects), drivers và các unit test frameworks. Vì nó
hành giai ban này xác
và các giai SDLC tránh tình chúng nên
cho doanh khi xác các giai sau.

Dev có gian cách ít


qua rõ ràng chi phí cao
trong quá trình tra tra tích và chí là tra beta khi
hoàn thành.

ngoài này, giúp các nhóm phát


code base, xác tính mã phát mã và
các thay trong mã nhanh thích áp
các Dev và tester có giúp gian vì các có xác
trong quá trình vì là giai Và, qua
có làm các và
chúng nên giai sau. Do là hành
giai quy trình khi
tích

7.1.3 L i ích c a Ki m th v

Hình 7.1: ích


130 BÀI 7:

- Cô code và xác tính nó

- Giúp xác và các giai quá trình SDLC

- chi phí do

- Giúp Dev cách cho phép refactor code

- hóa quá trình (debugging)

- tra thích các thành tích sau khi xây


7.1.4 Các lo i Ki m th v

Hình 7.2: Các


ba trong khi
tra mô- cách riêng

7.1.5 Ai th c hi n Ki m th v?

là giai tiên trong SDLC và nó


trong quá trình phát Các
này và thi các Devs. Tuy nhiên, trong
mà các Devs không quá trình này, tra này
các QA.

7.1.6 Làm th nào làm Unit Testing?

có theo hai pháp, là tra


công và tra

hành pháp công,


là có tài Tuy nhiên, xét
BÀI 7: 131
efforts cho công,
các doanh thích và

7.1.7 Quy trình ki m th v


Quy trình trong 4 giai

1. Creating test cases

2. Reviewing test cases

3. Baselining test cases

4. Executing test cases

7.1.8 Quá trình ki m tra v bao g m:


- Devs code trong tra

- code sau các Devs cô xác code và các


khác. Cách cô code này giúp xác và các

- Devs các Unit test frameworks các tools


phát các

- Trong khi các các frameworks giúp


và báo cáo các không thành công. Ngoài ra, trên
các trong các các frameworks giúp
liên quan.

7.1.9 Các th c hành t t nh t v Unit Testing

Hình 7.3: Các hành Unit Testing


132 BÀI 7:

các Unit tests nhau:

Trong khi hãy là


có nào, thì các bài tra có
khi có thay nào. Ngoài ra, nó có cho
các và debug. Do hãy luôn các

Luôn unit test vào

Khi unit code, dù nó liên quan khác


nhau, tra trong các
khác nhau. này hóa cách các nhóm
thay mã tái trúc (refactor).

AAA

AAA Arrange, Act, and Assert Hành và


Mô hình này giúp tách gì tra các và
do làm xen các xác giúp "Act". Do
các

các khi sang tra tích

là giai tiên và nó khi


sang giai tích Do khi sang
theo, hãy các xác trong giai

tên thích

Trong trong hành quan và quan tâm


là tên phù cho các Do tránh các magic strings, và
tuân theo các quy tên rõ ràng và quán.

Luôn tách code môi test và production

Trong khi hãy unit test code không


khai cùng mã trong build
BÀI 7: 133
7.1.10 M t s framework Unit Test

Hình 7.4: Các framework Unit Test

7.2 KI M TH JUNIT
7.2.1 JUnit là gì?

JUnit là framework mã phí, dùng unit test cho


ngôn trình Java. Trong Java, chúng ta method làm unit
test. Chúng ta có JUnit code test cho unit testing và
integration testing.

Trong Java, code cho Unit Test chúng ta có trong


hai Framework: JUnit và TestNG.

7.2.2 Các tính c a JUnit


- JUnit là framework mã và

- Cung các annotation các

- Cung các Assertion tra mong

- Cung các test runner thi các test script.

- Test case JUnit có

- Test case JUnit có thành các test suite.

- JUnit cho test cách quan: pass (không có là màu xanh


và fail (có là màu
134 BÀI 7:

7.2.3 M t s khái ni m trong JUnit


- Unit Test case: là 1 code code làm
mong function có test case,
function

- Setup: là hàm khi các test case, dùng


test.

- Teardown: là hàm sau khi các test case xong, dùng


xóa phóng

- Assert: test case có câu Assert, tra tính


hàm.

- Mock: là mô các tính và hành vi


vào bên trong mã hành tra tính
các bên trong. trình chúng ta
chia làm 2 module: A và B. Module A code xong, B thì test module A,
ta dùng mock làm module B, không khi module B code xong
test

- Test Suite : Test suite là các test case và nó có bao


test suite khác, test suite chính là các test.

7.2.4 Cài t JUnit


Ngày nay, JUnit tích trong các Java IDE (Eclipse, NetBeans
và IntelliJ). không có các có project Maven và thêm
JUnit vào file pom.xml sau:
BÀI 7: 135
7.2.5 Ví d s d ng JUnit trên Eclipse
chúng ta có class util có 2 devide() và add().

- divide() : chia nguyên 2 này


2 chia (dividend) và chia (divisor). chia là 0 thì
trình throw trình sau
khi chia nguyên.

- add() : tính 2 nguyên.

trình chúng ta sau:

Bây chúng ta JUnit tra trên các vào


khác nhau.
136 BÀI 7:

- tiên chúng ta class suffix là xxxTest. là naming


convention cho Unit Test. Class này nên trong test, cùng
package name tên class viêt unit test dàng lý.

- theo, chúng ta test case test các có có


test case nên tra:

devide() có có test sau:


phép chia ra nguyên, phép chia ra
chia là 0.

add() : tra 2
BÀI 7: 137
tra các test case trên, chúng ta trên class
test, sau Run As > Unit Test. chúng ta có
thi test cho project.

Chúng ta có sau:

Trên test, chúng ta có gian các


test case (0.055 seconds), gian thi test case, các test case

trong ví trên, chúng ta có 3 pass (có màu xanh) cho


divide(). này có là code logic devide()
mong

add_SixAddedByTwo_ReturnEight() có màu này có là


logic add() có gì không mong Khi chúng ta click
vào test case IDE vài thông tin chi sao
fail. hình bên trái, chúng ta có là add() mong
là 8 là 4. chúng ta có tra code trình
tìm nguyên nhân ra không mong
138 BÀI 7:

7.3 KI M TH NUNIT
7.3.1 NUnit là gì?
Unit Testing có dàng các framework. Framework
cho các nhà phát .NET là NUnit vì nó dùng, có tính
và dàng cài Visual Studio qua NuGet.

7.3.2 Cài t NUnit


cài NUnit, trong Visual Studio Tools > NuGet Package Manager > Manage
NuGet Packages for Solution

Trong NuGet Solution tab Browse và gõ trong ô tìm


và NUnit tiên:
BÀI 7: 139

Bên khung NUnit bên Project (bao hai án) và


Install:

Preview Changes thì OK. cài thành công thì


Output sau:
140 BÀI 7:

NuGet Solution và Output. Solution Explorer tìm


Reference hai án nunit.framwork:

Ngoài ra, chúng ta cài NUnit3TestAdapter:

cài này là thi các NUnit trong Visual


Studio.
BÀI 7: 141
7.3.3 T o d án ki m th
án framework NUnit trong Visual Studio 2017 Community.
chúng ta án Console App (.NET Framework) tên
UnitTestingDemo và thêm tên Calculator án này. Thay
dung tin Calculator.cs sau:

thêm Solution cách vào


Solution trong Solution Explorer Add > New Project
142 BÀI 7: ST)

Trong New Project Class Library (.NET Framework), tên là


Calculator_Test:

OK. tên tin Class1.cs trong án Calculator_Test thành


MyTesting.cs

Ngoài ra, chúng ta thêm tham án Calculator_Test án


UnitTestingDemo là tham các hay
UnitTestingDemo.

vào Calculator_Test, Add > Reference. Trong


Reference Manager Project và án UnitTestingDemo:
BÀI 7: 143

7.3.4 Các thu c tính TestFixture, Test và l p Assert

NUnit hai tính TestFixture và Test dùng và


là các (unit tests). khi hai tính này,
chúng ta khai báo NUnit:

MyTesting là thêm tính TestFixture và khai


báo NUnit tin MyTesting.cs sau:
144 BÀI 7:

ý tính TestFixture trong vuông.

Sau khi chúng ta xây hai Add_Test và


Sub_Test dùng các Add và Sub Calculator.
MyTesting thay sau:

tính Test trong vuông các là


khi vài mã cho hai Add_Test và
Sub_Test, chúng ta tìm Assert namespace NUnit.Framework.

Assert là mã trình và NUnit.


dùng này khai báo nào là
và các vào Assert khác
thì này

Thay dung hai Add_Test và Sub_Test sau:


BÀI 7: 145

Chúng ta That Assert xác là


hay không. Trong hai Add_Test và Sub_Test, chúng ta
các Add và Sub Calculator các là 3 và 5.
các này so sánh là 8.

7.3.5 Th c hi n ki m th v i công c Test Explorer


Chúng ta cách dùng công Test Explorer Test
trong Visual Studio 2017:
146 BÀI 7:

Test Explorer sau:

Chúng ta có Run All hai hay chúng ta


có trong hai và Run Selected Tests,
ví Add_Test:

Add_Test thành công vì 3 và 5 là 8


chúng ta thi Sub_Test:
BÀI 7: 147

Sub_Test vì 3 và 5 là -2 khác là 8.

TÓM T
Bài này cung các

- (Unit test)

- JUnit

- NUnit
148 BÀI 8:

BÀI 8: LÝ

dung các sau:

- Tìm quá trình lý và các quá trình trung tâm


và soát

- Tìm quan các trong quá trình lý

- là gì và khác tiên và

- Tìm cách có ích trong giá các tính

- Có các

8.1 CH T NG QUÁ TRÌNH VÀ CH T NG


S N PH M
là khái nó không so sánh cách
trong khái
ra là: phát phù nó ( Crosby, 1979). Nhìn
chung, này áp cho các tuy nhiên
sinh này:

1. các mà khách hàng mong


Tuy nhiên, phát có có các yêu các yêu
tính trì) mà không trong các

2. Chúng ta không làm cách nào rõ các ( ví


tính trì cách rõ ràng.
BÀI 8: 149
3. các là công khó Vì
dù có phù các nó,
có không coi là cao vì nó không phù
mong

Các nhà lý có tiêu là phát hoá


mà trách cam cho phát
cao khích các nhóm trách cho
công mình và phát các cách Khi mà
các và các là lý kinh
lý cho có mong không nhìn
( tính tính mà không
cách rõ ràng theo các

lý chính hoá là quan các nhóm


có phát các và Tài là
ghi bao làm nhóm trong án. Nó giúp
con tra quan không phép quên, hay
nhóm ra các gì mà các nhóm khác làm. Nó cho phép các
nhóm trách cho phát gì mà nhóm
phát

lý quan
cách áp Không công
vì nhóm phát có trao then cho
phát các là hoá và
các thành viên nhóm có ý cách tích

lý cho các có chia vào 3


chính.

1. khung có các và các


cao.
150 BÀI 8:

2. các và các thích


khung này, cho các án riêng

3. soát và ra các quá trình


phát tuân theo các và các án.

Hình 8.1: trên quá trình

trách lý và báo cáo


lý án cao lý không liên
nhóm phát riêng nào trách cho lý
Lý do cho này là lý án duy trì ngân sách án và
án. có lôi vào
vì có lý
tiêu không ngân sách và
chi phí lên

8.2 M B O CH T NG VÀ CÁC CHU N CH T


NG
là quá trình rõ làm cách nào
có và làm nào cho phát có yêu
nào. trình có liên quan tiên
ra các áp cho quá trình phát
hay là quá trình
có ra các công và các pháp cho các
này.
BÀI 8: 151
Có 2 có áp là quá trình
là:

1. Các này áp cho phát


Chúng bao các là trúc tài yêu
các tài các tiêu thích cho
và các mã rõ làm cách nào ngôn trình có

2. Các quá trình: này ra quá trình nên tuân theo trong
quá trình phát Chúng có bao các xác các
Quá trình và quá trình và mô các tài nên
ghi trong giai quá trình này.

Có liên các và quá trình. Các


áp cho ra quá trình và trong
các quá trình bao các các quá trình riêng mà
các tuân theo.

Các là quan trong vì lý do sau:

1. Các trên thích cho


công ty. Kinh này sau và
xung nó vào các giúp cho công ty tránh sai trong quá
Các các kinh này có giá cho

2. Các cung cái khung cho thi quá trình


ra các bao
các tuân theo cách

3. Các giúp tính liên khi mà công


khác Các các trong
cùng thói quen. Do công nghiên khi công

phát các án là quá trình khó và


gian. Các gia, US DoD, ANSI, BSI, NATO và IEEE
ra các này là chung mà có áp
152 BÀI 8:

vi các án. Các NATO và các các có yêu


các tuân the trong các

Các gia và phát bao công


ngôn trình Java, và C++, các ký là
các cho các yêu và các
tra và quá trình thông qua (IEEE, 2003).

Các nhóm mà phát các cho công ty


trên gia và này là
nhóm ra tài tóm Tài này
ra tiêu yêu

Các Các quá trình


rà soát rà soát
trúc yêu trình CM(???)
pháp tiêu Quá trình phát hành phiên
trình Java Quá trình thông qua án
án Quá trình soát thay
yêu thay Quá trình ghi tra.

Các khi coi các là và không thích


công phát dù các
ý các yêu chung cho các tiêu các tìm
lý do sao các không thích án riêng tránh
này, lý tiêu
là tài nguyên và nên tuân theo các sau:

1. Bao các trong các nên


sao các tiêu và cam tuân theo này. Tài
không là là nói rõ tuân theo mà nó bao lý
do sao các tiêu riêng

2. tra và thay các tiêu cách nhau ánh các công


thay khi các tiêu phát chúng có xu
BÀI 8: 153
trong tài tóm các tiêu công ty, và lý khó có
thay chúng. tài tóm tiêu là nó nên
ra ánh các tình thay và công thay

3. Cung các công các tiêu khi nào có


Các tiêu phòng là nguyên nhân than vì công
quá dài dòng chúng. công là có
không thêm tuân theo các phát

Các quá trình có gây ra khó quá trình không có tính


áp cho nhóm phát Các khác nhau các
quá trình phát khác nhau. Không quy cách làm nó
không thích cho án hay án. lý án có
thay các quá trình theo riêng. Tuy nhiên, các mà
liên quan và quá trình - phát thay sau
khi có cân

lý án và lý có tránh các
không lý cách chu trong án.
vào trong tài mà không thay
ghi vào tài còn nào có và
nào có qua. có ra
yêu riêng án. Ví tiêu cho các hình có
yêu này không trong các án Khi
mà có thêm kinh chúng, nên và ra

8.3 L P K HO CH VÀ KI M SOÁT CH T NG
8.3.1 L p k ho ch ch t ng

là quá trình phát


cho án. các yêu
và mô làm cách nào này có
nó ra cao có ý nào. không
154 BÀI 8:

có này các có ra các khác nhau và khi là xung


nhau các tính hoá.

mà nó thích
riêng và quá trình phát có
án các pháp và công Humphrey (Humphrey,
1989) trong sách kinh lý ý trúc phân
cho này bao

1. mô mô
và các mong cho

2. Các Kì phát hành và các trách cùng


các án cho phân và

3. Các mô quá trình Các quá trình phát và cho


lý và phát

4. Các tiêu Các tiêu và cho bao


xác và các tính quan

5. ro và lý ro Các ro chính mà có và
các

Các khác trong chi vào kích


và mà phát Tuy nhiên, khi các
nên cho chúng có tài quá dài,
không nó, này phá tao ra

Có vi các tính mà
nên xem xét trong quá trình Trong
ra tính quan cho
phát này là trong án, xác nào là quan
và nào qua. phát này trong
các phát có tác này.
bao rõ quá trình giá này nên là
BÀI 8: 155
pháp giá trì hay tính
trong

Tính an toàn Tính có Tính di


Tính Tính có tra Tính
Tính tin Tính thích khi Tính tái
Tính Tính mô Tính
Tính Tính Tính

8.3.2 Ki m soát ch t ng
soát bao tra quá trình phát
các và các tuân theo. Có hai
cách xung cho nhau mà có tra
án.

- rà soát mà tài nó và các quá trình


ra mà rà soát nhóm rà soát
trách tra các án tuân theo và và các tài
làm cho phù này. các này
chú ý và lý án báo chúng.

- giá là và các tài ra


lý trình và so sánh các áp cho án
phát riêng giá này có bao
tính và so sánh mong

Sau là rà soát coi là


rãi trong rà soát quá trình hay rà soát
bao nhóm tra hay quá trình
hay các tài liên quan các tàng phát Các
rà soát ghi và thông qua cách chính tác hay
nào trách phát
156 BÀI 8:

rà soát
tra hay Phát các chi trong các yêu thiét hay mã.
trình Danh sách tra các có rà soát.
Cung thông tin cho lý án.
Rà soát là quá trình và là rà soát nó có liên
quan chi phí,
hành các phân tích công các thành
hay tìm ra không
Rà soát
và thành mã hay và các
ra tuân theo.

rà soát là tìm ra các và các mâu và giao chúng


cho hay tác tài Các rà soát trên tài
nó không các các hay mã. Các tài các mô
hình quá trình, tra, các lý hình, các quá trình
và tài dùng có rà soát

rà soát nên có nhân là ba hay mà là rà


soát thành viên nên là lâu mà có
trách cho ra công quan xét
quan có các thành viên án khác. có không xét
toàn tài trung vào mà công
rà soát có tài rà soát và yêu cho các chú
hình các thành viên án.

Các tài rà soát phân khi xét cho phép


rà soát có và chúng. dù này có phá quá
trình phát rà soát là không xét không
cách các tài khi rà soát ra.

8.4 MÔ HÌNH CMM/CMMI


8.4.1 CMM và CMMi là gì?
CMM và CMMi là lý quy trình các
áp cho hình công ty khác nhau. Hay nói cách khác là các
pháp phát hay ra các
BÀI 8: 157
Tháng 8/ 2006, SEI (Software Engineering Institute Công
- phát mô hình CMM/CMMI chính thông báo phiên
CMMI 1.2. là sau 6 ban hành và thay cho CMM
tháng 12/2001), CMMI phiên 1.1 (CMMI 1.1) chính thông báo
trình gian lên phiên CMMI 1.2.

dù các công ty Nam CMM/CMMI nay


trong gia công và
vài tranh yêu ngày càng cao khách hàng,
thúc các công ty xây lý theo các mô hình

CMM và CMMi là khung (framework) ra cho trình


mà các áp nó mang
chi phí, gian và

Mô hình CMM và mô các nguyên các bên trong tính


quá trình và ý giúp các công ty hoàn
quá trình phát, các quá
trình thành có

CMM các công ty thu ích xác


ro trong phát và tính báo - do thành tác
hay nhà cung các khách hàng trên toàn Tuy
nhiên, CMM không không chi phí. công ty
dành cho các vùng trình then lên
thang CMM. CMM ra các
thành 1 thành và 5
thành cao SEI xúc CMMi, mô hình
CMM và CMMi nay các công ty khai
mô hình này.

8.4.2 C u trúc c a CMM

a. Các level CMM

CMM bao 5 levels và 18 KPAs (Key Process Area) 5 levels CMM sau:
158 BÀI 8:

- 1: Initial, 2: Repeatable,3: Defined,4: Managed, 5: Optimising

Nói cách khác level tuân theo cao


cao thì các các level mãn. level có
chú ý quan nó các doanh

Level 1 thì không có KPAs nào

Level 2 : có 6 KPAs

Level 3: có 7 KPAs

Level 4: có 2 KPAs

Level 5: có 3 KPAs

18 KPAs CMM có 5 tính chung trong có các qui


key pratice là các (procedure), qui (polities),
và KPA.

KPA này ta theo qui sau


KPA

(1) Commitment to Perform ( là cam

(2) Ability to Perform

(3) Activities Peformed (Các lâu dài)

(4) Measurement and Analysis (Khuân và phân tích)

(5) Verifiying and Implementation

Hình 8.2: Các level CMM


BÀI 8: 159
b. Các level CMM

Level 1

- Level 1 là CMM, doanh công ty cá


nhóm, cá nhân có level này CMM yêu tính
nào. Ví không yêu quy trình, không yêu con là cá
nhân, nhóm, doanh làm có CMM này.

- level 1:

Hành chính: Các lao quan tâm hàng


cách vã

Không lý nhân vào kinh


cá nhân

Quy trách lý mong nhân hành và sóat


các lao

Quan liêu: Các lao ngay mà không


phân tích

Doanh xuyên thay Nhân viên không trung thành

Level 2

- Có 6 KPAs bao sau:

Requirement Management yêu khách hàng, lý các yêu

Software Project Planning ( các cho án)

Software Project Tracking (Theo dõi tra án)

Software SubContract Managent (

Software Quality Assurance

Software Configuration Management hình yêu


khách hàng không)

- Khi ta áp Level 2, KPA 2 (Software Project Planning), ta có


common feature sau:
160 BÀI 8:

tiêu(Goal): các và án
lên và tài

Xem xét (Commitment): án tuân theo các qui


khi

(Ability): cho án là
khi án

(Measument): luôn thi và chúng ta


luôn có xác và soát tình các trong trình
án

Các khi án
xem xét senior manager

- Nói software quality, các QA không không tam giác


"Quality Triangle" (Cost,Functionality,Schedule) => , chi phí,
và Chúng tôi ra các tiêu qui trình mà chúng tôi
chúng tôi và chúng tôi có
và theo sát các nhóm án sao cho qui
trình. là QA Engineer, lâu nay vai trò QA trong các công ty
hoá vai trò tester hay còn là QC - Quality Control.

- Level 2 thì lý các nguyên và


lý các ra. có trách lý mình

- Các KPAs (Key Process Areas) nó chú các thành sau :

lý thành tích

Phân công lao

Thông tin giao

Môi làm

- có level 1 level 2 có gì:


BÀI 8: 161
-

tiên nó mãn các level1, nhiên theo là


chú các sau:

1. Môi làm : làm , t thú trong công ,


không trung các nhân khác.

2. Thông tin: Xây tin thông trên và


giúp cá nhân trong chia thông tin, kinh các
giao và làm

3. Xây nhân viên: Ngay khâu càng và


hóa quy trình

4. lý thành tích: thành tích, công thành tích


cách các tiêu chí khách quan giá và liên khích
làm trung phát xây các tiêu theo.

5. : Không các chuyên môn cho án mà còn


các then làm nhóm,
cho lao phát huy
và phát thân.

6. : thu ý lao
và công công khai. trung vào cho công
nhân viên vào vai trò, trí (Position), Con (Person) thái và
tác phong làm và Thành tích (Performance) mà cho
ra chính sách các các khác
khích các cá nhân trên góp và phát
toàn

Level 3

- Các vùng trình 3 vào hai án và


vì (công ty) nên trúc các quá trình lý và
qua các án. Chúng có trung
trình (Organization Process Focus), Phân trình
(Organization Process Definition), trình (Training Program),
162 BÀI 8:

Tích (Integrated Software Management),


(Software Product Engineering), nhóm (Intergroup
Coordination), và Xét ngang hàng (Peer Reviews).

- level 3 thì lý các


ra, môi làm

- lao lõi KPA chú các


sau :

hóa cá

Công vào

Phát

nhân

Phân tích và

- Level 2 lên Level 3: Các KPA

1. Phân tích và : Xác và


làm cho nhân phân tích này bao xác
quy trình duy trì phát và duy trì các và
công báo nhu và trong lai.

2. nhân : là nhân nhu


và trong lai các và toàn nhân
có tính cùng quy trình theo dõi và các
phát nên thành công trong hình thành

3. Phát : cho cá nhân phát và có


trong nó bao
cá nhân, xác các theo dõi trong tiêu
công giao và khích tiêu trong công

4. Các trên : Ngoài các lõi còn có


nhân vào làm giá
qua công và trí, xây phúc trên
BÀI 8: 163
giúp phát
cho phát nhân

5. hóa cá : liên thông kênh thông tin


trong kinh
nhau, giúp nhau cùng Trao thúc nhân viên tham gia
ý ra

Level 4

- Các vùng trình 4 trung vào


quá trình và các xây
là lý quá trình (Quantitative Process Management) và
lý (Software Quality Management)

- lao làm theo nhóm và lý cách

- Các KPA level 4 chú

hóa thành tích trong

Công vào cách làm theo nhóm

Xây chuyên

- level 4 thì và hóa.


công hóa phát các lõi.

- Level 4 này chú vào công ty, có


lý các công nào.

Level 5

- Các vùng trình 5 bao trùm các mà và án


hoàn quá trình liên
là Phòng (Defect Prevention), thay công
(Technology Change Management), và thay quá trình (Process Change
Management).
164 BÀI 8:

- Level 5 thì doanh liên


tìm các pháp nâng cao làm lao
trong các nhân phát chuyên môn.

- Chú vào lý, phát nhân viên.

- nhân viên thành các chuyên gia.

8.4.3 So sánh gi a CMM và CMMi

cách quan thì ta CMM và CMMI khác nhau có


(Integration). ra khác CMM và CMMI.

tiên hãy xem qua hai này. nói CMM ra


CMMI thì mà nói CMMI có khi CMM ra
sai. ra khi CMM chính công vào 1990 thì CMMI
manh múng (chính xác là 1979-
maturity grid (Quality is Free)) thông qua trúc Continuous & Staged. Có
nói CMMI là phiên CMM.

Trong khi CMM hoàn và phát SEI thì CMMI là


tác này và chính khi CMM công và
áp trên thì quan nó qua
khoa phát không và liên trong
ngành công thông tin, chính cùng SEI hoàn
CMM và cho ra phiên CMMI là

Mô hình CMM có 5
lý và là doanh có áp mô
hình CMM nào mà không tuân theo qui nào, không
có cao (có lên cao,
có nguyên SEI không chính
ra công CMM mà thông qua các các giá
SEI và

2005, SEI không SW-CMM và các


giá theo mô hình CMMi tháng 12/2005. CMMi tích mô hình
BÀI 8: 165
khác nhau, phù cho doanh và tích
không áp cho doanh CMM
Có 4 mô hình áp CMMi là CMMi-SW (dành cho công
CMMi-SE/SW (dành cho công và CMMi- SE/SW/IPPD
(dành cho công + công phát
và quy trình tích CMMi-SE/SW/IPPD/SS (dành cho công + công
phát và quy trình tích có
Có 2 cách và CMMi: Staged (phù cho có trên 100
và Continuos (phù cho 40 CMMi bao 5
CMM: lý và

CMMI ra các mô hình khác nhau cho có


riêng bao

- CMMI-SW mô hình dành riêng cho

- CMMI-SE/SW mô hình tích dành cho các và

- CMMI-SE/SW/IPPD mô hình dành cho các và tích


cùng quá trình phát nó.

các khác nhau quan CMM và CMMI là:

- CMMI ra 2 khái stageds VS continuous

- Chu phát CMMI phát

- tích (Integration)

- là Process area (vùng trình).


không là

- Bao hàm Process Areas

- thành dàng Process area.

8.4.4 L i ích c a CMM l i cho doanh nghi p

a. mà CMM mang

Ý áp nguyên
166 BÀI 8:

- lý

- lý nhân

- Phát

- Tính

- vi các nghành công chính

- Hoàn toàn có xem xét và bên ngoài

- trình làm nâng cao lao

- giá

- Các lao

- Các trình nâng cao công luôn

b. tiêu

- các cách nâng cao và


lao

- phát là tính không


vài cá

- các cá nhân tiêu

- Duy trì tài con duy trì nhân trong

c. ích CMM mang cho Doanh gói trong 4 Attract, Develop,


Motivate và Organize

d. ích CMM mang cho lao

- Môi làm hóa làm

- rõ vai trò và trách trí công

- giá công thành tích

- chính sách luôn quan tâm

- Có

- Liên phát các


BÀI 8: 167
TÓM
Bài này cung các

- lý và các

- và soát

- Các trong quá trình lý

- Mô hình CMM / CMMi


168 BÀI 9:

BÀI 9: LÝ HÌNH

dung các sau:

- lý hình

- lý hình

- lý phiên và phát hành

- lý thay

- Xây

- Các công CASE cho lý hình

9.1 K HO CH QU N LÝ C U HÌNH
lý hình (Configuration Management - CM) là quy trình lý,
và soát cách có thay trong tài mã và các
khác trong vòng phát p (Software Development Life Cycle
SDLC). tiêu chính là sai CM là
lý hình liên ngành và nó có xác chính xác ai
nào.

lý hình:

1. Xác các tài lý và tên tài

2. Xác trách các CM và ra các

3. Xác các chính sách soát thay và lý phiên

4. Mô các công nên quá trình và nào


trong chúng.

5. Xác lý hình ghi thông tin hình.

lý thay nào có 3 tính chính sau:


BÀI 9: ÌNH 169
- lý Khi cùng tin cùng lúc.

- soát phiên thay vào có quay


phiên trong có

9.2 QU N LÝ VI C THAY I
lý thay là và tính quán
khi các thay trên hình . lý thay
liên quan theo dõi các thay và chúng theo
cách chi phí.

Ai là ra các yêu thay

- Các yêu thay có dùng,


Nhà phát Áp

yêu thay

- yêu thay là quy trình


CM.

- này thay yêu thay lý do sao


thay này và tính bách thay .

- Nó còn thay phân tích chi phí thay và các


.

Các công theo dõi thay :

- chính trong lý thay là theo dõi thái thay .

- Các công theo dõi thay theo dõi thái yêu thay và
các yêu thay .

- tích các e-mail cho phép phân phát các yêu thay
.

Ban soát thay :


170 BÀI 9:

- Các thay nên xem nhóm bên bên ngoài


xem chúng có mang hay không theo quan và
là theo quan .

- Ban soát thay nên là nhóm án.

- Ban soát thay có cao phía khách hàng và


nhân viên .

hóa:

- Là các thay áp cho các thành mã .

- hình nét chính) thay ra, quan


thay ai ra thay và khi nào nó .

- hình có xem chú thích trong mã


cho hóa, các công có lý nó
cách .

9.3 QU N LÝ PHIÊN B N VÀ B N PHÁT HÀNH


9.3.1 Qu n lý phiên b n

Các hành lý phiên

- Phát danh cho các phiên

- khi phiên ra

- các công và lý phiên áp cách


.

- phân các phát hành .

Phiên / / Phát hành:

- Phiên (Version): mà nó khác các


khác theo cách nào .

- (Variant): mà nó
khác phi các khác .
BÀI 9: 171
- Phát hành (Release): mà nó phân cho
dùng bên ngoài nhóm phát .

Xác minh phiên

- Các xác minh phiên nên cách rõ ràng


các phiên thành .

- Ba xác minh thành : phiên , Xác minh


trên tính, Xác minh thay .

phiên

- hóa tính: V1, V1.1, V1.2, V2.1,


v.v

- trúc hóa là cây hay là liên .

- tên phân ít trong xác minh phiên .

Hình 9.1: trúc hóa phiên


Xác minh trên tính:

- Các tính có phiên . Các tính có


là ngày, ra, ngôn trình, khách hàng, thái, v.v. các
tính các phiên có danh duy
Trong phiên còn tên tham dàng.

- quan xác minh trên tính là nó có các


truy Truy ra phiên vào các giá tính.
172 BÀI 9:

thay

- Tích các phiên và các thay ra các phiên

- cho là cho thành .

- thay có thay mà nó mô
các thay cho các thành .

9.3.2 Qu n lý phát hành


Phát hành là phiên mà nó phân
khách hàng. Nhà cung ra các phát hành
cho các hay thêm các . Các nay
phát hành trên quang các tin cài có
trang web.

Các phát hành:

- Khách hàng có không phát hành .

- lý phát hành không nên các phát hành


tin cho phát hành nên tái khi phát
hành cài .

ra phát hành:

- và phân phát hành là quy trình kém.

- Các và tác khi


nào ra phát hành .

thành kèm khi phát hành

- Phát hành không là các trình có thi mà


có bao : các tin hình cách phát hành
hình cho cài , các tin cho hành ,
m trình cài hay script ích cài lên
các hay , gói và cáo liên quan.
BÀI 9: 173
- hóa phát hành: Ghi các phiên các mã
ra mã thi; L sao mã mã thi,
và các tin hình; Ghi phiên hành,
biên và công xây .

9.4 XÂY D NG H TH NG
Xây là quy trình biên và liên các vào
trình mà nó trên hình . Các khác
nhau xây các khác nhau các . Qui trình
này nay luôn các công .

Hình 9.2: Quy trình xây

9.5 CÁC CÔNG C CASE CHO QU N TR C U HÌNH


9.5.1 GitHub

Git/GitHub là lý phiên phân tán (Distributed Version


Control System). nôm na Git là 1 giúp cho lý tài
source code... 1 nhóm các developer cùng làm chung án. Git ghi
toàn thay source code trong án. file nào, thêm dòng
code nào, xóa dòng code nào, các hành Git
ghi Qua giúp án có tra nguyên nhân gây
code nên dàng
174 BÀI 9:

T khi vào git ta khái liên quan Git


sau:

Repository: Repository nó chính là cái kho


thông tin lý các và toàn project. Repository
Git phân thành 2 là remote repository và local repository.

- Local Repository: là repository trên chính máy tính chúng ta, repository
này hóa remote repository các git.

- Remote Repository: là repository cài trên server chuyên Ví


GitHub, GitLab, Bitbucket,...

=> GitHub chính là 1 Remote Repository thông tin


lý các và toàn project.

Working tree và Index staging area): Là trong


lý Git, công trên là working
tree. repository và working tree là index hay staging area .
staging area là cho commit vào repository.

Hình 9.3: Working tree

Download GitHub theo https://github.com/ và cài theo

thao tác local repository:

git init

- Tác : 1 git repository 1 project có.


BÀI 9: 175
- Cách dùng: 1 folder => vào trong folder => click Git
Bash Here hình :

- console git bash lên => gõ git init

- Sau khi thành công thì trong folder folder .git => folder này
thông tin lý các và toàn
project.

: git add

- Tác : Thêm thay vào stage/index trong làm

- Cách dùng: làm => git add .

- Khi add thành công

git commit
176 BÀI 9:

- Tác commit là action Git các thay trong làm


vào repository

- Cách dùng: git commit -m "add source nhaaaaaa"

- Khi commit thành công

9.5.2 Team Foundation Server


Team Foundation Server (TFS) l m t tr nh server c s d ng qu n
l m ngu n c a c c l p tr nh viên trong c c d n chung.

V i c c t nh n ib t

- tr m ngu n online.

- T ng t ng h p v ra so s nh v m ngu n t c c phiên b n c upload.

- tr c c phiên b n c a m ngu n v cho ph p t i l i khi c n.

- Qu n l thay i trong project.

TFS c t ch h p s n trong Visual Studio Ultimate, c th download b n c i t i


http://www.visualstudio.com/en -us/downloads

c 1: k t i kho n trên Visual Studio Online

- Kh i ng Visual Studio.

- T m trên thanh Menu, v o TEAM Connect to Team Foundation ho c


VIEW Team Explorer.
BÀI 9: 177
- L c n y c a s Team Explorer s hi n lên, n u c t i kho n Microsoft, click
v o Sign Up.

- nh p v o Visual Studio Online c a Microsoft, b m v o Sign up now


k t i kho n m i.

- các thông tin ZIP Code hay Postal Code l m ch nh


s ng, c th c th tra t i trang http://postcode.vnpost.vn

- Sau khi login v o trang Visual Studio Online b ng t i kho n Microsoft.


178 BÀI 9:

- Nh p a ch server v o khung v b m Create Account.

- M t trang web m i hi n ra v i ng d n https://<tenserver>.visualstudio.com


b o hi u th nh công.

- C c l p tr nh viên trong nh m s c n ng d n n y tham gia thao t c trên


project t i server.

- nh p v o trang n y cho phép xem c c th ng kê v c c project trong server


v s d ng m t s công c v qu n l project.
BÀI 9: 179
c 2: K t n i n server

- Quay l i v i Visual Studio, t i c a s Team Explorer h y click v o Connect.

- C as Connect to Team Foundation Project li t kê ra c c Team Project v Project


c th thao t c.

- Do t ng k t n i n server n o nên danh s ch ho n to n tr ng. Click v o

- T ic as m i b t lên, click v o

- M t c a s kh c l i b t lên, t i khung Name or URL of Team Foundation Server:


nv o a ch server, b m OK.
180 BÀI 9:

- Quay l i c a s c , b m Close k t th c ch n server. VS s l i b t lên m t


c as m i v yêu c u nh p t i kho n Microsoft.

- c x c nh n c c truy c p v o server hay không.

- n t i kho n v m t kh u v o khung nh p v nh n Sign in.

c 3: T o v qu n l Team project

a. T o Team Project

- t o m t project m i, ph i t o m t Team Project. V o File New Team


Project ho c b m v o New Team trên giao di n c a Team Explorer.
BÀI 9: 181

- Giao di n t o Team Project sau s hi n ra, c u h nh cho project theo ng


d n c a trang.

- Team Foundation Version Control (TFVC). T o Team Project thành công.


182 BÀI 9:

b. Qu n l Team Project

- n trang qu n l c a team project v a t o:

- Quay l i trang ch server t i https:://<tenserver>.visualstudio.com

- Click v o Browse.

- Trong giao di n m i b t lên, ch n project v a t o v b m Navigate.

- Tr nh duy t web s chuy n ng n trang qu n l c a project.

- s hi n ra c c th ng kê v thông s t ng quan c a project (menu HOME),


hay danh s ch c c file m ngu n c trong project (menu CODE).
BÀI 9: 183

c 4: T o project

- Quay l i v i c a s Connect to Team Foundation Project (Team Explorer


Connect)

- Click v o DefaultCollection v ch n Team Project v a t o.

- N u không th y DefaultCollection, th Sign Out v nh p l i b ng n t g c


i bên tr i c a s .

- Sau khi ch n c team project, b m Connect Visual Studio

- th y c s thay ic a m ngu n, TFS cung c p công c so s nh cho ph p


th y s thay i c a m i b n update.

- Ví v a update project Studio l n 2 sau khi c m t s thay i, so s nh ch ng


sau:

1. Quay l i trang qu n l Team Project, click v o menu CODE.

2. Click v o file mu n ki m tra thay i (Main.cpp) v ch n Compare.

3. 2 phiên b n c a file s hi n lên v i nh ng nh d u r t chi ti t v nh ng g


c thay i phiên b n 2.
184 BÀI 9:

Ngoài ra, TFS phát giúp án có soát nhóm, check in, check out
file, lý các version, lý nhóm, các thay trong source
code.

TÓM
Bài này cung các

- lý hình

- lý hình

- lý phiên và phát hành

- lý thay

- Xây

- Các công CASE cho lý hình


185

ÁN MÔN
YÊU ÁN MÔN

- nhóm 3 4 sinh viên và thi án, không trùng.

- theo yêu mô trong nhóm bài

- Các sinh viên dùng:

MS Excel vi t test case

- Các báo cáo khi

Ghi rõ tên, mã Project

Ghi rõ tên các thành viên trong nhóm, công thành viên
trong nhóm.

DUNG YÊU C U N

- Vi t c t yêu c u ph n m m (SRS- Software Requirement Specification)

- Vi t Test Plan (K ho ch ki m th )

- Vi t Test Case

- Vi t Test Report, Defect Tracking & Solutions

THÔNG TIN N

Ph n m m demo: QU N L BÁN HÀNG (WEBSITE / APPLICATION)

- Áp d ng Black Box Testing ki m th trên form Login

- Áp d ng White Box Testing ki m th ch c nh p xu t s n ph m.

- Download ph n m m c s n ho c ph n m m nh m th c hi n, th c hi n yêu c u
ki m th .

Danh s ch seminar công c h tr ki m th

- tài 1: l bug Bugzilla

- tài 2: trên di (mobile testing)


186 C

- tài 3: Công Selenium

- tài 4: Công Katalon Studio

- tài 5: Công g Robotium.

- tài 6: Công AutoIT

- tài 7: Công Mantis Bug Tracker

- tài 8: Công Sahi

- tài 9: Công Soap UI

- tài 10: Công Behavior Testing

Ch n m t trong c c công c : Katalon Studio, Selenium, IBM Rational Functional


Tester, SilkTest, TestComplete, Testing Anywhere, WinRunner, LoadRunner, Visual
Studio Test Professional, WATIR, Defect tracking tool, Test Effort tracking tool, Test
schedule, Test automation tools: Rational Robot (Functional & Performance test),
OpenSTA (Open source), Witir (Open source)

Công c ki m th v (Unit Testing): JUnit, Findbugs, PMD, Checkstyle,


EclEmma, Dbunit, StrungTestCase for JUnit, Emma, MockObjects, JunitEE, NUnit,
NUnitAsp, NUnit addin for Visual Studio.Net, NunitForms, csUnit, NCover, VSNUnit,
dotUnit, .NETUnit, ASPUnit.

Công c ki m th ch c (Functional Testing): Software Testing


Automation Framework (STAF) , soapui, Linux Test Project, jWebUnit, Abbot Java
GUI Test Framework, Software Automation Framework Support, Jameleon,
WebInject, Marathon, Solex.

Công c ki m hi u (Performance Testing): OpenSTA, Grinder, TPTEST,


Database Opensource Test Suite, Sipp, WebLOAD, OpenWebLoad, Hammerhead 2
- Web Testing Tool, Dieseltest, DBMonster

C c bi u m u (Template) trong ki m th :
187
A. Master Test Plan Outline

Revision History

DATE REV AUTHOR DESCRIPTION

Test Plan Identifier

1. Test plan short name

2. Version/Revision Identifier

3. Author and contact information

References

<List of documents that support this test plan>

Introduction

1. Objectives

2. Resource

3. Scope

4. Testing Strategies

5. Other items
188
Product Risk Issues

Issues critical to product success including reasons for criticality

Critical areas (possibly including)

Essential functions

Reliability

Usability

Safety

Security

Privacy

Failure impact risks (covering)

Enterprise

Operations

Fault likelihood risks

General Risk assumptions

Features to be tested

<List of the features to be tested and levels of risk>

- Categories of test objectives

Functions

External interfaces

Constraints

States

Data conditions

Scenarios

Combinations of attributes

- Combinations of objectives

- Excluded features
189
Features not to be tested

<List of the features NOT to be tested and reasons>

Approach

1. Levels of testing including environments and responsible parties

2. Major evaluation activities, techniques, and tools

3. Reuse of test-ware descriptions and/or implementations

4. Data sources and extract & validation techniques

5. Result recording & checking methods

6. Test metrics

7. Tracing requirements

8. Relationship of testing to development activities

9. Communication and coordination policies and procedures

10. Missing test guidelines and Test Configuration Management procedures

11. Special requirement

12. Constrain

Termination Criteria and Resumption Requirements

1. Resumption requirements

2. Regression Testing Policy

3. Completion criteria

4. Suspension criteria

5. Pass/fail criteria

Test Deliverables

1. Test Descriptions.

2. Test-ware implementation

3. Test Reports
190
DELIVERABLE ASSIGNED TO COMPLETION DATE
Develop Test cases
Develop Automated test suites
Requirements Validation Matrix

Environmental Needs

1. Hardware

2. Software

3. Security

4. Tools

5. Publications

Staffing and Training needs

1. Skill requirements

Training on the product

Training for any test tools to be used

2. Staffing pattern

3. Training needs and options

Responsibilities

RESPONSIBLE PERSON RESPONSIBILITIES


Project Manager
Developer Lead
Test Lead
Developers
Testers

Schedule

1. Availability and deadline constraints

2. Key activities and major milestones

3. Task estimates

4. References to project schedule


191
Planning Risks and Contingencies

1. Product risk / plan element correlation

2. High-risk planning assumptions

3. Strategy options

Approvals

Name (Print) Signature Date


1.

2.

3.

Glossary

Key terms, Definitions and Acronyms

Appendix

Test Result

B. Test Requirement List


192
C. Test Case List

D. Daily Report Template


193
E. Daily Report - Day
194
TÀI THAM
[1]ThS Thanh Trúc (2018). HUTECH

[2]Paul Hamill (2004) Unit Test Frameworks

[3] Bình (2010) và


.

[4]Paul Ammann, Jeff Offutt (2008): Introduction to Software Testing, Cambridge


University Press.

[5]Hung Q.Nguyen (2003): Testing Application on the Web: Test planning for mobile
and Internet-based system, Wiley publishing

[6]LogiGear (2009): Basic Software Testing Skills, LogiGear Corporation..

[7]Glenford J. Myers (2004): The art of Software Testing, John Wiley & Son

You might also like