Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Quality Assurance vs. Quality Control, Future of Software Quality

2,254 views

Published on

Доклад Bertrand Cornanguer на конференции SQA Days-18,
27-28 ноября 2015 г., Москва
www.sqadays.com

Published in: Education
  • Be the first to comment

Quality Assurance vs. Quality Control, Future of Software Quality

  1. 1. © Sogeti Quality Assurance vs. Quality Control The future of Software Quality Bertrand Cornanguer
  2. 2. © Sogeti Agenda • Introduction • What do we want, what is testing, Quality control • What is Software Quality Assurance and Total Quality Management • How SQA Frameworks can help to get a good product • Consequences on the people skills and competences • Conclusion
  3. 3. © Sogeti Introduction • The context of quality in software development has changed since new technologies, hardware and software, have allowed multiple varieties of development by varieties of people. • After standalone programs, the idea of Information System, connected objects oblige organization to set up processes to allow the quality of software components. • But today, a lot of organizations are still confident in Quality Control as the last hedge before production when other more advanced develop Quality Assurance • This presentation will show the differences between these two concepts and the scope of Quality Assurance in Software Development as the future of software Quality
  4. 4. © Sogeti Introduction Some figures from the SOGETI/HP World Quality Report Test plan, charge Elicitation Reviews, Functional analysis, ReqM, Traceability TDD, BDD, ATDD, Component, integration tests Operational testing, Regression testing, Continuous Integration testing
  5. 5. © Sogeti What do we want ? • A « good » product – Satisfying at first • Usability • Functionalities • Performances • Security – And also • Maintainability, portability… •A product released at the good moment •Preventing the defects with low costs •When numerous people are involved… •When software development is a single product or is a COTS… I don’t care of the IHM, but I want very fast transactions because I am a trader… I prefer a tool because it is WISIWIG, drag and drop, even there are some bugs… In case of updates, I want to be able to understand and update the code With constraints
  6. 6. © Sogeti What is testing • Testing a web application in several browsers – IE, Chrome, Firefox, Safari, – Mobile versions… – Versions 7.. – What’s happen if we only test the application in the different browsers at the end of the development ? – That’s the mystery for me ! The game commences – Oups we cannot deploy the software component !
  7. 7. © Sogeti What is testing • Testing a product: – Verifying that a product meets specified requirements. – Basically Quality control of the product => If defects are discovered then rework and retest – Increase the time to market – Corrections can generate new defects – Create stress for all stakeholders Specifications Needs analysis Coding Acceptance Integration Test is a final Quality Gate that can stop or delay a project or let the release of a bad product Are there defects ?, what do we do, postpone or deploy with bugs ? Consequences !
  8. 8. © Sogeti Specifications What is testing • Testing also a process: – Verifying that a process allows to create a good product the fist time • A process, a life cycle development has to be set up • Quality gates allow to check that the process is effective • Basically Quality Control of the process Needs analysis Coding Integration Acceptance… Quality Gate 1 Quality Gate 2 Quality Gate 3 Quality Gate 4 Are the non conformity repaired and their status updated ? Is there a test report after a test cycle ?
  9. 9. © Sogeti What is Quality Control • Quality Control: The operational techniques and activities, part of quality management, that are focused on fulfilling quality requirements. Check the product Check the processes • Informing developers, customers, testers about •Reviews •Indicator •Testing entry criteria •Functionality •Usability … Test is Quality Control
  10. 10. © Sogeti What is Quality Assurance • Quality Assurance – Part of Quality Management focused on providing confidence that quality requirements will be fulfilled Plan DoCheck Act Quality Control •Setting up processes •Implementing them •Checking products and processes •Proposing improvements for the processes •Use Methodologies, standards like Lean •Standardize Is there a test report after a test cycle ? Is the test report read and useful ? A test report template is created and used by the projects We need a test report for testing projects and deploy it on several projects This will allow to take decisions about deployment Retrospective say that the report has to change to integrate metrics that we need to take decisions The plan can be a Quality Assurance Plan
  11. 11. © Sogeti How Agile environments integrate Software Quality Assurance • Agile practices – Continuous feedback, continuous improvement – Time estimation – Test depending on quality attributes defined with the User Story – Needs comprehensiveness – Communication – Automated delivery, and configuration management But is not always well implemented… and often limited to a team, at a development level, not well integrated to the whole organization
  12. 12. © Sogeti How Agile environments integrate Software Quality Assurance • Agile practices – In a large organization you need an Extended Agile Framework to prevent the risks of implementing Agile – Sprint 0 with Global Test Strategy – Communication outside the Agile Team
  13. 13. © Sogeti Quality Assurance brings a global vision integrating the Agile teams and tests Portfolio Investments Production Plan Program – ART Release management Team Product managers Project Agile Teams Vision Architecture Themes Release Themes and goals Components and features Epics (High level requirements) Release (product) Backlog Iteration (Stories) Backlog Stories Tasks Feature Program backlog Test types
  14. 14. © Sogeti What is Total Quality Management • Improving the whole SDLC allows to reach 0 defect For each activity •Plan and develop methodologies and tools •Document, train •Review •Control implementation •Set & follow indicators •Get feedback, Improve •Communicate Needs Analyzing Specifications Coding Testing DeliveryDeployment Project Management Configuration Management Training Requirements Management People Management Plan DoCheck Act MBT, UML Functional analysis Tools PMI/Prince2 ISTQB/REQB… Tools Hay Methodology TPI,TMMI How to reach 0 defects if needs are not clear ?
  15. 15. © Sogeti How QA Frameworks help to Reach Quality Capability Maturity Model Integration (CMMI) Core Process Areas Abbre viation Name Area Maturity Level CAR Causal Analysis and Resolution Support 5 CM Configuration Management Support 2 DAR Decision Analysis and Resolution Support 3 IPM Integrated Project Management Project Management 3 MA Measurement and Analysis Support 2 OPD Organizational Process Definition Process Management 3 OPF Organizational Process Focus Process Management 3 OPM Organizational Performance Management Process Management 5 OPP Organizational Process Performance Process Management 4 OT Organizational Training Process Management 3 PMC Project Monitoring and Control Project Management 2 PP Project Planning Project Management 2 PPQA Process and Product Quality Assurance Support 2 QPM Quantitative Project Management Project Management 4 REQM Requirements Management Project Management 2 RSKM Risk Management Project Management 3 SAM Supplier Agreement Management Support 2 1-Initial 2-Managed 3-Defined 4-Quantatively Managed 5-Optimizing Capability Maturity Model Integration For each process, define activities and goals..
  16. 16. © Sogeti How QA Framework helps to Reach Quality • Validation (VAL) • An Engineering process area at Maturity Level 3 • Purpose • The purpose of Validation (VAL) is to demonstrate that a product or product component fulfills its intended use when placed in its intended environment. • Specific Practices by Goal • SG 1 Prepare for Validation – SP 1.1 Select Products for Validation – SP 1.2 Establish the Validation Environment – SP 1.3 Establish Validation Procedures and Criteria • SG 2 Validate Product or Product Components – SP 2.1 Perform Validation – SP 2.2 Analyze Validation Results Verification (VER) An Engineering process area at Maturity Level 3 Purpose The purpose of Verification (VER) is to ensure that selected work products meet their specified requirements. Specific Practices by Goal SG 1 Prepare for Verification SP 1.1 Select Work Products for Verification SP 1.2 Establish the Verification Environment SP 1.3 Establish Verification Procedures and Criteria SG 2 Perform Peer Reviews SP 2.1 Prepare for Peer Reviews SP 2.2 Conduct Peer Reviews SP 2.3 Analyze Peer Review Data SG 3 Verify Selected Work Products SP 3.1 Perform Verification SP 3.2 Analyze Verification Results But CMMI is very generic and need to be detailed. To improve the testing processes, TPI and TMMI are more useful. They integrate also the training of people
  17. 17. © Sogeti How QA Frameworks help to Reach Quality TMMI A Test Maturity Model Extracted from TMMI framework 3.1 •This model • Respects the maturity levels of CMMI • Focus on testing activities Initial Test Policy and Strategy Test Planning Test Monitoring and Control Test Design and execution Test Environment Test Organization Test Training Program Test Lifecycle and Integration Non-Functional Testing Peer Reviews 3 Defined 2 Managed 4 Measured 5 Optimization Test Measurement Software Quality Evaluation Advanced Peer Reviews Defect Prevention Test Process Optimization Quality Control of Test Processes But do wee need to follow the model of improvement ?
  18. 18. © Sogeti Continuous improvement with TPI • TPI allows to develop the key areas you want independently of the others.
  19. 19. © Sogeti Consequences on the people skill and competences • For each activity, people must be trained – On methodologies – On tools • Tools are needed to be able – To get back – To standardize the processes – To automate reports and indicators – To focus on added values tasks -Testers must understand processes and QA - People must accept Quality Assurance and processes -People must have a global vision of QA and of the SDLC -Managers must invest in training and tools -QA engineers must be efficient and not only checking the progression of activities
  20. 20. © Sogeti Conclusion • Quality Control is a reactive approach • Quality Assurance prevents the defects More confident in quality, Release Dates But •Resistance to Change •feeling of power loss for some managers •ROI difficult to be evaluated Stressing Approach Unknown release dates and Quality When
  21. 21. © Sogeti Conclusion • The future of the Software Testing is Software Quality Assurance – Improving the processes to reach the 0 defect • ISO9001 • CMMI – Deploying the Consumer Product Quality Methodologies to software development – The Quality Engineers and Quality Department ensure the quality of the products – QA and Testing budget must increase, driven by transformational projects • Organizations need to be helped to organize the changes (IDEAL) • A Kaizen spirit has to be insufflated in the organization – Quality control still exist, but budgets will decrease for Quality Assurance

×