Upload
tanvir-afzal
View
5.298
Download
1
Tags:
Embed Size (px)
DESCRIPTION
how qa works with agile teams
Citation preview
by tanvir afzal
agendaagenda
views of agile testing
challenges
how qa works with agile?
TDD
workflow of qa
two views of agile testing (cont.) extreme testing (automated test)
automated unit testingdevelopers write tests test first developmentdaily builds with unit tests always 100% pass
two views of agile testing exploratory testing (manual test)
utilizes professional testers' skills and experience
optimized to find bugsminimizing time spent on documentationcontinually adjusting plans, re-focusing on the
most promising risk areasfreedom, flexibility and fun for testers
challenges that agile principles place on testing
Agile Principle Challenge
Frequent deliveries of valuable software
- Short time for testing in each cycle- Testing must be time-boxed, too
Responding to change even late in the development
- Testing cannot be designed beforehand based on specifications- Tests must not prevent change
Relying on face-to-face communication
- Getting developers and business people actively involved in testing
Working software is the primary measure of progress
- Quality information is required early and frequently throughout development
Simplicity is essential - Testing practices get easily dropped for simplicity’s sake
contradictions with traditional testing principles
Testing principle Contradicting practices in agile methods
Independency of testing and destructive attitude
- Developers write tests for their own code
Testing requires specific skills - Developers do the testing as part of the development
Oracle problem -Relying on automated tests to reveal defects
Evaluating achieved quality - Confidence in quality through tracking conformance to a set of good practices
test levelstest levels
traditional agile
development development
unit testintegration test
system testacceptance test
unit test
acceptance test
QA in agileQA in agile
no more plan and no more v model
the role of documentation and specifications is secondary
the rhythm of development is fast and tight roles and responsibilities are assigned
differently
some practices in agile for some practices in agile for developersdevelopers keep your project releasable at all times
use automated unit tests
use it before you build it –TDD
keep others informed of the status of your work
V. Subramaniam & A. Hunt, “Practices of an Agile Developer”,The Pragmatic Bookshelf, 2006.
agile unit testingagile unit testing test-driven development
writing and running tests is integral part of daily development rhythmtests are developers’ QA and programming tool
all unit tests are automated
when : during development; after every change; new code or bug fix
test-Driven test-Driven DevelopmentDevelopment writing test before code to be tested
“a little test, a little code, a little test, a little code, ...”
tests are added gradually during implementation
one of the core practices of extreme programming developers have been applying TDD for
several decades
TDD what is the TDD what is the benefit ???benefit ??? close feedback loop
task-orientation
low-level design
results better code
results testable code
effect on quality
So how the flow works? So how the flow works? (cont.)(cont.) developers will create unit tests and
deploy continuous integration in the server.
testers will create all the test cases for all released products and will maintain those test cases.
test suite will be implemented into cruise control for auto regression.
So how the flow So how the flow works?works?(cont)(cont) all bugs & improvement will be reported
to trac.
All pending bugs will go to the next sprint so please include qa team in sprint planning meeting.
“We are the part of development”
So how the flow So how the flow works?works? after each release the developer/scrum
master will give change log to qa team & qa will stick change log into track.
all the qa verified change log will be in the trac it mean it is qa passed.
how to assure how to assure quality ??quality ?? at least one unit test for one function.
after any deployment its better to inform qa team to run a regression to confirm that all the previous functions are working.
“don’t get annoyed when there is bug
Be proud to solve it”
want to share anything?
nope?
then
Thank you Thank you