Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The Testing Strategy   Domenico Musto     2012 October
Who am I?25/10/12     www.agiletour.com
About me25/10/12    www.agiletour.com
Not about me25/10/12      www.agiletour.com
What do I do?                        C#           .NET                       Team leading                        Web      ...
Today we talk about..• Differences between types of tests• Tests and developers• Tests and QA25/10/12           www.agilet...
..we dont talk about..• Testing frameworks• Libraries25/10/12           www.agiletour.com
The Agile Testing Quadrant25/10/12         www.agiletour.com
Technology facing25/10/12        www.agiletour.com
Types of tests•   Unit•   Functional•   Load•   Soak25/10/12             www.agiletour.com
Unit tests•   They test units of code in isolation•   Interaction between components•   Describe the behaviour•   Drive th...
Be careful• Test just public interfaces• Do not abuse of mocking25/10/12            www.agiletour.com
Adding a new class is not the trigger for a new test.The trigger is the implementation of a new requirement.25/10/12      ...
Functional tests• They test the interaction with components  outside the context of our application• They assure integrati...
public class When_getting_an_object_from_the_db{    static int _objectId;    static DbWrapper _sut;    static object _obje...
public class When_storing_an_object_in_the_db{    static int _objectId;    static DbWrapper _sut;    static object _object...
Be careful• Do not mix tests• Use context builders for data fixture25/10/12            www.agiletour.com
Load tests•   Feedback on performance•   Feedback on volume limit•   Complicated to write•   Slow execution25/10/12       ...
Soak tests• Discover technologic issues• Slow execution25/10/12          www.agiletour.com
Business facing25/10/12       www.agiletour.com
Types of tests• End to end• Integration• Exploratory25/10/12            www.agiletour.com
End to end tests•   They test the whole scope of a feature•   They are acceptance tests•   Understandable from non-techinc...
They are not (only) interface tests.25/10/12               www.agiletour.com
Integration tests      when the end to end arent brave enough• They test pieces of the application• They test the integrat...
Exploratory tests• Manual• Look for feature limit25/10/12            www.agiletour.com
Lets implement a feature25/10/12          www.agiletour.com
The actors of the development process• Developers• QA• Customer25/10/12                 www.agiletour.com
The story   As a user of huddle I would like to add comments to     tasks to collaborate better with my colleagues25/10/12...
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
df25/10/12   www.agiletour.com
The feature is ready25/10/12        www.agiletour.com
25/10/12   www.agiletour.com
What about the tests ?!?!?!25/10/12            www.agiletour.com
25/10/12   www.agiletour.com
When do I need to do end to end tests ?25/10/12                  www.agiletour.com
Test plan25/10/12    www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
Test plan•   Acceptance tests•   Functional tests•   Integration tests•   Unit tests25/10/12                www.agiletour....
25/10/12   www.agiletour.com
Trade-off25/10/12    www.agiletour.com
Quality attributes•   Availability•   Modifiability•   Performance•   Security• Testability• Usability25/10/12            ...
The test pyramid25/10/12        www.agiletour.com
QA Team25/10/12    www.agiletour.com
QA Team25/10/12    www.agiletour.com
QAs are part of the dev team25/10/12          www.agiletour.com
The reputation of the tests, of the build server and of             the development environment25/10/12                www...
The deployment25/10/12       www.agiletour.com
25/10/12   www.agiletour.com
Thanks. Q&A           @mimmozzo                 domenico.musto@gmail.com25/10/12               www.agiletour.com
The Testing Strategy
The Testing Strategy
The Testing Strategy
Upcoming SlideShare
Loading in …5
×

The Testing Strategy

802 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The Testing Strategy

