Software Quality & QA Management Jatin Parekh Sr Dir of QA, Visa

Slides:



Advertisements
Similar presentations
High level QA strategy for SQL Server enforcer
Advertisements

Software Testing How has agile changed the game? Karen Greaves.
Upgrading the Oracle Applications: Going Beyond the Technical Upgrade Atlanta OAUG March 19, 1999 Robert Cooney.
Web Development Engineering Processes Introduction to Web Development Outsourcing Processes.
Test Automation Success: Choosing the Right People & Process
Software Testing By Marcin Starzomski :P. What is Testing ? Testing is a process used to help identify the correctness, completeness and quality of developed.
Chapter 4 Quality Assurance in Context
Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
<<replace with Customer Logo>>
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Documentation Testing
Introduction to Software Testing
Agile Testing with Testing Anywhere The road to automation need not be long.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
> Blueprint Kickoff >. Introductions Customer Vision & Success Criteria Apigee Accelerator Overview Blueprint Schedule Roles & Responsibilities Communications.
October 15, 2004 – 1 Welcome IPMA and SolutionsIQ Professional Event Testing, Testing, 1…2…3… Improving software quality -- one bug at a time.
Naveen Gurusiddaiah Technology Evangelist Software Quality: Technology trends and the way ahead.
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
Web Development Process Description
Cloud Testing Speaker : Mrityunjaya Hikkalgutti Date : 3 rd July 2010.
Trend Quality Assurance Edward Tsai 蔡木本 趨勢科技全球軟體研發部協理 April 22, 2003.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Software Testing Life Cycle
CPIS 357 Software Quality & Testing
1 “ Understanding leads to perfection” Author: Herb Isenberg Ph.D A Bird’s Eye View Quality Foundations January 2011.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.

IT Requirements Management Balancing Needs and Expectations.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Building Quality into Web Applications - Meeting the Challenges of Testing and Usability Paula Duchnowski CQA, CSTE (608)
Chapter 11. Intro  What is Project Management?  Project Manager  Project Failures & Successes Managing Projects  PMBOK  SDLC Core Process 1 – Project.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
LOGO Introduction to DevOps 中科大移动云计算系统实验室 孟宁. LOGO Page  2 Agenda Introduce DevOps DevOp Patterns How to Start Adopting DevOps.
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
Testing in Android. Methods Unit Testing Integration Testing System Testing Regression Testing Compatibility Testing Black Box (Functional) White Box.
Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
TESTING (S,S,AND A,B) By KARTHIKEYAN KANDASAMY. TESTING Scenario testing – 1.System & 2. Usecase Defect bash System o Functional and non functional testing.
OOAD UNIT V B RAVINDER REDDY PROFESSOR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING.
Mobile Testing Overview. Agenda Mobile application quality poses a unique challenge Mobile changes the ALM cycle – Interoperability is unique to mobile.
The Next Level Of Agile: DevOps and CD אוקטובר 2015.
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
Software Engineering “Practical Approach”
Rapid Launch Workshop ©CC BY-SA.
Software Testing Strategies for building test group
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
A Case Study: Automated Continuous Software Engineering Cycle (ACSEC)
Reliable Software Services Inc.
Software Testing.
Chapter 2: Testing throughout the software life cycle
SENIOR MANAGER - SOFTWARE TESTING PRACTICE
Managing Large Global Test Programs Through Automation of Automation
Introduction to Software Engineering
Advantages OF BDD Testing
Continuous Performance Engineering
Managing Large Global Test Programs Through Automation of Automation
Introduction to Software Testing
Node.js Test Automation using Oracle Developer Cloud- Simplified
Presentation transcript:

Software Quality & QA Management Jatin Parekh Sr Dir of QA, Visa

What is Quality 1.Fitness of use: Quality means the product or service does what it is expected to do 2.Customer expectation: Quality is exceeding the customer expectations. Quality is delighting the customer 3.Competition: How company’s products or services compared to competitors and compared to those offered by company in the past.

Benefits of good quality Customer loyalty Strong brand Command premium price Reduced cost – Cost of maintaining – Customer support Attracting and retaining employees

Quality Characteristics Ease of use Simplicity of design Available Reliable Safe - secure Performance Responsive Maintainable - ability to make changes quickly

