Presentation is loading. Please wait.

Presentation is loading. Please wait.

Michael Hall Three Beacons 214.783.3936 QA Role in Agile Teams.

Similar presentations

Presentation on theme: "Michael Hall Three Beacons 214.783.3936 QA Role in Agile Teams."— Presentation transcript:

1 Michael Hall Three Beacons 214.783.3936 QA Role in Agile Teams

2 Today’s Webinar Discussion 2 © / 2012 Agile Methods and Quality Comparison of QA in Traditional versus Agile Agile QA Responsibilities Common Mistakes Conclusion

3 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. 3 © / 2012

4 Agile Methods and Quality Apply these Agile values and principles to testing – HOW? 4 © / 2012

5 Applying Agile to QA

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

7 Comparison Test continuously, as early as possible AGILE Test at end TRADITIONAL 7 © / 2012

8 Comparison Rely on conversations & shared knowledge AGILE Rely on documents TRADITIONAL 8 © / 2012

9 Comparison Test functional slices iteratively AGILE Test full system TRADITIONAL 9 © / 2012

10 Comparison DevTest Requirement specs, detail designs, full system code 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 Artifact Handoffs TRADITIONALAGILE Holistic Development 10 © / 2012

11 Comparison Conformance to Plan TRADITIONALAGILE Emergent Goals A - Start B - Planned Result 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 11 © / 2012

12 Comparison Automate all levels – unit, functional, integration, release, and regression TRADITIONALAGILE Lots of manual testing, automate regression suite if possible 12 © / 2012

13 Comparison TRADITIONALAGILE 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 13 © / 2012

14 Comparison Hiring – testers that have a knack for collaboration and team-based accountability TRADITIONALAGILE Hiring – testers that can take their assignment and run with it 14 © / 2012

15 Agile QA Responsibilities

16 User Stories Help customer/team develop user stories Assist customer/proxy in defining acceptance criteria When I select the Pending Loans menu item, I expect a new window with pending loans. When I select the Pending Loans menu item, I expect to see only pending loans for me. When I close the window, I expect to be taken back to the Main window. View Pending Loans As a loan rep, I want to see all pending loans, so that I have a visual reminder of follow-up calls. 16 © / 2012

17 Product Backlog and Estimates Offer up items to product backlog Ensure testing effort is accounted for in user story estimates PriorityItem #DescriptionEstimateSprint Urgent 1User login21 2Establish development environment131 3Display main window81 4Record video40 5Connect to video feeds8 High 6Change video feeds13 7Establish test automation harness20 8Zoom camera5 9Research competition201 Med 10Tile video feeds onto single screen40 11Regression test legacy SW components40 12Configure system20 13Playback video13 QA-specific line items 17 © / 2012

18 Sprint Backlog and Estimates Ensure test efforts are accounted for as sprint backlog tasks Participate in sprint planning and release planning QA-specific line items 18 © / 2012 WhoDescription Estimate (Hours) Remaining (Hours)Notes User login ChrisLogin window84 Hide password22 JohnVerify login id is correct160i/f with Security system JohnVerify password is correct1612i/f with Security system Acceptance testing88 ChrisBlock after 3 incorrect tries240Log occurrence to "watch file" MaryTest case automation248 Display main window Bala, TimQuery DB for video connections320Bala to do DB arch TimEstablish connections16 RalphRegress legacy DB6448 Total hours21098 Total relative points from product backlog32 Team members with QA expertise

19 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 19 © / 2012 white paper “The Three Beacons of Software Project Success”

20 Sashimi Acceptance Testing 20 © / 2012 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

21 Sashimi Acceptance Testing 21 © / 2012 Deliver multiple times to QA in a sprint Dev concentrates on bugfixes several days prior to sprint end QA writes additional tests and creates automation QA wraps up with final acceptance QA assists iteration planning QA tests and gives feedback

22 Test Case Automation 22 © / 2012 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

23 Popular Tools for Test Case Automation 23 © / 2012 Unit Testing / TDD xUnit UnitTest++ Jtest utMySQL Etc. Sashimi / Integration / Release / Regression FitNesse (open source) Selenium (open source) CruiseControl (CI) Watij, Watir, Watin (open source) TestComplete (by AutomatedQA) Quick Test Pro (HP Mercury) WinRunner (HP Mercury) LoadRunner (HP Mercury) SilkTest (Borland) Etc.

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

25 Regression Testing 25 © / 2012 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

26 Continuous Feedback 26 © / 2012 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

27 Agile: Team-Based Quality 27 © / 2012 Software 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 QA engineers Additional quality verification Supports strong “definition of done” Verify all levels of code output - Sashimi - Integrated, incremental sashimi - Release/system - Regression Automate, automate, automate

28 Common Mistakes

29 29 © / 2012 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?

30 Conclusion

31 Take-Aways 31 © / 2012 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

32 Questions? Hemant Elhence, 469.322.0349 Agile Software Product Development Partner 32 © / 2012 Agile Methods training: Scrum Team Training Intro to Agile Distributed Agile Agile Immersion User Stories – Requirements w/ Agility Extreme Programming Product Owner Role ScrumMaster Role Etc. All courses can be delivered onsite at your location Short/Long term Agile coaching Facilitated improvement Michael Hall, 214.783.3936

33 Confidential Synerzip in a Nut-shell 1. Software product development partner for small/mid- sized technology companies 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 2. Dedicated team of high caliber software professionals for each client 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 3. Actually reduces risk of development/delivery Experienced team - uses appropriate level of engineering discipline Practices Agile development – responsive, yet disciplined 4. Reduces cost – dual-shore team, 50% cost advantage 5. Offers long term flexibility – allows (facilitates) taking offshore team captive – aka “BOT” option

34 Confidential Synerzip Clients

35 Thank You! Michael Hall 214.783.3936 Hemant Elhence 469.322.0349 Agile Software Product Development Partner Call Us for a Free Consultation! 35 © / 2012

36 THE END Michael Hall Three Beacons 214.783.3936

Download ppt "Michael Hall Three Beacons 214.783.3936 QA Role in Agile Teams."

Similar presentations

Ads by Google