Unit Test Nhom C

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

Unit Test

Nhm C
GVHD : Phm Nguyn Sn Tng

No Test, No Code

Thng Tin Nhm C


Nhm C1 Mail : lctrung50890@gmail.com Nhm C2 Mail : darkknightkhtn2008@gmail.com Nhm C3 Mail : tminh0209@gmail.com Nhm C4 Mail : hoanglinh2610@gmail.com Nhm C5
2

Ni Dung

Unit Test l g?
Nhng Li ch t UT Assert, Mock Object, TDD

Cng c cho Unit Test


Demo cng c

Unit Test l g?
UT l k thut kim nghim cc hot ng ca mi n v m ngun (unit of code) vi mt quy trnh tch bit vi quy trnh pht trin PM, gip pht hin sai st kp thi. UT l mt phn m ngun dng kim tra mt phn m ngun khc. UT l k thut quan trng trong Test Driven Development.

Unit Test l g?
Unit Test l phng php b sung cho cc phng php kim th khc, gip pht hin li t sm, ngay t tng thit k. (reviews code, walkthroughs) Unit Test c vit bi Developers. Test White Box, Black-Box trong qu trnh PTPM.
Cc Khi Nim: Unit of Code : Mi n v m ngun c th l individual program,

function, Procedure, class, methods


White-Box, Black-Box :

Unit Test l g?
Unit Test c 3 trng thi: Fail (trng thi li) Ignore (tm ngng thc hin) Pass (trng thi lm vic ng)

Thc hin UT ntn?


Mi UT u c tit k theo trnh t sau: Thit lp cc iu kin cn thit: khi to cc i tng xc nh ti nguyn cn thit, xy dng cc d liu gi... Triu gi cc phng thc cn kim tra. Kim tra s hot ng ng n ca cc phng thc. Dn dp ti nguyn sau khi kt thc kim tra.

How to write a Unit Test?


Thit lp cc iu kin cn thit khi to cc i tng, xc nh ti nguyn cn thit, xy dng Bc 1 cc d liu gi...

Bc 2

Triu gi cc Unit (methods, class )cn kim tra.

Bc 3

Kim tra s hot ng ng n ca cc phng thc.

Bc 4

Dn dp ti nguyn sau khi kt thc kim tra.

My Unit Test is good?


T ng kim tra trng thi (Pass/False/Ignore). y (Ph ht cc trng hp). Ti s dng c. Tnh c lp (very important). Theo chun code. Kh nng thc thi nhanh. n gin thc hin.

http://www.telerikwatch.com/2008_05_01_archive.html

Nhng Li ch t UT
m bo cht lng tng Unit trong phn mm. Pht hin li sm v chnh sa kp thi. Gim chi ph bo tr v kim th. D tch hp. Ti liu ha. Gip Thit K.

10

Assert, Mock Object, TDD


ASSERT
Assert, l mt macro c nh ngha trong assert.h, dng pht hin li ca phn mm trong qu trnh pht trin bng cch thc thi biu thc trong assert.

KL: chng ta dng assert() pht hin ra nhng bugs do chnh chng ta, nhng ngi lp trnh v v tnh m gy ra : gi mt hm vi nhng tham s khng hp l, s dng sai thut ton, v.v

11

Mock Object
Mock object: mt i tng o m phng cc tnh cht v hnh vi ging ht nh i tng thc, c dng kim tra tnh ng n ca mt n v chng trnh. n gin hn i tng thc nhng vn gi c s tng tc vi cc i tng khc.
m bo cng vic kim nghim khng b gin on . Gip tip cn hng i tng tt hn. Nh MO chng ta c th pht hin interface cn tch mt s lp. D dng cho vic kim nghim. Thay v gi cc i tng thc vn hnh nng n, chng ta c th gi cc MO n gin hn kim tra nhanh lin kt gia cc th tc, cng vic kim nghim c th tin hnh nhanh hn.
12

Test Driven Development


TDD l mt chin lc pht trin s dng k thut UT theo nguyn tc to ra cc cng on kim nghim trc khi xy dng m.

13

Test Driven Development


Li ch :
gip nh hnh tng thit k hn l kim nghim m chng trnh. Lp trnh i. nh hng cho nhm thit k vn dng tt cc phng php hng i tng.
Loosely-Coupled. Highly-Cohesive.

m cht lng v an ton, tp trung hn, gim phn mnh m v gim ri ro xy ra ngoi d kin.

14

Cng c cho Unit Test

15

No test, No Code

16

You might also like