product Qa workflow


Published on

how qa works with agile teams

Published in: Technology
  • Be the first to comment

product Qa workflow

  1. 1. by tanvir afzal
  2. 2. agenda <ul><li>views of agile testing </li></ul><ul><li>challenges </li></ul><ul><li>how qa works with agile? </li></ul><ul><li>TDD </li></ul><ul><li>workflow of qa </li></ul>
  3. 3. two views of agile testing (cont.) <ul><li>extreme testing (automated test) </li></ul><ul><ul><li>automated unit testing </li></ul></ul><ul><ul><li>developers write tests </li></ul></ul><ul><ul><li>test first development </li></ul></ul><ul><ul><li>daily builds with unit tests always 100% pass </li></ul></ul>
  4. 4. two views of agile testing <ul><li>exploratory testing (manual test) </li></ul><ul><ul><li>utilizes professional testers' skills and experience </li></ul></ul><ul><ul><li>optimized to find bugs </li></ul></ul><ul><ul><li>minimizing time spent on documentation </li></ul></ul><ul><ul><li>continually adjusting plans, re-focusing on the most promising risk areas </li></ul></ul><ul><ul><li>freedom, flexibility and fun for testers </li></ul></ul>
  5. 5. 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 <ul><li>Quality information is required early and frequently throughout development </li></ul>Simplicity is essential <ul><li>Testing practices get easily dropped for simplicity’s sake </li></ul>
  6. 6. 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 <ul><li>Relying on automated tests to reveal defects </li></ul>Evaluating achieved quality - Confidence in quality through tracking conformance to a set of good practices
  7. 8. test levels <ul><li>traditional agile </li></ul><ul><li>development development </li></ul>unit test integration test system test acceptance test unit test acceptance test
  8. 9. QA in agile <ul><li>no more plan and no more v model </li></ul><ul><li>the role of documentation and specifications is secondary </li></ul><ul><li>the rhythm of development is fast and tight </li></ul><ul><li>roles and responsibilities are assigned differently </li></ul>
  9. 10. some practices in agile for developers <ul><li>keep your project releasable at all times </li></ul><ul><li>use automated unit tests </li></ul><ul><li>use it before you build it –TDD </li></ul><ul><li>keep others informed of the status of your work </li></ul><ul><li>V. Subramaniam & A. Hunt, “ Practices of an Agile Developer”, </li></ul><ul><li>The Pragmatic Bookshelf, 2006. </li></ul>
  10. 12. agile unit testing <ul><li>test-driven development </li></ul><ul><li>writing and running tests is integral part of daily development rhythm </li></ul><ul><ul><li>tests are developers’ QA and programming tool </li></ul></ul><ul><li>all unit tests are automated </li></ul><ul><li>when : during development; after every change; new code or bug fix </li></ul>
  11. 13. test-Driven Development <ul><li>writing test before code to be tested </li></ul><ul><ul><li>“ a little test, a little code, a little test, a little code, ...” </li></ul></ul><ul><ul><li>tests are added gradually during implementation </li></ul></ul><ul><li>one of the core practices of extreme programming </li></ul><ul><ul><li>developers have been applying TDD for several decades </li></ul></ul>
  12. 14. TDD what is the benefit ??? <ul><li>close feedback loop </li></ul><ul><li>task-orientation </li></ul><ul><li>low-level design </li></ul><ul><li>results better code </li></ul><ul><li>results testable code </li></ul><ul><li>effect on quality </li></ul>
  13. 16. So how the flow works? (cont.) <ul><li>developers will create unit tests and deploy continuous integration in the server. </li></ul><ul><li>testers will create all the test cases for all released products and will maintain those test cases. </li></ul><ul><li>test suite will be implemented into cruise control for auto regression. </li></ul>
  14. 17. So how the flow works? (cont) <ul><li>all bugs & improvement will be reported to trac. </li></ul><ul><li>All pending bugs will go to the next sprint so please include qa team in sprint planning meeting. </li></ul><ul><li>“ We are the part of development” </li></ul>
  15. 18. So how the flow works? <ul><li>after each release the developer/scrum master will give change log to qa team & qa will stick change log into track. </li></ul><ul><li>all the qa verified change log will be in the trac it mean it is qa passed. </li></ul>
  16. 19. how to assure quality ?? <ul><li>at least one unit test for one function. </li></ul><ul><li>after any deployment its better to inform qa team to run a regression to confirm that all the previous functions are working. </li></ul>
  17. 20. <ul><li>“ don’t get annoyed when there is bug </li></ul><ul><li>Be proud to solve it” </li></ul><ul><li>want to share anything? </li></ul><ul><li>nope? </li></ul><ul><li>then </li></ul><ul><li>Thank you </li></ul>