Más contenido relacionado La actualidad más candente (8) Similar a Specifications for Enterprise Testing (20) Specifications for Enterprise Testing2. 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. 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. 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.
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. 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.
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. Specifications – Key Process Patterns
Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
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. Key Process Patterns - Collaboration
Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
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. Key Process Patterns - Refining
Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
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. Key Process Patterns - Refining
Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
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. Key Process Patterns - Automation
Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
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. 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.
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. 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.
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.
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.
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.
Notas del editor 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 ;-)