December 2011

Specifications For Enterprise Testing

Presenters
Sathyan Sethumadhavan & Shalabh
Varma
Agenda
Where do we spend more time
A new approach for collaboration
Implement Specifications
Gauge Progress
Q&A
Private an...
Do you experience any of this
Defects Leakage Missing Requirements
Test and
Requirements
documents becomes
stale

Frequent...
Do you spend more time here
Creating test
Cases/Steps

Requirements
document

Fix production
Defects
Traceability
Matrix

...
Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Specifications Driven Development

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
EXAMPLES

Can
Become

TESTS

Elaborate

Verify

REQUIREMENTS

Private and Confidential. © 2011 ThoughtWorks, Ltd. All righ...
Specifications – Focus Area
Requirements
document

Specifications
for both humans
and machines

Traceability
Matrix

Fix
p...
A Good Specification
Examples should be complete
Precise and Testable
True Specification – Not a script
About business fun...
A Good Specification

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
A Good Specification

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Benefits
Distributed teams - Necessary artifacts and re-use artifacts
One-time specification – Referred by stakeholders an...
Specifications – Key Process Patterns

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Key Process Patterns

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Key Process Patterns - Goals
Understand customer’s
business requirements
Understand the “Why” and
“Who”
Understand the int...
Key Process Patterns - Collaboration

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Key Process Patterns - Examples
Requirements - Don’t provide full and
unambiguous context
Don’t have Yes/No answers in you...
Key Process Patterns - Refining

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Key Process Patterns - Refining
Don’t create workflow like descriptions
Don’t get trapped in user interface
details
Show a...
Key Process Patterns - Refining

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Key Process Patterns - Automation
Plan for automation upfront
Don’t delegate automation towards the
end
Avoid automating e...
Key Process Patterns - Automation

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Key Process Patterns - Validation
Fix the most annoying thing, fix it and
repeat
Simpler test doubles for external
systems...
Key Process Patterns – Living
Documentation
Don’t create long specifications
Avoid using technical concepts in tests
Base ...
Implementing Specifications

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Greenfield
Implement as part of the big
process change
Use TDD as a first step towards
Specifications
Follow the key proce...
Existing Projects
Start with automated tests
Don’t talk process or jargon words
Don’t make test automation end goal
Our Fo...
Gauge Progress

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Gauge Progress

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Take Away
Distributed teams - Necessary artifacts and re-use artifacts
One-time specification – Referred by stakeholders a...
Case Studies

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Case Studies

Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
Tools
Twist - http://studios.thoughtworks.com/twist-agile-testautomation/
Cucumber – http://cukes.info
Concordion – http:/...
Contact us

Sathyan Sethumadhavan
satnair@thoughtworks.com
Shalabh Varma
svarma@thoughtworks.com
References
a. Specification by example and Manning the specificationGojko Adzic
b. Projects implemented SDD in real-time

...
Upcoming SlideShare
Loading in...5
×

Specifications for Enterprise Testing

285

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

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

No notes for slide
  • Start with automated tests
    Collaboration between testers and developers
    More time spent on exploratory testing
    Don’t talk process or jargon words
    Show failing tests
    Don’t make test automation end goal
    Our Focus
    Collaboration and process-change
  • Don’t forget to update contact details ;-)
  • Specifications for Enterprise Testing

    1. 1. December 2011 Specifications For Enterprise Testing Presenters Sathyan Sethumadhavan & Shalabh Varma
    2. 2. Agenda Where do we spend more time A new approach for collaboration Implement Specifications Gauge Progress Q&A Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    3. 3. Do you experience any of this Defects Leakage Missing Requirements Test and Requirements documents becomes stale Frequent changes Breaks existing functionalities Long Regression Cycles Less confidence Existing test coverage Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved. Spends more time on defect management and triage
    4. 4. Do you spend more time here Creating test Cases/Steps Requirements document Fix production Defects Traceability Matrix Defect Management Creating test plan and strategy Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    5. 5. Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    6. 6. Specifications Driven Development Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    7. 7. EXAMPLES Can Become TESTS Elaborate Verify REQUIREMENTS Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    8. 8. Specifications – Focus Area Requirements document Specifications for both humans and machines Traceability Matrix Fix production defects Creating test cases Creating test plan and strategy Managing stale artifcats Tests as Documentation Defect management and analysis Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved. Specifying Collaborately Validating Frequently
    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 focused Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    10. 10. A Good Specification Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    11. 11. A Good Specification Private 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 availability Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    13. 13. Specifications – Key Process Patterns Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    14. 14. Key Process Patterns Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    15. 15. Key Process Patterns - Goals Understand customer’s business requirements Understand the “Why” and “Who” Understand the intent and value Understand the Output Team delivers complete feature Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    16. 16. Key Process Patterns - Collaboration Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    17. 17. Key Process Patterns - Examples Requirements - Don’t provide full and unambiguous context Don’t have Yes/No answers in your example Ask for alternate way for validation Avoid making up your own data Avoid temptation to explore all possibility Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    18. 18. Key Process Patterns - Refining Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    19. 19. Key Process Patterns - Refining Don’t create workflow like descriptions Don’t get trapped in user interface details Show and lets the user understand Refined Examples = Acceptance criteria for delivery Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    20. 20. Key Process Patterns - Refining Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    21. 21. Key Process Patterns - Automation Plan for automation upfront Don’t delegate automation towards the end Avoid automating existing manual scripts Automate along system boundaries with necessary context Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved. Automated Specification = Executable Specification
    22. 22. Key Process Patterns - Automation Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    23. 23. Key Process Patterns - Validation Fix the most annoying thing, fix it and repeat Simpler test doubles for external systems Isolated environment and fully automated deployments Look for ways for faster feedback Don’t just disable failing tests Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    24. 24. Key Process Patterns – Living Documentation Don’t create long specifications Avoid using technical concepts in tests Base specification on personas Evolve the ubiquitous language and use it consistently. Organize based on functional areas Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    25. 25. Implementing Specifications Private 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 patterns Private 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 processchange Executable specification in the same codebase Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    28. 28. Gauge Progress Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    29. 29. Gauge Progress Private 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 availability Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    31. 31. Case Studies Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    32. 32. Case Studies Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    33. 33. Tools Twist - http://studios.thoughtworks.com/twist-agile-testautomation/ 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.org Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    34. 34. Contact us Sathyan Sethumadhavan satnair@thoughtworks.com Shalabh Varma svarma@thoughtworks.com
    35. 35. References a. Specification by example and Manning the specificationGojko Adzic b. Projects implemented SDD in real-time Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×