of 23 /23
Nhập môn BDD Waterfall Agile TDD BDD Đào Thanh Ngọc

Nhập môn BDD

Embed Size (px)

Text of Nhập môn BDD

  • 1. Nhp mn BDD
    • Waterfall
  • Agile
  • TDD
  • BDD

o Thanh Ngc 2.

  • Q: Ti sao con g bng qua ng? qun ti sao lp trnh vin li vit chng trnh? A: tho mn yu cu ca khch hng.
  • Q: Chng trnh cn c test, test lm g? A: kim tra xem m do lp trnh vin to ra c li hay khng.
  • Q: Lp trnh vin cc bc ch c ci quanh co. Sao khng kim tra thng xem chng trnh c tho mn nhu cu ca khch hng hay khng? A: , ci gi l BDD!

3. Phng php pht trin phn mm

  • thanh ton project, qui trnh lun gm 5 phn: phn tch yu cu, thit k, vit chng trnh, kim tra, bo tr
  • Khng nht thit phi theo ng th t + 1 phn c th i qua nhiu ln
  • Ty cch sp xp cc phn m cho ra phng php pht trin phn mm khc nhau ( cng l i b, nhng sp xp th t bc i theo kiu on D th thnh ra Bt B?)

4. Waterfall

  • L phng php pht trin phn mm c truyn, h sch (sch lc default, khng ngh ra cch g khc th s dng sch ny)
  • L cch nh tng lc kiu con nh giu, dn hng ngang m cn qut ton b chin trng

www.relativitycorp.com 5. Agile

  • L cch nh du kch, tit kim tng vin n, tnh ton tng cn lng thc
  • Thanh ton tng phn nh ca chin trng
  • Thanh ton 1 ln cha tha mn yu cu th lp li ->vng xon c
  • Vng xon c ca Mc: s vt hin tng pht trin theo hnh xon c, n mt lc no s quay li hnh thc c nhng cp cao hn

6. google: xon c Mc

  • Dn nhu sau thi gian hin gan v bao t cho ru Ty, bia lon th nay tm v ru nu, ru ngm, ru dn tc (tc k, b ci, chui ht...)
  • Gi m n b nhng dm, g quay, vt lut, c hp th tm thng qu. Tr v chi li d chin bt, ung da, g n my, c ko nng, c lc nng trui
  • i du lch th chn ch Vng Tu Lt gi ch khoi v qu tt a bt c, hun chut ng, tm sng hay hi tri cy

7. Agile www.woods-info.co.jp 8. Agile www.rallydev.com 9. Waterfall VS Agile

  • Cn ang tranh lun: project ln ( th no l ln?) nn dng waterfall, nh nn dng agile?
  • Watefall: bn cht l tnh, kh p ng thay i yu cu ca khch (C project no m khch khng i ? Project cng ln th cng k hp ng sao cho khng cho khch i min ph!), ly tht ngi
  • Agile: v bn cht ng nn khch thch th chiu, ch cn dng team nh nhng gm tinh binh (senior developer) c responsetiveness (phn ng vi phn hi t khch) cao

10. Waterfall VS Agile behaviour-driven.org 11. Li ch ca Agile

  • Early Return on Investment: thy thnh qu ca project ngay do c vi ngy li c small release, gim thiu c risk v nu c g sai st th sa c sm
  • Increased Control: o c ngay mc hiu qu ca cng vic, thy tin trin chm th chuyn hng ngay
  • Responsiveness to Change: team c trang b l thuyt v cng c i ph vi thay i

12. Agile v offshore

  • Agile cung cp nhiu mo (practices)
  • Mo kh dng cho offshore: khch v lp trnh vin ngi chung phng ( gii quyt phn no bng BSE)
  • Mo dng c: TDD/BDD, dng nhm nh tinh binh, small automated integrated release...

13. Agile v test

  • Test t ng l yu t sng cn ca agile, trong vng xon c lun phi c test!
  • L do: c th t tin sa m chng trnh, m bo sau khi thay i nu pht sinh bug th pht hin v sa c ngay, phi c test t ng!

14. TDD, BDD l g? Cng sn Cuba Trung Quc Vit Nam ... Agile TDD (Test Driven Development) BDD (Behavior Driven Development) ... tng (tp hp rt nhiu mo vt) Thc hin c th (thc hin tp hp con cc mo vt) 15. TDD = BDD

  • Mt cch cht ch: 2 ci l 1
  • L design hn l test, test ch l h qu (hiu lm thng gp: TDD = BDD = test first)
  • Design process
  • Requirements Capturing
  • Behavior Specification
  • Regression Test Suite

16. TDD = BDD

  • (1) i vi tng phn ca chng trnh, thay v bp ci coding chi tit ngay, to khung trc (v d: ch vit tn hm, thn hm b trng)
  • (2) Vit test cho khung ny mt cch kh y xong
  • (3) Ri mi p dn dn m vo khung sao cho pass ln lt tt c test
  • ->(1) v (2) c tc dng phn tch yu cu v thit k chng trnh

17. TDD VS BDD

  • Mt cch thiu cht ch:
  • BDD = functional test = interface/specification test = li tt c yu cu ca khch ra th nghim
  • TDD = unit test = implementation test = li tt c method ca tt c class (= unit) ra th nghim

Unit test Functional test 18. TDD VS BDD

  • BDD l cch din t d hiu hn TDD (la li m ni cho va lng nhau): TDD = assert, BDD = should
  • TDD = vit test test m chy c ng khng, BDD = vit test (1) nu ra requirement v (2) test m c thc hin ng requirement khng
  • (2)
    • TDD: nhn test thy code ( LTV t sng)
    • BDD: nhn test thy yu cu (tha mn khch)
    • TDD = verification, BDD = specification

19. Vn ca TDD

  • Lp trnh vin cn nhn:
    • C cht xu m, vit test lm quch g?
  • Cp qun l cn nhn:
    • Vit trc thnh ra vit tha, ph thi gian?
  • ->Ngun gc vn :
  • D gy nhm ln gia test first v test driven, khng ni r mc ch TDD l design hn l test
  • Thiu tnh ch dn (intuitive, D th 1)

20. Vn ca TDD

  • Tnh ch dn:
  • Bt u t u?
  • Cn test ci g?
  • Khng cn test ci g?
  • Trong 1 test, cn test nhng g?
  • t tn test l g?

21. BDD gii quyt vn ca TDD

  • Lm r mc ch: TDD/BDD = spec first (design, documentation), ch khng phi test first (verification)
  • Test = specification = kt qu ca phn tch yu cu, nh ngha chng trnh phi p ng nhng yu cu g ~ thit k
  • Bao gi cng phi phn tch nhu cu trc -> BDD n mt cch t nhin ngay t giai on u ca project
  • C tnh ch dn (hc thc hnh c th s r)

22. Li ch ca BDD

  • Cc li ch ca Agile
  • 1 pht 2 chim (requirement specification + code verification): c spec r rng th vit m c ngay, m vit xong khi test (v vit xong test!)
  • Nng theo yu cu ca khch vit test, nn khng test tha (nh TDD) hay thiu
  • Qui trnh pht trin ( D th 2, level ca cng ty xc nh bi ci ny) hnh thnh mt cch t nhin, xut pht t nhu cu ( D th 1)

23. Li ch ca BDD Business Q: Are we building the right product? A: Executable specifications Technology Q: Are we building the product right? A: Automated tests