Enterprise Test Strategy Just for an Enterprise Project Release? CHICAGO April 18Th — April 22Th Renaissance Hotel 1 West Wacker Drive Chicago IL 60601
Total Page:16
File Type:pdf, Size:1020Kb
Isn’t an Enterprise Test Strategy just for an Enterprise Project Release? CHICAGO April 18th — April 22th Renaissance Hotel 1 West Wacker Drive Chicago IL 60601 Speaker(s): Susan Schanta When: April 22, 2016 Company: Cognizant Technology Solutions Time: 10:00 am - 11:00 am 04/22/16 Isn’t an Enterprise Test Strategy just for an Enterprise Project Release? Susan Schanta, Director © 2015 Cognizant 1 © 2015 Cognizant Why do I need an Enterprise Test Strategy? Why do I need an Enterprise Test Strategy? Because quality can’t be tested into the product… We need a shared vision to achieve quality… What is the Challenge We’re Solving for? . Lack of shared understanding regarding the role of the Quality organization − We pay a lot for QA, why isn’t quality better? − Why do we need QA so early in the lifecycle? − QA just tests at the end, right? − Why does it take QA so long to test? . How do I change our persona from a Testing Department to a Quality Center of Excellence − Does the organization understand QA’s role in the software development lifecycle? − Have I set expectations for how and when project stakeholders should engage QA? − How can I establish a collaborative relationship where cross-functional teams understand the interdependencies between their work product and the QA work product? 2 © 2015 Cognizant What is an Enterprise Strategy? The Enterprise Test Strategy establishes a framework for how the QA organization operates and interacts with project team members. When collaboratively developed with Project Management, Business Analysts and Development, the Enterprise Test Strategy provides a foundation for how the organization will build quality into product releases while reducing the cost of quality. Establishes standards for test analysis, planning and validation . Helps drive behavioral change in QA and cross-functional teams . Introduces shared responsibility for best practices . Drives defect reduction in the Requirements, Design and Construction Phases of the lifecycle . Institutes a shared and disciplined approach to automation standards to achieve automation sustainability . Defines standards for performance standards for critical applications to address operational and business continuity goals . Aligns test data management to corporate security policies . Creates strategies where gaps exist for specialty testing such as mobility, big data, automation, performance, etc. 3 © 2015 Cognizant The Value Proposition The Enterprise Test Strategy provides a framework for how QA drives quality throughout the lifecycle and provides a foundation for cross-team collaboration, quality disciplines and operating guidelines. The ultimate goal is to deliver the best quality while driving down the cost of quality. Limit Scope Creep . Increase Test Coverage . Increases velocity of Test Case creation . Increase Requirements Traceability to Test Cases . Reduce Defect Leakage to Production . Reduce Cost of Maintenance . Reduces redo work 4 © 2015 Cognizant An Examination of Strategy Types Enterprise Test Strategy Program / Project Test Strategy . Mission Statement . Project scope and objectives . Standards for test analysis, planning and validation Risks & Mitigation Definition of Test Types Assumptions, Dependencies & Constraints RACI for Test Phases – Unit through UAT . Test Scope – what will be tested Tiered approach for test documentation Limitations to testing based on tools needed . Automation Disciplines – ROI driven automation, Limitations to testing based on environment development disciplines, availability . Performance Disciplines – load/stress, usability and . Test Approach business continuity Manual test activities . Defect Management Guidelines Automated test activities . Test Data Management Guidelines Test Environment Requirements Required hardware, software and licenses . Test Environment Management . Test Data Requirements . Test Tool Data extraction requirements from production . Metrics beyond Defect Rates Parameters for manipulation of test data (such as aging) 5 © 2015 Cognizant Establishing the Enterprise Quality Framework 6 © 2015 Cognizant Defining the Mission Create a definitive statement that defines your organizational goals… Quality Assurance is dedicated to reducing the cost of quality by improving overall product reliability. Our mission to attain Quality lies in defect prevention by establishing a precisely measurable process to ensure conformance to requirements. We believe that Quality is the all important catalyst that makes the difference between success and failure. Our mission is to control, manage and drive all testing services, ensure quality in our software solutions, deliver on-time, on-budget, goal-oriented and cost-effective solutions for business, satisfy customer requirements, strive for continuous process improvements and contribute to the overall growth of the organization through streamlined, efficient and best-in-class testing practices, governance model with highly skilled & motivated people.” 7 © 2015 Cognizant Tiered Approach to Test Documentation Maintenance # Deliverable SDLC Phase PMO Releases After defining the full library of QA 1 L0 QA Project Estimate Initiation Y Y artifacts, determine mandatory 2 QCOE Project Plan (Schedule) Requirements Y N use based on set criteria 3 L1 QA Project Estimate Requirements Y N . Based on project size & 4 Requirements Traceability Matrix Requirements Y N complexity 5 Test Scenario Requirements Y Y . Based on project duration 6 Master Test Plan Requirements Y N . Based on test scope 7 L2 QA Project Estimate Design Y N 8 Project Level Test Plan Design Y N 9 Regression Test Case Selection Design Y Y 10 Test Case Design Y Y 11 Test Data Requirements Template Design Y Y 12 Test Environment Readiness Checklist Construction Y N 13 Defect Report Template Validation Y Y 14 Productivity Loss Log Validation Y Y 15 Test Summary & Closure Report Validation Y N 16 Lessons Learnt Document Validation Y N 8 © 2015 Cognizant Communication Guidelines Communication Deliverable Objective Owner Frequency Test conditions based on requirements, business Business/Test Scenario QA Lead Once during Requirements Phase rules, constraints, etc. Business/Test Scenario Stakeholder feedback collected and incorporated QA Manager As scheduled Stakeholder Review Code turnover notes of functions ready to test, Code Turnover Notes Dev Lead For each code turnover workarounds and open defects Estimate given based on business case and discussion- L0 QCOE Project Estimate QA Manager Once in Proposal Phase no requirements defined. Estimate given based on Elicitation Sessions and L1 QCOE Project Estimate QA Lead Once in Requirements Phase Requirements Requirements Traceability Trace requirements to test cases to defects QA Lead Weekly from Test Design forward Matrix Steps to validate a test condition based on business, Test Case QA Lead Once/Stored in Test Repository user, functional/nonfunctional requirements Test Case Peer Review Peer feedback collected and incorporated QA Lead As scheduled Defines the tactical and operational approach to Initiated in Requirements and Test Plan QA Lead validation of test conditions updated as needed Test Plan Stakeholder Review Stakeholder feedback collected and incorporated QA Manager As scheduled 9 © 2015 Cognizant Definition of Test Types Test Type Test Definition Unit Test Unit Test is performed by the developer to validate units of source code, modules and functions using controlled data to measure that each unit of code operates as designed. Integrated Unit Test Integration unit testing is a logical extension of unit testing. In its simplest form, two units that were individually tested are combined into a component and the interface between them is tested. A component, in this sense, refers to an integration of one or more units. Unit Regression Test When developers modify code, regression unit testing is required to evaluate code quality. In this case, the developer can reuse his original unit test cases. In some cases, the developer may be required to modify the existing tests or create new ones depending on the extent of the changes made. Smoke Test The Smoke Test provides a preliminary evaluation to identify failures severe enough to reject a prospective code turnover. A subset of test cases that cover the most important functionality. 10 © 2015 Cognizant Definition of Test Types Test Type Test Definition System Test System Test is performed to compare a program’s behavior against the functional business and technical specifications. Positive system testing involves testing users can successfully use all paths of functionality with expected results. Negative system testing is checking to make sure users are not allowed to use improper paths. System System Integration Test is performed on the complete, fully integrated system with a focus on Integration Test Role Based Testing to emulate real life scenarios, sometimes called end-to-end testing. The purpose of integrated system testing is to detect any inconsistencies between the functions that are integrated together. Regression Test Regression test is any type of software testing that seeks to uncover software errors by partially retesting a modified program. The intent of regression testing is to provide a general assurance that no additional errors were introduced in the process of fixing other problems. User Acceptance User Acceptance Testing (UAT) is a process to obtain confirmation that a system meets Test mutually agreed-upon requirements. The UAT acts as a final verification