Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC

Slides:



Advertisements
Similar presentations
QuEdge Testing Process Delivering Global Solutions.
Advertisements

Web Development Engineering Processes Introduction to Web Development Outsourcing Processes.
Test Automation Success: Choosing the Right People & Process
Agile development By Sam Chamberlain. First a bit of history..
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
GAI Proprietary Information
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
1 Working at Citigroup Janel Damstra, BS in CS Josh Knatz, BS in CS.
Agile Testing with Testing Anywhere The road to automation need not be long.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Overview of Change Management ClearQuest Overview for CORUG January, 2008.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
RUP Fundamentals - Instructor Notes
© Blackboard, Inc. All rights reserved. Back to the Feature: An Agile, User-centric Software Development Lifecycle Cindy Barry Senior Product Manager Martha.
Software Testing Life Cycle
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
Sampleminded® Support Overview Last Updated: 1/22/
What is Testing? Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies.
With a hint of HP Quality Center Agile development and functional testing: friend or foe? Tom Vercauteren, June 26th, 2009.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Release Management for Visual Studio 2013 Ana Roje Ivančić Ognjen Bajić Ekobit.
What’s New in SPEED APPS 2.3 ? Business Excellence Application Services.
Adaptive Software Development Process Framework. Version / 21 / 2001Page Project Initiation 2.0 Adaptive Cycle Planning 5.0 Final Q/A and.
MANAGEMENT INFORMATION SYSTEM
Tools and technology usage in PFMS application lifecycle management process LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri.
Embedded Systems Software Engineering
Open source development model and methodologies.
Implementing Cloud-based Agile Team Development - Lessons Learned
Software Project Configuration Management
Continuous Delivery- Complete Guide
Constructing Deploying and Maintaining Enterprise Systems
Appendix B Agile Methodologies
A Case Study: Automated Continuous Software Engineering Cycle (ACSEC)
SOFTWARE TESTING OVERVIEW
Integrate Agile Testing into the Process
Models of Software Development Life Cycle (SDLC)
Building a Continuous Integration Pipeline using VSTS
Introduction to Team Foundation Server 2010
Process Improvement With Roles and Responsibilities explained
Applied Software Implementation & Testing
CMGT 410 NEW Become Exceptional/ newtonhelp.com. CMGT 410 All Assignments (New Syllabus) For more course tutorials visit CMGT 410 Assignment.
SQL Server BI on Windows Azure Virtual Machines
SharePoint Online: Migration Planning to avoid Mistakes
Advantages OF BDD Testing
Documentation in Continuous Delivery Model and DevOps
Engineering Processes
Simplified Development Toolkit
Automated Testing and Integration with CI Tool
Fundamental Test Process
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
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.
DAT381 Team Development with SQL Server 2005
Continuous Integration
Adaptive Product Development Process Framework
Introduction to VSTS Database Professional
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Bringing more value out of automation testing
Engineering Processes
The Software Testing Life Cycle
Appendix B Agile Methodologies
Software Development In Agile
Executive Project Kickoff
Setup QA Process Software Quality Assurance Telerik Software Academy
Software Development In Agile
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC

Background Myself I am Michelle Wu B.S. and M.S. in Computer Science Over 25 years experience in software testing Have done testing on firmware, drivers, printing software, access points management software Currently with a financial company managing a QA team

Background Our development team Build proprietary software to support our daily business workflow Start using the Agile software development method about 10 years ago Experiment various processes and approaches to improve team efficiency Some work well Some do not work at all Some need to be modified to fit our needs Identify the role that QA plays to fit into the Agile development team

Purpose of the presentation To share with you… The challenges we have How we have resolved them The role of our QA team plays in the different stages of the software development cycle

Agenda Development team structure overview Challenges Solutions QA lifecycle QA process and workflow Tools Q&A