  1. 1. The Testing Strategy Domenico Musto 2012 October
  2. 2. Who am I?25/10/12 www.agiletour.com
  3. 3. About me25/10/12 www.agiletour.com
  4. 4. Not about me25/10/12 www.agiletour.com
  5. 5. What do I do? C# .NET Team leading Web REST Ruby Automation Testing Agile @mimmozzo domenico.musto@gmail.com25/10/12 www.agiletour.com
  6. 6. Today we talk about..• Differences between types of tests• Tests and developers• Tests and QA25/10/12 www.agiletour.com
  7. 7. ..we dont talk about..• Testing frameworks• Libraries25/10/12 www.agiletour.com
  8. 8. The Agile Testing Quadrant25/10/12 www.agiletour.com
  9. 9. Technology facing25/10/12 www.agiletour.com
  10. 10. Types of tests• Unit• Functional• Load• Soak25/10/12 www.agiletour.com
  11. 11. Unit tests• They test units of code in isolation• Interaction between components• Describe the behaviour• Drive the design• Fast execution25/10/12 www.agiletour.com
  12. 12. Be careful• Test just public interfaces• Do not abuse of mocking25/10/12 www.agiletour.com
  13. 13. Adding a new class is not the trigger for a new test.The trigger is the implementation of a new requirement.25/10/12 www.agiletour.com
  14. 14. Functional tests• They test the interaction with components outside the context of our application• They assure integration• They might be slow25/10/12 www.agiletour.com
  15. 15. public class When_getting_an_object_from_the_db{ static int _objectId; static DbWrapper _sut; static object _object; Establish that_there_is_an_object = ()=> { _objectId = 100; ManuallyAddAnObjectInTheDb(_objectId); } Because we_get_the_object = ()=> _object = _sut.Get(_objectId); It should_get_the_object = ()=> _object.ShouldNotBeNull();}25/10/12 www.agiletour.com
  16. 16. public class When_storing_an_object_in_the_db{ static int _objectId; static DbWrapper _sut; static object _object; Establish we_have_an_object_to_save = ()=> { _objectId = 100; } Because we_save_the_object = ()=> _object = _sut.Save(_objectId); It should_store_the_object = ()=> _sut.Get(_objectId).ShouldNotBeNull();}25/10/12 www.agiletour.com
  17. 17. Be careful• Do not mix tests• Use context builders for data fixture25/10/12 www.agiletour.com
  18. 18. Load tests• Feedback on performance• Feedback on volume limit• Complicated to write• Slow execution25/10/12 www.agiletour.com
  19. 19. Soak tests• Discover technologic issues• Slow execution25/10/12 www.agiletour.com
  20. 20. Business facing25/10/12 www.agiletour.com
  21. 21. Types of tests• End to end• Integration• Exploratory25/10/12 www.agiletour.com
  22. 22. End to end tests• They test the whole scope of a feature• They are acceptance tests• Understandable from non-techincal persons• Slow execution25/10/12 www.agiletour.com
  23. 23. They are not (only) interface tests.25/10/12 www.agiletour.com
  24. 24. Integration tests when the end to end arent brave enough• They test pieces of the application• They test the integration• Slow execution25/10/12 www.agiletour.com
  25. 25. Exploratory tests• Manual• Look for feature limit25/10/12 www.agiletour.com
  26. 26. Lets implement a feature25/10/12 www.agiletour.com
  27. 27. The actors of the development process• Developers• QA• Customer25/10/12 www.agiletour.com
  28. 28. The story As a user of huddle I would like to add comments to tasks to collaborate better with my colleagues25/10/12 www.agiletour.com
  29. 29. 25/10/12 www.agiletour.com
  30. 30. 25/10/12 www.agiletour.com
  31. 31. 25/10/12 www.agiletour.com
  32. 32. 25/10/12 www.agiletour.com
  33. 33. 25/10/12 www.agiletour.com
  34. 34. df25/10/12 www.agiletour.com
  35. 35. The feature is ready25/10/12 www.agiletour.com
  36. 36. 25/10/12 www.agiletour.com
  37. 37. What about the tests ?!?!?!25/10/12 www.agiletour.com
  38. 38. 25/10/12 www.agiletour.com
  39. 39. When do I need to do end to end tests ?25/10/12 www.agiletour.com
  40. 40. Test plan25/10/12 www.agiletour.com
  41. 41. 25/10/12 www.agiletour.com
  42. 42. 25/10/12 www.agiletour.com
  43. 43. Test plan• Acceptance tests• Functional tests• Integration tests• Unit tests25/10/12 www.agiletour.com
  44. 44. 25/10/12 www.agiletour.com
  45. 45. Trade-off25/10/12 www.agiletour.com
  46. 46. Quality attributes• Availability• Modifiability• Performance• Security• Testability• Usability25/10/12 www.agiletour.com
  47. 47. The test pyramid25/10/12 www.agiletour.com
  48. 48. QA Team25/10/12 www.agiletour.com
  49. 49. QA Team25/10/12 www.agiletour.com
  50. 50. QAs are part of the dev team25/10/12 www.agiletour.com
  51. 51. The reputation of the tests, of the build server and of the development environment25/10/12 www.agiletour.com
  52. 52. The deployment25/10/12 www.agiletour.com
  53. 53. 25/10/12 www.agiletour.com
  54. 54. Thanks. Q&A @mimmozzo domenico.musto@gmail.com25/10/12 www.agiletour.com

×