How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process...
Transcript of How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process...
![Page 1: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/1.jpg)
© QualSys Solutions 2009 1
How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?
byTimothy D. Korson
Version 7.0814
![Page 2: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/2.jpg)
© QualSys Solutions 2009 2
Restricted UseThis copyrighted material is provided to attendees of QualSys Solutions courses under a restricted licensing agreement exclusively for the personal
use of the attendees. QualSys Solutions retains ownership rights to the material contained in these course notes.
Please respect these rights.
Any presentation or reuse of any part of this material in any form must be approved in writing by [email protected]
Copyright © 2009 Qualsys Solutions. All rights reserved.
![Page 3: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/3.jpg)
© QualSys Solutions 2009 3
Outline
• What is iterative/incremental software engineering?
• How can a tester cope?Analysis
High-level designDetailed design
ImplementationTesting
Production
![Page 4: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/4.jpg)
© QualSys Solutions 2009 4
Traditional Software Engineering
The process makes it easierto specialize and handoff
Analysis
Design
Code
Test
![Page 5: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/5.jpg)
© QualSys Solutions 2009 5
Over the Wall
System
ProcessTechnology
![Page 6: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/6.jpg)
© QualSys Solutions 2009 6
Process Spectrum
Waterfall RUP XP
![Page 7: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/7.jpg)
© QualSys Solutions 2009 7
Process Spectrum
Waterfall RUP XPAgileAgile
![Page 8: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/8.jpg)
© QualSys Solutions 2009 8
Incremental Model
• An increment is some subset of the system that is “completely” coded and tested.
AnalysisHigh-level design
Detailed designImplementation
TestingProduction
![Page 9: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/9.jpg)
© QualSys Solutions 2009 9
Fixed Delivery Dates• Delivery dates are fixed• Scope is negotiated as necessary
![Page 10: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/10.jpg)
© QualSys Solutions 2009 10
It’s Incremental Everything
Other important documents, such as the user manual and designdocuments, are also developed, and verified incrementally.
RequirementsSpecification
DomainModel
DesignDocument
Analyze
Design
Implement
Analyze
Design
Implement
Analyze
Design
Implement
![Page 11: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/11.jpg)
© QualSys Solutions 2009 11
Example• Business logic to post a simple transaction
• GUI to enter transaction data
• DBMS to persist transaction
• Log on and user authentication code
• Additional business logic to all layers
• …Multi-currency, fund accounting system
![Page 12: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/12.jpg)
© QualSys Solutions 2009 12
Iteration Length
• Rational Unified Process (RUP) – Up to 6 months
• Scrum– One Month
• XP– Could be as short
as one week
![Page 13: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/13.jpg)
© QualSys Solutions 2009 13
How Can I Cope?
• Process• Organization• Collaboration• Automation• Participate in
Planning• Test first development
![Page 14: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/14.jpg)
© QualSys Solutions 2009 14
How Can I Cope?
• Process• Organization• Collaboration• Automation• Participate in
Planning• Test first development
![Page 15: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/15.jpg)
© QualSys Solutions 2009 15
Testing Process Should Match the Development Process
• Basic development process is incremental• Iterate within increments, with prototype support as
necessary. Often this will involve reworking one piece of the system several times before an increment is finished. Previous increments are refactored as necessary.
• Testing process should be incremental• Early increments may be gray boxes• The testing perspective is black box, but an early
increment may have lots of incomplete functionality and may not be executable as a “stand alone”system.
![Page 16: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/16.jpg)
© QualSys Solutions 2009 16
Testing Increments
S I1 I2 I3
S I1 I2 I3
Develop and test I1
Develop I1Test I1Develop I2
![Page 17: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/17.jpg)
© QualSys Solutions 2009 17
How Can I Cope?
• Process
• Organization• Collaboration• Automation• Participate in
Planning• Test first development
![Page 18: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/18.jpg)
© QualSys Solutions 2009 18
Recommended Organizational Approach
Define
Team 1
Development
Team 2 Team 3DevelopmentTesting
DevelopmentTesting
DevelopmentTesting
Testing
![Page 19: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/19.jpg)
© QualSys Solutions 2009 19
How Can I Cope?
• Process• Organization
• Collaboration• Automation• Participate in
Planning• Test first development
![Page 20: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/20.jpg)
© QualSys Solutions 2009 20
No One Is Done Until Everyone Is Done
![Page 21: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/21.jpg)
© QualSys Solutions 2009 21
Testing Increments
S I1 I2 I3
S I1 I2 I3
Develop and test I1
Develop I1Test I1Develop I2
![Page 22: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/22.jpg)
© QualSys Solutions 2009 22
Pair Programming
Guarantees 100% code inspections
![Page 23: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/23.jpg)
© QualSys Solutions 2009 23
Modern Software EngineeringDomain Analysis
Application Analysis
Application Design
Class Design and
DevelopmentApplication Assembly
Testing
The process encourages integrated teams
![Page 24: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/24.jpg)
© QualSys Solutions 2009 24
Requirements• RUP
– Use cases have lots of detail– Business analysts document the requirements– Testers work from written requirements
expressed as use cases• Agile
– Stories lack detail– Stories are reminders to have a conversation– The details from the conversations are recorded
directly in test cases– The test cases become the detailed specifications– Testers become business analysts
![Page 25: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/25.jpg)
© QualSys Solutions 2009 25
How Can I Cope?
• Process• Organization• Collaboration
• Automation• Participate in
Planning• Test first development
![Page 26: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/26.jpg)
© QualSys Solutions 2009 26
Almost Continuous Integration• Almost continuous integration avoids or detects compatibility
problems early. Integration is a "pay me now or pay me more later" kind of activity.
• Developers should be integrating and releasing code into the code repository every few hours, when ever possible. In any case never hold onto changes for more than a day.
• Each development pair is responsible for integrating their own code when ever a reasonable break presents itself.
Smoke Test
![Page 27: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/27.jpg)
© QualSys Solutions 2009 27
Regression Suites
• Build smoke test• Daily test• Weekly test• Increment test
System
Tester
![Page 28: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/28.jpg)
© QualSys Solutions 2009 28
Automation Tools
• Record and Playback
• Testing “Under the Interface”
![Page 29: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/29.jpg)
© QualSys Solutions 2009 29
How Does One Automate?
Manual orCapture and Playback
Test Harness thatcalls the API of the Business Logic
Structured Query Language (SQL)
Testing under the interface
![Page 30: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/30.jpg)
© QualSys Solutions 2009 30
How Can I Cope?
• Process• Organization• Collaboration• Automation
• Participate in Planning
• Test first development
![Page 31: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/31.jpg)
© QualSys Solutions 2009 31
Including Time for Acceptance Test in Planning the Estimates
![Page 32: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/32.jpg)
© QualSys Solutions 2009 32
Up-Front Tester activities
• Identifying and making explicit hidden assumptions
• Defining acceptance tests for each story• Including time for acceptance test in
planning the estimates• Enabling accurate estimates of
time and velocity
![Page 33: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/33.jpg)
© QualSys Solutions 2009 33
How Can I Cope?
• Process• Organization• Collaboration• Automation• Participate in
Planning
• Test first development
![Page 34: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/34.jpg)
© QualSys Solutions 2009 34
Test First• Many programmers
have adopted this approach with near religious zeal
• “Test-first design is infectious! Developers swear by it. We have yet to meet a developer who abandons test-first design after giving it an honest trial.”
Robert C. Martin
![Page 35: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/35.jpg)
© QualSys Solutions 2009 35
Getting the Code Right vs. Getting the Right Code
• Test first development ensures the code is doing what the developer intended it to do
• Acceptance testing can now focus on determining how well the developer’s intent matches client’s expectations
![Page 36: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/36.jpg)
© QualSys Solutions 2009 36
Agile in Action
• Process• Organization• Collaboration• Automation• Participate in
Planning• Test first development
![Page 37: How Can a Tester Cope With the Fast Paced …...Testing Process Should Match the Development Process • Basic development process is incremental • Iterate within increments, with](https://reader035.fdocuments.in/reader035/viewer/2022081613/5faf705c70801c370266f435/html5/thumbnails/37.jpg)
© QualSys Solutions 2009 37
Thanks for coming• Let us know about your testing work. We’d like to hear about your
successes and your difficulties.
• My e-mail address is:[email protected]