Development Team Overview Project Teams New features/applications development Performance Team Improve performance of our applications Maintenance Team Production escalations and minor feature backlog items Tools Team Development support tools, software deployment tools We support: 67 Services (Windows Services & Web Services) 36 Applications (Desktop and Console Applications) 14 Data-bases (SQL & Mongo DB)

Releases 250+ Releases (August 2017 – July 2018)

Challenges Frequent Releases Solutions: Higher risk of breaking existing features Huge overhead in running regression tests Co-ordinate releases among teams on the release day Solutions: Maintain good regression test documents Smaller releases Automation – e.g. Validation logic, calculation logic Review commits

Challenges Developers are always ahead of QA in completing tasks Solutions: Fixed-length iteration (2 weeks iteration) Developer and QA start and finish at the same time Work well if we can accurately estimate the time needed to finish the tasks for the iteration Either runs out of tasks to do or cannot finish all the tasks Stop doing fixed-length iteration and release when we can More automated integration tests Make every task testable so that testing can go parallel with development Developer help demo Developer help with regression testing

Challenges We are not building the right thing Solutions: Business Analysts (BA) define Acceptance Criteria Test case review with business users Frequent demo to business users, involving developers and BA Pair User Acceptance Testing (pair UAT) Agile development emphasizes TDD, no QA is needed Misconception: Test automation is all we need Manual testing is needed for end-to-end testing

QA Lifecycle Requested Feature Development. Acceptance Criteria Test Case Development Development. Testing. (Demo, Bugs) Business UAT Kickoff User Acceptance Testing (UAT) Release Post Release Support Business Approval (Hot Fix/Warm Fix) (UAT Feedback) Test Case Review Development/QA/Business Users (Demo)

QA Process and Workflow

Acceptance Criteria

Test Planning and Test Case Provide test steps and expected behavior Show test coverage Communicate what is being tested Confirm we are testing the features in the right way Fulfill compliance requirement Submit test case along with the release ticket

Demo Who and when? Developer to QA on-going effort during development cycle Development team to business stakeholder during development Business stakeholder to business team Introduce new features to the business team Development team to Application Support and Maintenance Team on release day or day after release

Demo What do we do? Communicate features Confirm features Do they fit your workflow? Is the UI intuitive? Get early feedback Promote involvement

User Acceptance Testing (UAT) What is User Acceptance Testing? Actual software users test the software When is UAT performed? At the end of the development cycle of the release Continuous UAT How to prepare for UAT? Keep user informed with the UAT schedule Demo What to look for in UAT? Confirm that we built the right thing Bugs like minor feature or cosmetic bugs

Ways to conduct User Acceptance Testing Black Box Testing Use Case Testing Discovery/Exploratory Testing Risk-Based Testing Pair User Acceptance Testing

Prepare to release to production Coordinate with the business Obtain business approval to release Coordinate with other releasing teams Merge releasing applications if necessary Stage releasing applications Deploy all releasing applications to Integration environment Run regression testing Run regression tests on the Integration environment Version control Check all the releasing branches are not behind master branch Application release ticket Provide post deployment smoke tests QA sign-off

Post release Support release Answer questions Address concerns seen in production Warm Fix Bug introduced w/ workaround Hot Fix Work stoppage issue Update documentation Regression test documents Helpful testing tips and scripts

Tools Project Management Leankit/Jira Confluence Wiki (project stories, acceptance criteria, test cases) Automation Unit Tests Integration Tests ( Specflow) Postman (WebApi testing) Logging Kibana/Elk Stack Application log files Deployment TeamCity (build agent and deployment) Octopus (applications deployment) Dobby (database provisioning)

Summary Challenges Frequent Releases QA always behind Not building the right thing Agile development does not need QA Solutions Smaller releases Every task is testable Add more automated tests to reduce overhead in running regression tests manually in every release Clear acceptance criteria and test case review Frequent demo UAT (pair, continuous) Post release support

Summary QA role QA involves very early in the development lifecycle QA plays an important role in every phase of the development cycle From defining acceptance criteria to post release support

Thank You Parametric 2014 template