Software Quality Attributes Software performs as defined by accepted requirements (external quality) – Correctness (behaves per spec) – Integrity (data integrity) – Usability (ease of use) – Efficiency (system resources) – Reliability (mean time between failure

Software Quality Attributes (cont) System structure is open to change over time (internal quality – what users don’t see) – Maintainability (cost of correcting errors) – Testability (cost / ease of testing) – Flexibility (cost of product modification) – Reusability (cost of transferring a module to another application) – Efficiency (coding efficiency, system resources) – Capacity / Scalability (ability to serve at peak load) – Security (encryption / malicious injection; OWASP) C

Quality control vs Quality Assurance Quality Control: The observation techniques and activities used to fulfill requirements for quality – Design / code review, Change mgmt / release process, Measurements and metrics Quality Assurance: The planned & systematic activities implemented in a quality system so that quality requirements will fulfilled – Test strategy, test execution, defect mgmt, etc.

Software Testing Unit testing Functional testing (use cases, API) – Black box testing (end user) – Boundary testing – White / grey box testing – Testing with mock components Internationalization (I18N) / Localization L10N Integration / end to end testing Usability / UI testing Installation & upgrade Regression testing

Software Testing (contd) Rollback / recovery & Failover Security -Open Web App Security Project (OWASP) Reliability & robustness (e.g. error handling, protocol conformance) Performance (bottlenecks / memory leaks / cpu usage responsiveness) Scalability / stress / volume / capacity Compatibility (e.g. DB changes with old code) Migration Documentation (Help / User’s manual

Software Test Category Build verification testing (BVT) User acceptance testing (UAT) Regression testing Smoke / sanity testing Ad hoc testing Alpha (internal users) / bug bash Beta testing

Testing tools Test case management tools Testing tools – Commercial / open source tools – Customer tools / utilities Automation tools (e.g. Selenium for UI automation) Test framework – Execute scripts calling multiple tools – Ability to configure env – Ability manage test data – Schedule tests – Reporting – Manage results Measurement tools (code coverage, static analysis tools)

QA Activities Planning – Overall test strategy in test plan document Review use cases & spec Test case generation Test env setup Tools development Automation script development Test execution Defect logging and verifying Test results review Release checklist

Software Industry / Technology Trends Shift from Installed software to software delivered as a service (SaaS) – Vendor can upgrade software frequently Shift from physical infrastructure to cloud infrastructure – Improved scalability Desktop/PC computing to mobile / wearable devices – Need for software to provide consistent look/feel Security – Data in transit / at rest – Govt regulations

Water Fall vs Agile Method Water fall – Final product is well defined – Design, development, & testing is done in sequence – Clients won’t have the ability to make change Agile – Allows for making changes after planning – Ability to react to competition – Development & testing is done in parallel and completed in each sprint, typically 2 to 4 weeks. – Product can be launched at the end of every sprint – Ideal for SAS / web products.

Agile Methodology Scrum is software development process Daily standup of a small self contained team – 4-6 dev / 2-3 QA / Product owner / Scrum Master Sprint retrospective and planning Core Agile Process

Agile Methodology & QA Frequent releases (continuous delivery) – Upgrade features piecemeal – Different behavior for diff users (A/B testing) Reliance on communication rather than documentation Development and testing hand in hand – Think about testing before code development Continuous integration testing Regression testing in <2 days ~ 100% Automation is Key to Success

Managing Quality Manage Project Quality: Quality Control and Quality Assurance Full time job for large, complex systems – Establish organization’s quality procedures & standards – Select appropriate procedures and standards based on project scope – Ensure that standards are followed

Managing Quality (contd) Project planning – QA project plan encompasses test strategy plan, resource plan, execution plan, checklists Project tracking, Status, Reports Tools and methods – Build vs buy Cost of quality – Tradeoff in the midst of time / resource constraints – What to test, when to test, and how much to test

Managing Quality (contd) Metrics & Measurements – Test execution monitoring – Defect trends – Code coverage – Performance measurements Defect management – Defect Triage – When to push for fix and when to push back

Role of QA Lead Manage relationship with stakeholders – Product managers, Project managers, Development, IT, Ops, Customer Care, Clients, other QA teams – Negotiations (timeline, resource, expectations) – Establish win-win situation Organization of the team – Project based – Matrix organization – Geographical based Anticipate & manage change – Metrics driven approach for decision making

Role of QA Lead (contd) Key responsibilities – Owns the quality of a release – Recruiting – Goals setting – Coaching, motivating, & conflict resolution – Challenge high performers / manage low performers – Communication – Manage remote employees – Feedback & Reviews – Honesty & fairness

Recap Roles & responsibilities of QA in Org Agile / rapid deployment cycle (1 to 4 wks) – Automation & Tools – Software development / programming experience Offshore and onshore delivery Startup vs Established companies – Documentation, schedule, level of quality Perception of QA in Org

Career in QA Key traits: – Software development & programming knowledge – Ability to troubleshoot – Wanting to know how things work end to end – Curiosity: ask questions & be proactive – Communication – Wanting to break things Managerial vs Technical track

Q & A