The document discusses agile testing practices and principles. It emphasizes that agile testing focuses on quality over speed, with the whole team sharing responsibility for quality. Agile testers work collaboratively with developers to ensure software meets customer needs. Exploratory testing and test automation are recommended techniques. Continuous integration with Jenkins is presented as a way to get early feedback and detect defects.
4. Feel empowered with
Agile
It’s exciting to break the silos and be an equal team member
Agile is perceived to be all about “speed” …but
It’s more about quality (if not it should be questioned)
Everyone on the team owns Quality
Agile testers do more than perform testing tasks
Agile testers work to ensure their team delivers the quality their
customers need
Testers advocate for quality on behalf of customer while
assisting developers to deliver maximum value
5. Agile Testing Mindset
Result-oriented…craftsman-like…collaborative…eager to
learn…passionate about delivering business value
Learn to work with what you have at any given point of time
Example: UI may not be ready but a piece of API may be
Continually looking for ways the team can do better job of
producing high-quality software (not just testers)
New tools/ways
Self-improving
Willingness to take any new role / task
Design discussions
Suggestions for testability
Suggestions for usability
8. Basic Recipes
1. Iterate through quadrant rapidly working in small
increments
Write a test for some small chunk of a feature, write the
code, once the test is passing, perhaps automate more tests
for it, do exploratory testing on it, then add the next small
chunk and go through the whole process again.
2. There are no hard and fast rules about what goes in what
quadrant. Think through them as you do your
release, theme, and iteration planning, so your whole team
starts out by thinking about testing first.
3. Call out risk factors early and understand the types of
relevant tests
Examples: a major code refactoring might trigger a targeted
regression testing.
A major cross-cutting feature or re-achitecture might require
performance/load test
9. Acceptance Testing
Tests = details to a story
Tests => add value and clarify scope
Answer the question: If I tested for X,Y,Z would that make
the story accepted by a customer
The story does not get delivered unless the acceptance
tests pass => “Story is Done”
10. What to test ?…
“Don’t try to do more. Just do more of the right things.”
Start at broad overview level while providing just enough
details/data
The focus is on functionality and usability rather than
technical aspects (i.e. black box testing)
Composition of essential acceptance tests = Vital happy
paths + essential negative tests
11. Patterns and anti-patterns
Decoupled. Each test stands on its own, not depending
upon or being impacted by results of other tests.
A test must always truly exercise a system as close to
production as possible.
Think in terms of narrative, flow. Think in terms of
bounded contexts, and who the audience is for that
context
Don’t write ATs @ unit- testing level (no field validation
tests…)
Unit tests are implementation-specific, ATs are NOT
Avoid long multi-purpose tests
16. “ Jenkins - The whole
team’s domain
• “CI doesn’t get rid of bugs but makes it
dramatically easier to find and remove”
-Martin Fowler
• Integration is about communication
• Keeps the pulse of the latest
development
17. More of Jenkins
Automated Unit and Functional and even
Performance should be deployed through Jenkins
Notification is built-in
Visible to entire team
Reporting is built-in
The whole team needs to exploit CI for early defect
detection