Unit Testing & Test Driven Development

1,776 views
1,696 views

Published on

A presentation of mine at universtiy...

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,776
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
93
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Unit Testing & Test Driven Development

  1. 1. by Ersan BİLİK
  2. 2. unit : smallest testable part of  an application an individual program   a function  a procedure  a method..  depends on your viewpoint !
  3. 3. test: a means of determining the presence, quality or  truth of something determining “the unit” works as it is promised to?   determining the quality of “the unit” ?  determining the truth about “the unit” ?
  4. 4. Unit Testing : a procedure used to validate that  individual units of source code are working properly. unit testing itself, is a procedure  unit testing applies to individual units  unit tests build-on to source code   to ensure source code is working properly
  5. 5. Unit testing is a white  box approach in testing activity usually, it is  integrated with implementation phase but also, it depends on your software development life cycle..
  6. 6. PROS CONS isolation of units go to definition: it   refactoring code applies to individual  units, therefore it can simplifies integration  not guaranty the overall documentation  system will work ! seperation of interface  from implementation it only shows the  presence of errors, not a good habit: motivator  for decoupled, cohesive absence of errors.. code bodies, refactored with design patterns..
  7. 7. Manually..  step by step instructional document..  Automated tools  frameworks are available..  usually called xUnit frameworks.. 
  8. 8. we will investigate test driven development  methodology with nUnit framework based on Microsoft .NET
  9. 9. an approach for software development  actually, itself is not a lifecycle model, but an  approach for implementation phase for agile software lifecycles.. it is a bottom-up approach..  think: write tests first, then code necessary  instructions to pass your tests..
  10. 10. yes, first write a test case.  then build it.. it will fail because no code  written to pass the test implement your code as long as test case is  passed.. and voila..! YAGNI : you aint gonna need it. So,  you code as much as you need.. then think about it, how to do it better ? 
  11. 11. is the code satisfies my requirements ?  lets assume requirements sais: if a customer  wants to transfer money, minimum balance for the customer should be 10.00$ so, lets continue.. 
  12. 12. mock objects and their usage in unit testing.. 
  13. 13. Check out Behaviour  Driven Development Watch video of Dave  Astels ( co-author of “A  practical guide to eXtreme Programming” and author of award winning test-driven development: a practical guide)
  14. 14. any questions or comments ? 

×