testing in the agile world · −now agile teams are “cross-functional” and include testers 8....
TRANSCRIPT
![Page 1: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/1.jpg)
© 2008 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.
John Fodeh
Solution Architect, Global Testing Practice
Testing in the Agile World
![Page 2: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/2.jpg)
Outline
• The Agile principles
• The Challenges
• Agile Transition
2
![Page 3: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/3.jpg)
Iterations and Increments
• Cyclic software development process
• Cycles repeated until desired system capabilities have been reached and customer is satisfied
• Time-boxed rather than feature-boxed
Identify Customer
Requirements
Build/Revise Prototype
Validate with Customer
Prototyping
3
![Page 4: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/4.jpg)
Manifesto for Agile Software Development
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
•Individuals and interactions over processes and tools
•Working software over comprehensive documentation
•Customer collaboration over contract negotiation
•Responding to change over following a plan”
That is, while there is value in the items on the right, we value the items on the left more.”
Source: http://agilemanifesto.org/
4
![Page 5: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/5.jpg)
Agile Principles
• Individuals− Creative, collaborative and fun working environment
− Tight, self-organising teams
• Customer involvement− “User Stories”
− Acceptance testing
• Working software− Frequent delivery of deployable software
− Zero tolerance for defects
• Responsiveness to change
− Short iterations and releases
− Customer involvement
5
Agile
![Page 6: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/6.jpg)
Extreme Programming
• Customer is available
• Coding standards
• Test Driven Development
• Pair programming
• Continuous Integration
• Collective code ownership
• Optimization at the end
• All code must have unit tests
• All unit tests must pass
• When defect are found tests are created
• Acceptance tests are run often
• Test scores are published
• Simplicity
• System metaphor
• CRC* cards for design sessions
• Spike solutions to reduce risk
• No functionality is added early
• Refactor wherever possible
• User stories
• Release planning
• Frequent small releases
• Project Velocity is measured
• Project is divided into iterations
• Iteration planning for each iteration
• Daily Stand-up meetings
• People are moved around Planning Design
CodingTesting
XP Values
•Communication
•Simplicity
•Feedback
•Courage
•Respect
*Class, Responsibilities, and Collaboration6
![Page 7: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/7.jpg)
Scrum – a Lean Approach
Vision:Releases, Milestones,
Expected ROIProduct Backlog:
Prioritised requirements
Sprint
24 hr.
Sprint BacklogWorking increment
demonstrated
Scrum
7
![Page 8: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/8.jpg)
Agile Testing?
• The Agile methodology was created from a development point of view
−Focus was on unit testing
−Exploratory testing
−Role of testers was not clearly defined
• Organisations going Agile where soon to realise the importance of the tester mindset and skills
−Now Agile teams are “Cross-Functional” and include testers
8
![Page 9: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/9.jpg)
Why Testing in Needed• Validating User Stories
− Ensuring accept criteria exist and are testable
− Defect prevention
• Increasing productivity and effectiveness− Adapting best practice such as Test Driven Development
cannot replace testing skills
− Many developers lack the critical mindset and needed competencies
• Managing test assets− Tests become a supplement/replacement for detailed
requirements
− Tests need to be documented and managed in an auditable manner
• Running regressing testing − Manual and automated regression suites help uncover
undesired side-effects of changes9
![Page 10: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/10.jpg)
The Challenges of Agile
1012 November 2009
Dynamic requirements
and tests
Prioritizing requirements
and tests
Gaining control and
visibility
Composite applications
Lack of commonality
Distribution of teams
Requirements can develop across iterations meaning test plans need to also change
Knowing which requirements to execute first
How do we know who is doing what and when??
De-location of teams acts a catalyst for agile challenges
Teams have been used to working in silos
How do we test multi-layered applications
![Page 11: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/11.jpg)
Automation
• Test automation plays an important role in Agile Development
• Focus on Unit Testing, however higher level testing should also be taken into consideration
• Automation should be built with the agile principles in mind
−Flexible, modular, data-driven test scripts
11
![Page 12: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/12.jpg)
Agile Teams
• Team Size−Emphasis on small teams for effectiveness
−According to Scrum, the recommended team size is 7 (plus/minus 2) sharing the same location
• For bigger and distributed teams:−Divide the project into small independent projects
−Each project has freedom to create the solution to a specific problem or application
−Coordinate activities between the projects
• Coordination− Inter-team meetings (e.g. Scrum of Scrums meetings)
−Specialist roles (e.g. Architecture team)
12
![Page 13: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/13.jpg)
Agile in the Large
• Successful scalability of Agile projects requires a pragmatic management approach
− Visibility and Control
• Effective means for coordination and communication
− Collaboration tools
− Central repository for project assets
• Agility vs. process and documentation burden
− Traceability
− Audit trail
− Reusability
− Impact analysis
− Reporting and metrics13
![Page 14: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/14.jpg)
People Issues• Agile methodologies initially promoted
the “generalist” role
• However, the need for experts and specialists became evident− Handling bigger teams
− Career advancements
− “Hero cultures”
− Coaches (e.g. during the transition to agile phase)
• A successful approach is to use T-shaped competencies− Cross-functional teams
− Cross-skill set
− Testers also participate in on non-testing tasks14
Management
Testing skills
Domain Knowledge
Technical Expertise
![Page 15: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/15.jpg)
Conclusion
• Agile is about individuals, working software, customer collaboration, and responsiveness to change
• No silver bullet - maturity is required!
• Control, management and visibility is still important, especially with bigger teams
• Pragmatic approach towards processes and tooling
15
![Page 16: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/16.jpg)
References• Optimize Quality for Business Outcomes: A Practical
Approach to Software Testing− Andreas Golze, Mark Sarbiewski & Alain Zahm
− John Wiley & Sons, 2008, ISBN: 0470404663
• Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing − Rex Black
− John Wiley & Sons Inc, 2002, ISBN: 0471223980
• Agile Testing: A Practical Guide for Testers and Agile Teams− Lisa Crispin & Janet Gregory (Author)
− Addison-Wesley Professional, 2009, ISBN: 0321534468
• Agile Project Management with Scrum− Ken Schwaber
− Microsoft Press, 2008, ISBN: 073561993X
• Extreme Programming Refactored: The Case Against XP− Matt Stephens & Doug Rosenberg
− Apress, 2003, ISBN: 1590590961
16
![Page 17: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/17.jpg)
© 2008 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.
HP’s Agile Accelerator WorkflowGenefa Murphy
Product Manager HP Quality Center
![Page 18: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/18.jpg)
HP’s Agile Accelerator
• Built on the flexible QC platform
• A framework for rapid agile adoption
• Supports all aspects of agile development:
• Requirements • Process • Testing • Development
IS......
![Page 19: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/19.jpg)
SDLC Management
Agile Project Planning
HP’s Agile Accelerator Solution
User Story Definition/Task
Definition
Agile Development Management
Accurately define, capture,and manage Agile process
• User Story Management• Task Management• Effort Estimation• Agile Reporting
Release/Sprint/Backlog
Management
Planning
CompleteAgile
lifecycle coverage
DeliveryHP Agile Accelerator
STLC Management
Agile Quality Management
• Testing Task Management• Test Execution Management• Defect Reporting• Test Metrics and Progress
Iterative Incremental Adoptive
Agile Dashboard and Reporting
•Burn Up/Burn Down Charts
•Cross Sprint Velocity Charts
•Agile Development Progress Dashboard
•Agile Testing Progress Dashboard
![Page 20: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/20.jpg)
The Agile Process
20 12 November 2009
Planning the Release
Defining the Backlog
Working with User Stories and Tasks
Assessing Risk
Management
Reporting
![Page 21: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/21.jpg)
© 2008 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.
Agile Planning Process
2112 November 2009
![Page 22: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/22.jpg)
Agile Planning Process
• Define Projects
• Define Application Group
• Define Release
• Define Sprints
Automatic Generation of product Backlog
Management Hierarchy
![Page 23: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/23.jpg)
Product Backlog Definition
• Define User Story/Super Story− Assign Priority
− Assign Status
− Assign Teams
− Assign Estimated Hours, Story Points
− Prioritize User Stories
• Assign User Stories to Teams− Assign Current Estimated Hours
− Change Status
− Fit Criteria
− Comments
• Define and Assign Tasks to Teams Members
− Assign Priority
− Assign Status
− Assign Teams
− Assign Estimated Hours, Story Points
![Page 24: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/24.jpg)
© 2008 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.
User Story Definition and Task Definition
2412 November 2009
![Page 25: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/25.jpg)
User Story Allocation
• Assign User Story to Sprint
• Assign Tasks to Members
• Review completion
• Close out Tasks and UserStories
25 12 November 2009
![Page 26: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/26.jpg)
User Story/Task Process Flow
• User Story Process Flow
−Defined
−Draft
−Under Review
−Reviewed
−Ready For Coding
− In Progress
−Completed
−Accepeted
26 12 November 2009
![Page 27: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/27.jpg)
Risk Assessment - User Story/Task Level
• Assign − Business Criticality
− Failure Probability
− Functional Complexity
• Perform Risk Analysis− Roll Up Development time
and testing time to UsersStory level
− Auto assign testing timeto development task
Perform Risk Assessment Prior to CodingUnderstand Risk Variance across User Stories/Sprints Better prioritization of Coding Activities
Risk Analysis User Story Level
Risk Assessment Task Level
![Page 28: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/28.jpg)
© 2008 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.
Issues Management
![Page 29: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/29.jpg)
Issue Management
• Create Issues
• Identify impacted User Story
• Alert impacted User Stories
![Page 30: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/30.jpg)
© 2008 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.
Dashboard and Reporting
![Page 31: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/31.jpg)
Dashboard and Reporting
1. AA Built in Charts and Graphs
2. Excel Report
3. Dashboard
![Page 32: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/32.jpg)
QC Agile Accelerator – Summary
Supports Agile Practices
Scrum & XP methodology: Release, Sprint, Backlog, User story, Task
Effort Calculation and Roll ups
Task Estimation, Planned, Actual hours
Special User Groups
Product manager, Project Engineers, Scrum Master, …
Supports Complete Agile Lifecycle
From planning to delivery, Dev & testing included
Report project progress and delivered value
Burn-up charts and Burn-down charts, coverage
35
Description Quality Center
Project Management X
Requirements Management X
Test Management X
Defect Management X
Traceability X
Customizable Reports X
Linkages ( Between entities) X
Risk Based Testing X
Impediments X
Themes X
Multiple Teams/Common Backlog X
Detailed Change History X
Records blocking issues X
Version Control X
![Page 33: Testing in the Agile World · −Now Agile teams are “Cross-Functional” and include testers 8. ... How do we test multi-layered applications . ... •Agile Testing: A Practical](https://reader034.vdocuments.us/reader034/viewer/2022042308/5ed4147c8d46b66d22636c40/html5/thumbnails/33.jpg)
© 2009 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.
Q&A
3612 November 2009