Specifications For Enterprise Testing

6,010 views

Published on

“Specification by Example” is a set of process patterns that helps to validate the application for faster feedback and minimal documentation. With Specification by Example, teams write just enough documenta- tion to facilitate change effectively in short iterations or in flow-based development.

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,010
On SlideShare
0
From Embeds
0
Number of Embeds
4,515
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Start with automated testsCollaboration between testers and developersMore time spent on exploratory testingDon’t talk process or jargon wordsShow failing testsDon’t make test automation end goalOur FocusCollaboration and process-change
  • Specifications For Enterprise Testing

    1. 1. December 2011 Specifications For Enterprise Testing PresentersSathyan Sethumadhavan & Shalabh Varma
    2. 2. Agenda Where do we spend more time A new approach for collaboration Implement Specifications Gauge Progress Q&APrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    3. 3. Do you experience any of this Defects Leakage - Missing Requirements Frequent changes - Test and Requirements Breaks existing documents becomes functionalities stale Long Regression Spends more time on Cycles defect management and triage Less confidence - Existing test coveragePrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    4. 4. Do you spend more time here Requirements document Creating test Fix production Cases/Steps Defects Traceability Matrix Defect Management Creating test plan and strategyPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    5. 5. Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    6. 6. Specifications Driven DevelopmentPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    7. 7. Can EXAMPLES Become TESTS Elaborate Verify REQUIREMENTSPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    8. 8. Specifications – Focus Area Creating test Requirements plan and strategy Specifications document for both humans Specifying Traceability and machines Collaborately Fix Matrix production defects Managing Creating stale artifcats test cases Tests as Validating Documentation Frequently Defect management and analysisPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    9. 9. A Good Specification Examples should be complete Precise and Testable True Specification – Not a script About business functionality – Not software design Self-explanatory and focusedPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    10. 10. A Good SpecificationPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    11. 11. A Good SpecificationPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    12. 12. Benefits Distributed teams - Necessary artifacts and re-use artifacts One-time specification – Referred by stakeholders and team Artifacts remain as living documents Focus on collaboration and communication gap More time on exploratory/business testing Time-to-market availabilityPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    13. 13. Specifications – Key Process PatternsPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    14. 14. Key Process Patterns Derive Scope Out Of Goals Living Specifying Documentation Collaborately Validating Illustration using Frequently examples Automate without Refining changing specification SpecificationPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    15. 15. Key Process Patterns - Goals Understand customer’s business requirements Derive Scope Out Of Goals Living Specifying Understand the “Why” and Documentation Collaborately “Who” Validating Frequently Illustration using examples Understand the intent and value Automate without Refining changing specification Specification Understand the Output Team delivers complete featurePrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    16. 16. Key Process Patterns - Collaboration Derive Scope Out Of Goals All Team Three Living Specifying Workshop Amigos Documentation Collaborately Validating Illustration using Frequently examples Ad-Hoc Write + Conversation Review Automate without Refining changing specification SpecificationPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    17. 17. Key Process Patterns - Examples Requirements - Don’t provide full and unambiguous context Derive Scope Out Of Goals Living Specifying Don’t have Yes/No answers in your Documentation Collaborately example Validating Frequently Illustration using examples Ask for alternate way for validation Automate without Refining Avoid making up your own data changing specification Specification Avoid temptation to explore all possibilityPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    18. 18. Key Process Patterns - RefiningPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    19. 19. Key Process Patterns - Refining Don’t create workflow like descriptions Derive Scope Out Of Goals Don’t get trapped in user interface Living Specifying details Documentation Collaborately Show and lets the user understand Validating Illustration using Frequently examples Refined Examples = Acceptance Automate without Refining criteria for delivery changing specification SpecificationPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    20. 20. Key Process Patterns - RefiningPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    21. 21. Key Process Patterns - Automation Plan for automation upfront Derive Scope Out Of Goals Don’t delegate automation towards the Living Specifying end Documentation Collaborately Avoid automating existing manual Validating Frequently Illustration using examples scripts Automate without changing Refining Automate along system boundaries with Specification specification necessary context Automated Specification = ExecutablePrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved. Specification
    22. 22. Key Process Patterns - AutomationPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    23. 23. Key Process Patterns - Validation Fix the most annoying thing, fix it and repeat Derive Scope Out Of Goals Living Specifying Simpler test doubles for external Documentation Collaborately systems Validating Frequently Illustration using examples Isolated environment and fully automated deployments Automate without Refining changing specification Specification Look for ways for faster feedback Don’t just disable failing testsPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    24. 24. Key Process Patterns – Living Documentation Don’t create long specifications Derive Scope Out Of Goals Avoid using technical concepts in tests Living Specifying Documentation Collaborately Base specification on personas Validating Illustration using Frequently examples Evolve the ubiquitous language and use it consistently. Automate without Refining changing specification Specification Organize based on functional areasPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    25. 25. Implementing SpecificationsPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    26. 26. Greenfield Implement as part of the big process change Use TDD as a first step towards Specifications Follow the key process patternsPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    27. 27. Existing Projects Start with automated tests Don’t talk process or jargon words Don’t make test automation end goal Our Focus - Collaboration and process- change Executable specification in the same codebasePrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    28. 28. Gauge ProgressPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    29. 29. Gauge ProgressPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    30. 30. Take Away Distributed teams - Necessary artifacts and re-use artifacts One-time specification – Referred by stakeholders and team Artifacts remain as living documents Focus on collaboration and communication gap More time on exploratory/business testing Time-to-market availabilityPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    31. 31. Case StudiesPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    32. 32. Case StudiesPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    33. 33. Tools Twist - http://studios.thoughtworks.com/twist-agile-test- automation/ Cucumber – http://cukes.info Concordion – http://www.concordion.org FitNesse - http://fitnesse.org Jbehave - http://jbehave.org GreenPepper: http://www.greenpeppersoftware.com. Robot Framework: http://www.robotframework.org SpecFlow: http://www.specflow.org TextTest: http://www.texttest.orgPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    34. 34. Contact us Sathyan Sethumadhavansatnair@thoughtworks.com Shalabh Varmasvarma@thoughtworks.com
    35. 35. References ① Specification by example and Manning the specification- Gojko Adzic ② Projects implemented SDD in real-timePrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.

    ×