Скачать презентацию QA Role in Agile Teams Michael Hall Three Скачать презентацию QA Role in Agile Teams Michael Hall Three

435a7188d921f83fedfc5ba7052f9b3f.ppt

  • Количество слайдов: 36

QA Role in Agile Teams Michael Hall Three Beacons mike@threebeacons. com 214. 783. 3936 QA Role in Agile Teams Michael Hall Three Beacons mike@threebeacons. com 214. 783. 3936

Today’s Webinar Discussion • Agile Methods and Quality • Comparison of QA in Traditional Today’s Webinar Discussion • Agile Methods and Quality • Comparison of QA in Traditional versus Agile • Agile QA Responsibilities • Common Mistakes • Conclusion © www. synerzip. com / www. threebeacons. com 2012 2

Agile Methods and Quality Agile principle #9: “Continuous attention to technical excellence and good Agile Methods and Quality Agile principle #9: “Continuous attention to technical excellence and good design enhances agility. ” Technical excellence is achieved in many ways, but all include a constant focus on quality. Observation: Agile projects emphasize quality much more than traditional. © www. synerzip. com / www. threebeacons. com 2012 3

Agile Methods and Quality Apply these Agile values and principles to testing – HOW? Agile Methods and Quality Apply these Agile values and principles to testing – HOW? © www. synerzip. com / www. threebeacons. com 2012 4

Applying Agile to QA Applying Agile to QA

Comparison TRADITIONAL AGILE QA is separate team QA to Dev: “You write buggy software!” Comparison TRADITIONAL AGILE QA is separate team QA to Dev: “You write buggy software!” Dev to QA: “You’re not good enough to be a software developer!” QA testers are integral part of development team “I am part of the development team with specialized expertise in delivering quality. ” “What can I do to help? ” © www. synerzip. com / www. threebeacons. com 2012 6

Comparison TRADITIONAL Test at end AGILE Test continuously, as early as possible © www. Comparison TRADITIONAL Test at end AGILE Test continuously, as early as possible © www. synerzip. com / www. threebeacons. com 2012 7

Comparison TRADITIONAL AGILE Rely on documents Rely on conversations & shared knowledge © www. Comparison TRADITIONAL AGILE Rely on documents Rely on conversations & shared knowledge © www. synerzip. com / www. threebeacons. com 2012 8

Comparison TRADITIONAL AGILE Test full system Test functional slices iteratively © www. synerzip. com Comparison TRADITIONAL AGILE Test full system Test functional slices iteratively © www. synerzip. com / www. threebeacons. com 2012 9

Comparison TRADITIONAL AGILE Artifact Handoffs Holistic Development Requirement specs, detail designs, full system code Comparison TRADITIONAL AGILE Artifact Handoffs Holistic Development Requirement specs, detail designs, full system code Dev Test plans, bug reports User stories Acceptance test cases Automation scripts Functional slice testing Unofficial testing Wikis Daily synchronization Face-to-face conversations about bugs © www. synerzip. com / www. threebeacons. com 2012 10

Comparison TRADITIONAL AGILE Conformance to Plan Emergent Goals B - Planned Result A - Comparison TRADITIONAL AGILE Conformance to Plan Emergent Goals B - Planned Result A - Start The Plan C – Relevant Goal • Verify conformance to original plan • Write bugs to direct path back to plan • Welcome change • Verify relevant goals • Write bugs to enforce emergent plan and changed requirements © www. synerzip. com / www. threebeacons. com 2012 11

Comparison TRADITIONAL AGILE Lots of manual testing, automate regression suite if possible Automate all Comparison TRADITIONAL AGILE Lots of manual testing, automate regression suite if possible Automate all levels – unit, functional, integration, release, and regression © www. synerzip. com / www. threebeacons. com 2012 12

Comparison TRADITIONAL AGILE Hiring – testers that are good at writing test plans and Comparison TRADITIONAL AGILE Hiring – testers that are good at writing test plans and executing test cases Hiring – testers skilled in automation, scripting, selecting right tool for current needs © www. synerzip. com / www. threebeacons. com 2012 13

Comparison TRADITIONAL AGILE Hiring – testers that can take their assignment and run with Comparison TRADITIONAL AGILE Hiring – testers that can take their assignment and run with it Hiring – testers that have a knack for collaboration and team-based accountability © www. synerzip. com / www. threebeacons. com 2012 14

Agile QA Responsibilities Agile QA Responsibilities

User Stories • Help customer/team develop user stories • Assist customer/proxy in defining acceptance User Stories • Help customer/team develop user stories • Assist customer/proxy in defining acceptance criteria © www. synerzip. com / www. threebeacons. com 2012 16

