agile testing mybtec
TRANSCRIPT
Agile Testing
Irina Popovici
Agenda
• Agile testing success factors• Waterfall against Agile• Scrum ceremonies• Scrum team• Agile Quality• Tester activities• Skills and benefits to be Agile tester
Agile Testing Success Factors
•Be cathedral builders not stone cutters
•Collective ownership
Testers are part of the team
•Drop the “Quality Police” mindset
•Focus on team goals & customer value
Agile testing mindset
•Automate tests wherever practical
•Need rapid feedback
Automate tests
•Balance against developer focus on technical implementation
•Use agile test matrix as guide
Look at the big picture
Agile Testing Success Factors•Ses
sion-based testing, agile test environments
•Informative workspace
Foundation of critical practices
•Collaborate with customers
•Collaborate within team
Collaborate
•Team retrospectives
•Personal training: reading, blogs, QAI, local QA groups
Continually improve
Requirements• Business
Requirements• Technical
Requirements
Analysis & Design• System
Specifications• Component
Specifications
Code• C#, C, C++ etc.• Big-Bang
Integration
Test• Validation Tests• Verification Tests
Deploy
Time
CostOf
Change
Traditional Approach - Waterfall
Time
Costof
Change
Agile Approach
Iteration 1
Requirements
Analysis & Design
Code
Test
Iteration 2
Requirements
Analysis & Design
Code
Test
Iteration 3
Requirements
Analysis & Design
Code
Test
Iteration 4
Requirements
Analysis & Design
Code
Test
Deploy
Agile Values
Individuals & Interactions
Processes & Tools
Customer Collaboration
Contract Negotiation
Working Software
Comprehensive Documentation
Responding to Change
Following a Plan
Scrum Team
ProductOwner
• Feature definition
• Release dates• Single decision
point• Accepts or
rejects work• ROI
ScrumMaster
• Removes obstacles
• Ensures Scrum process
• Facilitator
Team
• Self organizing• Cross-functional• Estimates• Collaborates• Attempts to build
a ‘potentially shippable product’ every sprint
Scrum Overview
MyBTEC Product Backlog
MyBTEC Sprint Board
Sprint Burndown chart
Retrospective meeting
Test Approach – The Agile WayProject Initiation Get an understanding of the project
Release Planning Participate in estimating storiesCreate Test Plan
Each Iteration Write and execute User Stories testsWrite and execute new functional test casesPair tests with other testers, developersAutomate new functional test casesRun automated regression test cases
System test / End Game Perform Load TestComplete Regression TestPerform UATPerform Mock DeployParticipate in Release Readiness
Release to Prod / Support Participate in Release to ProdParticipate in Retrospectives
Agile Quality – A Team DeliverableAgile Practice BenefitsWhole Team • Quality is not just a tester
responsibility• Quality is more than just testing• Testing role shifts to quality infusion
throughout project life cycle Continuous Integration
• Developers cannot check in code with failing tests
Continuous Testing
• Avoids long delays with “big-bang” testing after the “final build”• Bugs found closer to when they are
introduced making them easier to fix
Critiques ProductSu
ppor
ts D
evel
opm
ent
Brian Marick’s Agile Testing Matrix
Functional TestsCustomer TestsStory
Tests/Example
s
User Acceptance TestsExploratory Tests
Usability Tests
Unit TestsIntegration Tests
Performance TestsLoad Tests
Customer Facing
Technology Facing
Automate
Tools
Manual
Q1
Q2 Q3
Q4
Automate
Critiques ProductSu
ppor
ts D
evel
opm
ent
Tester Activities
Product
SpecificationsTest
IdeasTesting
UAT DesignExploratory Testing
Usability Testing
Test IdeasTest Development
Testing
Test ScriptsTesting
Test Analysi
s
Customer Facing
Technology Facing
Product Owner Collaboration
Customer Collaboration
Q1
Q2 Q3
Q4
IT Collaboration
DeveloperCollaboration
Agile Testing Iterations
PreviousIteration
Stories WorkingProduct
Q3, Q4:ProductTesting
CurrentIteration
Stories WorkingProduct
Q1:Testing &
Collaboration
NextIteration
Stories WorkingProduct
Q2:Planning &Test Ideas
Test Automation Pyramid
UI Tests
Acceptance Tests
Unit Tests
Manual Tests
Skills of Agile tester
• “Traditional” testing skills• Automation / development• Exploratory testing• Communication and collaboration– With developers in their language– With customers in their language
Benefits of being an agile tester
• Work together as one team towards a common goal
• Less risk of squeezed test period• Test all the time, not just at the end
Thank you for listening!
Any questions?