Your SlideShare is downloading. ×
AgileTour Toulouse 2012 : testing strategy
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

AgileTour Toulouse 2012 : testing strategy

237

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
237
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. The Testing Strategy Domenico Musto 2012 October
  • 2. Who am I?25/10/12 www.agiletour.com
  • 3. About me25/10/12 www.agiletour.com
  • 4. Not about me25/10/12 www.agiletour.com
  • 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. Today we talk about..• Differences between types of tests• Tests and developers• Tests and QA25/10/12 www.agiletour.com
  • 7. ..we dont talk about..• Testing frameworks• Libraries25/10/12 www.agiletour.com
  • 8. The Agile Testing Quadrant25/10/12 www.agiletour.com
  • 9. Technology facing25/10/12 www.agiletour.com
  • 10. Types of tests• Unit• Functional• Load• Soak25/10/12 www.agiletour.com
  • 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. Be careful• Test just public interfaces• Do not abuse of mocking25/10/12 www.agiletour.com
  • 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. 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. 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. 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. Be careful• Do not mix tests• Use context builders for data fixture25/10/12 www.agiletour.com
  • 18. Load tests• Feedback on performance• Feedback on volume limit• Complicated to write• Slow execution25/10/12 www.agiletour.com
  • 19. Soak tests• Discover technologic issues• Slow execution25/10/12 www.agiletour.com
  • 20. Business facing25/10/12 www.agiletour.com
  • 21. Types of tests• End to end• Integration• Exploratory25/10/12 www.agiletour.com
  • 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. They are not (only) interface tests.25/10/12 www.agiletour.com
  • 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. Exploratory tests• Manual• Look for feature limit25/10/12 www.agiletour.com
  • 26. Lets implement a feature25/10/12 www.agiletour.com
  • 27. The actors of the development process• Developers• QA• Customer25/10/12 www.agiletour.com
  • 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. 25/10/12 www.agiletour.com
  • 30. 25/10/12 www.agiletour.com
  • 31. 25/10/12 www.agiletour.com
  • 32. 25/10/12 www.agiletour.com
  • 33. 25/10/12 www.agiletour.com
  • 34. df25/10/12 www.agiletour.com
  • 35. The feature is ready25/10/12 www.agiletour.com
  • 36. 25/10/12 www.agiletour.com
  • 37. What about the tests ?!?!?!25/10/12 www.agiletour.com
  • 38. 25/10/12 www.agiletour.com
  • 39. When do I need to do end to end tests ?25/10/12 www.agiletour.com
  • 40. Test plan25/10/12 www.agiletour.com
  • 41. 25/10/12 www.agiletour.com
  • 42. 25/10/12 www.agiletour.com
  • 43. Test plan• Acceptance tests• Functional tests• Integration tests• Unit tests25/10/12 www.agiletour.com
  • 44. 25/10/12 www.agiletour.com
  • 45. Trade-off25/10/12 www.agiletour.com
  • 46. Quality attributes• Availability• Modifiability• Performance• Security• Testability• Usability25/10/12 www.agiletour.com
  • 47. The test pyramid25/10/12 www.agiletour.com
  • 48. QA Team25/10/12 www.agiletour.com
  • 49. QA Team25/10/12 www.agiletour.com
  • 50. QAs are part of the dev team25/10/12 www.agiletour.com
  • 51. The reputation of the tests, of the build server and of the development environment25/10/12 www.agiletour.com
  • 52. The deployment25/10/12 www.agiletour.com
  • 53. 25/10/12 www.agiletour.com
  • 54. Thanks. Q&A @mimmozzo domenico.musto@gmail.com25/10/12 www.agiletour.com

×