Product Backlog and Estimates • Offer up items to product backlog Priority Urgent Item Product Backlog and Estimates • Offer up items to product backlog Priority Urgent Item # 1 2 3 4 5 6 7 8 9 10 11 12 13 High Med Description User login Establish development environment Display main window Record video Connect to video feeds Change video feeds Establish test automation harness Zoom camera Research competition Tile video feeds onto single screen Regression test legacy SW components Configure system Playback video Estimate 2 13 8 40 8 13 20 5 20 40 40 20 13 Sprint 1 1 1 QA-specific line items • Ensure testing effort is accounted for in user story estimates © www. synerzip. com / www. threebeacons. com 2012 17

Sprint Backlog and Estimates • Ensure test efforts are accounted for as sprint backlog Sprint Backlog and Estimates • Ensure test efforts are accounted for as sprint backlog tasks Who Chris John Chris Mary Bala, Tim Ralph Estimate Remaining (Hours) Description User login 8 2 16 16 8 24 24 Display main window Query DB for video connections Establish connections Regress legacy DB Total hours Total relative points from product backlog 4 2 0 12 8 0 8 i/f with Security system Log occurrence to "watch file" 32 16 64 210 32 Login window Hide password Verify login id is correct Verify password is correct Acceptance testing Block after 3 incorrect tries Test case automation Notes 0 16 48 98 32 Bala to do DB arch QA-specific line items • Participate in sprint planning and release planning Team members with QA expertise © www. synerzip. com / www. threebeacons. com 2012 18

Definition of Done • Ensure that a solid “definition of done” is developed up Definition of Done • Ensure that a solid “definition of done” is developed up front, for example: • All new/modified code reviewed • Coding standards compliance • Static purification with 0 errors and 0 warnings • Dynamic purification – no memory leaks • All methods <= cyclomatic complexity 10 • All code checked in to Subversion prod branch • 80% code coverage – unit testing • Zero known bugs • Acceptance tests verified by QA on clean system • Acceptance tests verified by customer or proxy www. threebeacons. com white paper “The Three Beacons of Software Project Success” © www. synerzip. com / www. threebeacons. com 2012 19

Sashimi Acceptance Testing Iteration 1 Iteration 2 Iteration 3 • Verify functional slices • Sashimi Acceptance Testing Iteration 1 Iteration 2 Iteration 3 • Verify functional slices • Verify user stories satisfy acceptance test cases • Adhere to definition of done • Verify incremental integration • “Unofficial” testing for feedback • Exploratory testing © www. synerzip. com / www. threebeacons. com 2012 20

Sashimi Acceptance Testing QA assists iteration planning QA writes additional tests and creates automation Sashimi Acceptance Testing QA assists iteration planning QA writes additional tests and creates automation Deliver multiple times to QA in a sprint QA tests and gives feedback Dev concentrates on bugfixes several days prior to sprint end QA wraps up with final acceptance http: //edgehopper. com/qatesting-in-an-agile-environment/ © www. synerzip. com / www. threebeacons. com 2012 21

Test Case Automation • Choose appropriate tool for your needs • Leverage previous experience Test Case Automation • Choose appropriate tool for your needs • Leverage previous experience and use of tools • Focus on user actions and expected results for acceptance test cases • Anticipate what the result might look like - Screen mocks - Design diagrams - Collaborative discussions • Code the automation script • Run it prior to receiving the software - Verify the test case fails - Prevents the test case from accidentally passing - Similar to TDD • Once software is received, verify the test case works © www. synerzip. com / www. threebeacons. com 2012 22

Popular Tools for Test Case Automation Unit Testing / TDD • x. Unit • Popular Tools for Test Case Automation Unit Testing / TDD • x. Unit • Unit. Test++ • Jtest • ut. My. SQL • Etc. Sashimi / Integration / Release / Regression • Fit. Nesse (open source) • Selenium (open source) • Cruise. Control (CI) • Watij, Watir, Watin (open source) • Test. Complete (by Automated. QA) • Quick Test Pro (HP Mercury) • Win. Runner (HP Mercury) • Load. Runner (HP Mercury) • Silk. Test (Borland) • Etc. © www. synerzip. com / www. threebeacons. com 2012 23

Release Testing • Integration of multiple sprint’s functional slices • Combining sashimi scripts into Release Testing • Integration of multiple sprint’s functional slices • Combining sashimi scripts into release automation • Dependency testing • Stress • Performance • Install / Uninstall © www. synerzip. com / www. threebeacons. com 2012 24

