2. JavaScript uygulamam脹 neden test etmeliyim?
Dier dillerle yazd脹脹n脹z uygulamalar脹 neden test ediyorsunuz?
JavaScript, bir web 端r端n端n端n, son kullan脹c脹n脹n g旦rd端端 en 旦nemli b旦l端mlerinden biridir.
Yap脹lacak en ufak hata, sitenin tamamiyle 巽al脹mamas脹na sebep olabilir.
Herhangi bir yerde console.log kullanmak yerine, bunun testini yaz脹n
Dolay脹s脹yla, JavaScript de en az dier diller kadar sayg脹y脹 hak ediyor.
3. TDD nedir?
Yeilden 旦nce k脹rm脹z脹y脹 g旦rmek
- Herhangi bir kod yazmadan, 旦nce testini yaz脹p,
bu testin baar脹s脹z olduunu(k脹rm脹z脹) g旦rmek
m
K脹rm脹z脹y脹 yeile 巽evirmeye 巽al脹mak
- Baar脹s脹z olan testi, baar脹l脹 yapacak minimum
kodu yazarak, testi baar脹l脹(yeil) hale getirmek
Ama her zaman yeili de k脹rm脹z脹 yapabilecek durumlar yaratmaya 巽al脹mak
- Daha sonra, baar脹l脹 testi baar脹s脹z yapacak yeni testler ekleyerek kodu deitirmek
En sonda mavide huzur bulmakt脹r
- Bu s脹rada kodun kalitesini 巽al脹an yap脹y脹 bozmad脹脹ndan emin olarak artt脹rmak (Refactoring)
4. Neden TDD?
Sizi daha iyi bir tasar脹ma zorlar
- Daha mod端ler
- Daha tekrar-kullan脹labilir (reusable)
- Daha test edilebilir
Haz脹r dok端mantasyon!
- Testler, en g端zel dok端mantasyonlard脹r
Abi ben d端zg端n yazd脹m, Mehmet'in yazd脹脹 kod patlatm脹
- Regression test hayat kurtar脹r
5. TDD ne deildir?
Boa harcanan zaman
- Eer 端r端n端 gelitirmeye devam edecekseniz, o zaman脹n 巽ok daha fazlas脹n脹
kodun bak脹m脹 i巽in harcamak zorunda kalabilirsiniz
Daha 旦nce yaz脹lm脹 kodu, test eder
- Hen端z yaz脹lmam脹 kodun testini i巽erir. Kodun testi deil, testin kodu vard脹r
Her soruna 巽旦z端md端r
- Testler de yanl脹/eksik olabilir. Kodda 巽脹kan bir bug asl脹nda yanl脹/eksik bir testtir
6. BDD nedir?
TDD yaz脹l脹mc脹 g旦z端nden test iken, BDD kullan脹c脹 g旦z端nden test demektir
- BDD :Kullan脹c脹 siteye girince Hogeldiniz mesaj kutusu a巽脹ls脹n
- TDD: DomReady event'i trigger edildiinde,
app.showWelcomeMessage() 巽a脹r脹ls脹n
S旦z dizimi (syntax) daha insanidir. m
- We write the specs in English, BDD - Beatless 2012
- http://www.youtube.com/watch?v=pvJi1E730HA
TDD'nin evrim ge巽irmii falan deildir, TDD'nin ta kendisidir
- Google.com TDD done right
7. Jasmine BDD
Taray脹c脹da 巽al脹abilir, komut sat脹r脹nda bir eyler yapman脹z gerekmez.
Dolay脹s脹yla kolayd脹r
Ama yine de komut sat脹r脹ndan bir ey yapmak isterseniz qasmine var ;)
DOM'a ve baka bir framework'e ba脹ml脹l脹脹 yoktur
Ruby'nin Rspec'lerine 巽ok benzer bir s旦z dizimi vard脹r
Sadece web i巽in deil, JavaScript'in 巽al脹t脹脹 neredeyse her yerde kullan脹labilir
21. qasmine
Tart mutfa脹nda, el demeden haz脹rlanm脹t脹r
Jasmine spec'lerini komut sat脹r脹ndan 巽al脹t脹rabilen, bir Qt C++ uygulamas脹
Continious integration ve git hook'lar脹 i巽in haz脹rland脹
http://github.com/tart/qasmine
23. Talk is cheap, show me the code
Hoppity Hop! @ Facebook Puzzles
http://www.facebook.com/careers/puzzles.php?puzzle_id=7
bit.ly/PX6hu8
24. Web eitimi sadece 端lkemizde deil, d端nyan脹n 巽ou yerinde 巽ok k旦t端.
W3, bunun i巽in Web Education Community'yi kurdu
http://www.w3.org/community/webed/
Eitim d旦k端manlar脹, 端niversiteler ile ilikiler vs.
T端rkiye topluluu da var, 巽eviri bekleyen bir 巽ok belge var.
Bekleriz ;)