Michael Hall Three Beacons 214.783.3936 QA Role in Agile Teams.

Slides:



Advertisements
Similar presentations
The Road to Agile From the Bottom Up Kevin Malley Tracey Clark 1 March 20 th, 2013 SWOQG.
Advertisements

Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
2017/3/25 Test Case Upgrade from “Test Case-Training Material v1.4.ppt” of Testing basics Authors: NganVK Version: 1.4 Last Update: Dec-2005.
Agile Lifecycle, Tools, Techniques IM Symposium.
Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
0 - 0.
Making the System Operational
Project Scope Management
Are Parametric Techniques Relevant for Agile Development Projects?
Test process essentials Riitta Viitamäki,
Contents This guide is designed to help you perform key functions in CAR by providing high level descriptions of how they were done in SAM followed.
Acceptance Testing.
Being a QA Engineer at Telerik Snejina Lazarova Dimo Mitev Telerik Corporation
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Agile at ON.Lab Bill Snow VP of Engineering. What is waterfall? RequirementsDesignDevelopTest Or Requirements Design Develop Test Time.
Local Touch – Global Reach The New Tester Matthew Eakin, Manager Managed Testing Practice Sogeti, USA.
Morning – 9am Getting Started Agile Manifesto Values & Principles Scrum Framework ~~ 10:40 to 11:00 Break ~~ Scrum Roles Backlog Grooming Estimation.
Agile development By Sam Chamberlain. First a bit of history..
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Quality is about testing early and testing often Joe Apuzzo, Ngozi Nwana, Sweety Varghese Student/Faculty Research Day CSIS Pace University May 6th, 2005.
Acceptance Test Planning. Business challenges Unclear requirements Delivered software does not meet value expectations Late-breaking changes and churn.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Agile Testing with Testing Anywhere The road to automation need not be long.
An Agile View of Process
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
Software Engineering Modern Approaches
Scrum’s Product Owner Role Jeff Patton Agile Product Design
Software Testing Life Cycle
Introduction Telerik Software Academy Software Quality Assurance.
RUP Implementation and Testing
With a hint of HP Quality Center Agile development and functional testing: friend or foe? Tom Vercauteren, June 26th, 2009.
Cultivating Agile Requirements
Software Testing Process
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.
T Iteration Demo LicenseChecker I2 Iteration
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Engaging Business Analysts in Test Automation
Scrum.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Where Agile Business Meets Agile Development
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Integrate Agile Testing into the Process
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Pega 9/14/2018 8:48 AM Definition of Done = ready for PO acceptance
Description of Revision
Advantages OF BDD Testing
CEN 4010 Intro to Software Engineering Professor Alex Roque
Scrum MODULE 3 – Part 3.
Teaching slides Chapter 1.
Summarizing Our Models to Date
Attend|Learn|Grow Taking Your Career to the Next Level
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Test Cases, Test Suites and Test Case management systems
Scrum in Action.
{Project Name} Organizational Chart, Roles and Responsibilities
Adapting Agile in Pharmaceutical Industries
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Michael Hall Three Beacons QA Role in Agile Teams

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

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 © /

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

Applying Agile to QA

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 © /

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

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

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

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 © /

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 © /

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

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 © /

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 © /

Agile QA Responsibilities

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 © /

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 © /

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 © / 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

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

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

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

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

Popular Tools for Test Case Automation 23 © / 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.

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

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

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

Agile: Team-Based Quality 27 © / 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

Common Mistakes

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

Conclusion

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

Questions? Hemant Elhence, Agile Software Product Development Partner 32 © / 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,

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

Confidential Synerzip Clients

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

THE END Michael Hall Three Beacons