by tanvir afzal
agenda 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 testing developers write tests test first development daily 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 bugs minimizing time spent on documentation continually adjusting plans, re-focusing on the most promising risk areas freedom, 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 levels traditional agile development development unit test integration test system test acceptance test unit test acceptance test
QA 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 developers 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 testing test-driven development writing and running tests is integral part of daily development rhythm tests are developers’ QA and programming tool all unit tests are automated when : during development; after every change; new code or bug fix
test-Driven Development 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 benefit ??? close feedback loop task-orientation low-level design results better code results testable code effect on quality
 
So how the flow works? (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 works? (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 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 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

product Qa workflow

  • 1.
  • 2.
    agenda views ofagile testing challenges how qa works with agile? TDD workflow of qa
  • 3.
    two views ofagile testing (cont.) extreme testing (automated test) automated unit testing developers write tests test first development daily builds with unit tests always 100% pass
  • 4.
    two views ofagile testing exploratory testing (manual test) utilizes professional testers' skills and experience optimized to find bugs minimizing time spent on documentation continually adjusting plans, re-focusing on the most promising risk areas freedom, flexibility and fun for testers
  • 5.
    challenges that agileprinciples 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
  • 6.
    contradictions with traditionaltesting 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
  • 7.
  • 8.
    test levels traditionalagile development development unit test integration test system test acceptance test unit test acceptance test
  • 9.
    QA in agileno 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
  • 10.
    some practices inagile for developers 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.
  • 11.
  • 12.
    agile unit testingtest-driven development writing and running tests is integral part of daily development rhythm tests are developers’ QA and programming tool all unit tests are automated when : during development; after every change; new code or bug fix
  • 13.
    test-Driven Development writingtest 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
  • 14.
    TDD what isthe benefit ??? close feedback loop task-orientation low-level design results better code results testable code effect on quality
  • 15.
  • 16.
    So how theflow works? (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.
  • 17.
    So how theflow works? (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”
  • 18.
    So how theflow 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.
  • 19.
    how to assurequality ?? 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.
  • 20.
    “ don’t getannoyed when there is bug Be proud to solve it” want to share anything? nope? then Thank you