Quality Engineering in the Devops Time Period. the New Way of Testing
Total Page:16
File Type:pdf, Size:1020Kb
Quality Engineering in the DevOps time period. The new way of Testing Geoffrey van der Tas @Gavdtas DevOps Time Period Definition of Testing Old “Independent judgement about the quality of the testobject” New “Means of getting fast feedback on your product” 2 DevOps Time Period Waterfall DevOps SpecsSpecs FeedbackTest FeedbackTest Design FeedbackTest Code FeedbackTest TestTest FeedbackTest FeedbackTest MaintainMaintain 3 DevOps Time Period 4 DevOps Time Period From Assurance towards Engineering “Quality Engineering is the management, development, operation and maintenance of IT systems and enterprise architectures with a high quality standard.” - New Perspectives on Software Quality by Ruth Breu; Annie Kuntzmann-Combelles; Michael Felderer (January–February 2014). 5 QA/ Testing to Quality Engineering What needs to happen • Testers becoming Quality Engineers • Quality from the start • Automation, Automation, Automation • Explore to test • The Grand Tour 6 Testers becoming Quality Engineers 7 Testers becoming Quality Engineers What is changing The Team Dev Ops Analist Dev Ops Test Quality Engineer Quality Assistant Agile Test Coach Quality 8 Testers becoming Quality Engineers At other companies Quality Engineering at Spotify “The Quality Engineer will help developers and teams cultivate a quality mindset, advocating for quality while assisting engineers with software development and test automation best practices.” Quality Assistance at Atlassian “They optimised the process by empowering and educating developers to test their own features to production quality standards.” 9 Testers becoming Quality Engineers Quality Engineer • Advocate for quality • Actively coach developers/business • Make testing part of Development Process • Coordinate testing efforts • Maintain test reporting and visualization • Spot opportunities for (Test) Automation 10 Quality from the start 11 Quality from the start Backlog Items – Sprint Backlog Items Crap in, Crap out 12 Quality from the start Tell the story 13 Quality from the start 14 Quality from the start Techniques Impact Mapping User Story Mapping 15 Quality Engineering in Scrum Understanding the big picture 16 Quality from the start Big Picture to User Stories Specifications: Spec one Spec two … Acceptance Criteria: Criteria one Criteria two Criteria three ….. 17 Quality from the start Communication 18 Quality from the start Refinements by examples 19 Quality from the start Specification By Example User story: As an employee I want to find other employees so I can find more information about employees. Example ATDD: Search parameter Result Peter Peter Janssen Jan Annie Jansen Jan van Buren Peter Janssen Jans Annie Jansen Peter Janssen Bakkr (geen) 20 Quality from the start Techniques 21 Quality Engineering in Scrum Powerful Refinements Understanding the big picture 22 Quality from the start ATDD TDD Failing Acceptance Test Failing Passing test test Passing Acceptance Test Refactor 23 Quality Engineering in Scrum Powerful Refinements Understanding the big picture Good Development Practices 24 Automation, Automation, Automation 25 Automation, Automation, Automation Why Automate Automation vs Manual Fast Reliable Repeatable Reuseable Control Money Fun Manual Automation 26 Automation, Automation, Automation How to approach it User Interface Slow, Big, Many Dependencies & 10 % High Maintenance Fast, Bit Bigger, Some 20 % Integration Dependecies, Easy Maintenance ATDD Fast, Small, Easy Maintenance Unit/Component 70 % TDD 27 Automation, Automation, Automation What to automate Context is key Self build vs bought software User Interface Java, Javascript, C++, C# Employee vs Client facing Integration Unit/Component 28 Automation, Automation, Automation Quality goes further then Test Automation Continuous Delivery Pipeline - Xebia 29 Automation, Automation, Automation Even further 30 Quality Engineering in Scrum Powerful Refinements Understanding the big picture Good Development Practices Automation 31 Explore to test 32 Explore to test 33 Explore to test Testing helps Checks https://findingdeefex.com/2016/05/20/the-testing-checkingsynergy/ 34 Explore to test Exploratory Testing “Exploratory Testing is a style of testing in which you explore the software while simultaneously designing and executing tests, using feedback from the last test to inform the next.” – Elisabeth Hendrickson • Timeboxed • Charters • Debrief • In Pairs 35 Explore to test Exploratory Testing Design Charters Steer Execute Debrief Learn 36 Explore to test Release Strategy Customers Product Customer Selection Canaries #Feature Toggles Pilot 37 Explore to test Examples 38 Explore to test Examples 39 Quality Engineering in Scrum Powerful Refinements Understanding the big picture Good Development Practices Automation Explore Explore 40 41 The Grand Tour About the experience 42 The Grand Tour Quality Engineering Functionality Other software components Performance Infrastructure Resilience Servers Security Databases Usability Monitoring Accesability Build pipeline 43 The Grand Tour Quality Engineering with the customer in mind 44 Quality Engineering in Scrum Powerful Refinements Understanding Quality the big picture Engineers Grand Tour Good Development Practices Automation Explore Explore 45 Quality Engineering Values Key Principles Customer first Whole team is responsible for quality Tested = Checked + Explored Bugs are fixed when they are found ‘Done’ means fully tested Quality before new functionality Collaboration is key for quality 46 How do I get from here to there? Study and practice, years of it. 47 Geoffrey van der Tas Explorer and Advocate for Quality! E-mail: [email protected] Twitter: @Gavdtas LinkedIn: https://nl.linkedin.com/in/geoffreyvdtas.