Regression Testing • Subset (or all) can be executed nightly as CI build test Regression Testing • Subset (or all) can be executed nightly as CI build test • Integration of previous releases and sprints • Comprehensive, thorough verification • Identify “lost” fixes and new issues • Automated tests to expose bugs that were previously fixed – in case they return • Automated tests of new sprint functionality “Regression Stagger” – if needed © www. synerzip. com / www. threebeacons. com 2012 25

Continuous Feedback • Collaborates to share information • Daily stand-up for synchronization • Tracks Continuous Feedback • Collaborates to share information • Daily stand-up for synchronization • Tracks bugs in tool, but communicates face-to-face for awareness • Ensures today’s efforts are in line with team priorities and goals • Supports the developers any way he/she can • “WE” instead of me – don’t point fingers © www. synerzip. com / www. threebeacons. com 2012 26

Agile: Team-Based Quality Software engineers QA engineers • QA begins with developers! • Simple Agile: Team-Based Quality Software engineers QA engineers • QA begins with developers! • Simple designs • Supports strong “definition of done” • Adhere to rigorous quality plan • Use TDD to manage technical debt • Use CI to find problems at earliest opportunity • Additional quality verification • Supports strong “definition of done” • Verify all levels of code output - Sashimi - Integrated, incremental sashimi - Release/system - Regression • Automate, automate © www. synerzip. com / www. threebeacons. com 2012 27

Common Mistakes Common Mistakes

Common Mistakes • QA sashimi tests run in subsequent sprint - Violates “potentially shippable Common Mistakes • QA sashimi tests run in subsequent sprint - Violates “potentially shippable product increment” • Mini-waterfall handoff to QA within sprint - Violates lean/agile principles • Manual testing of sashimi slices - Latency of feedback - You won’t have time • QA not involved in user story development - Violates holistic team-based approach • QA not involved in release/sprint planning - Violates “committed team” principle • QA not physically located with project team - Violates “co-location” principle • Others? © www. synerzip. com / www. threebeacons. com 2012 29

Conclusion Conclusion

Take-Aways • Agile – much more emphasis on QA than traditional approach • QA Take-Aways • Agile – much more emphasis on QA than traditional approach • QA test specialist is an integral member of the development team! • Being a QA tester is much more prestigious in Agile - Peer with software developers - Respect is shown through better communication & collaboration - Required involvement up-front and throughout! • Different role, different responsibilities, different skills • Agile – much better chance at delivering high-quality software on time © www. synerzip. com / www. threebeacons. com 2012 31

Questions? Agile Software Product Development Partner www. synerzip. com Hemant Elhence, hemant@synerzip. com 469. Questions? Agile Software Product Development Partner www. synerzip. com Hemant Elhence, hemant@synerzip. com 469. 322. 0349 Agile Methods training: Scrum Team Training Intro to Agile Distributed Agile Immersion User Stories – Requirements w/ Agility Extreme Programming Product Owner Role Scrum. Master Role Etc. All courses can be delivered onsite at your location Short/Long term Agile coaching Facilitated improvement Michael Hall, mike@threebeacons. com 214. 783. 3936 © www. synerzip. com / www. threebeacons. com 2012 32

Synerzip in a Nut-shell 1. Software product development partner for small/midsized technology companies n Synerzip in a Nut-shell 1. Software product development partner for small/midsized technology companies n n n 2. Dedicated team of high caliber software professionals for each client n n n 3. n 5. Seamlessly extends client’s local team, offering full transparency Stable teams with very low turn-over NOT just “staff augmentation”, but provide full mgmt support Actually reduces risk of development/delivery n 4. Exclusive focus on small/mid-sized technology companies, typically venture-backed companies in growth phase By definition, all Synerzip work is the IP of its respective clients Deep experience in full SDLC – design, dev, QA/testing, deployment Experienced team - uses appropriate level of engineering discipline Practices Agile development – responsive, yet disciplined Reduces cost – dual-shore team, 50% cost advantage Offers long term flexibility – allows (facilitates) taking offshore team captive – aka “BOT” option Confidential

Synerzip Clients Confidential Synerzip Clients Confidential

Thank You! Call Us for a Free Consultation! Agile Software Product Development Partner www. Thank You! Call Us for a Free Consultation! Agile Software Product Development Partner www. synerzip. com www. threebeacons. com Hemant Elhence hemant@synerzip. com Michael Hall mike@threebeacons. com 469. 322. 0349 214. 783. 3936 © www. synerzip. com / www. threebeacons. com 2012 35

THE END Michael Hall Three Beacons mike@threebeacons. com 214. 783. 3936 THE END Michael Hall Three Beacons mike@threebeacons. com 214. 783. 3936