Slide 1

Slide 1 text

How should we establish new QA activities? Hideshi Sakaguchi Tokyo Software Testing Meetup - April

Slide 2

Slide 2 text

Introduction: whoami ● Freelance QAE ● 7+ years experience of QAE ● Started career as SET, and recent focus is QA process improvement ● Feel free to connect (LinkedIn):

Slide 3

Slide 3 text

About this talk ● Topic: “How should we establish/improve QA activities in development team?” ● Target: People who will join to (small) software development team as the first resource of QAE ● Type of talk: It’s more practical, rather than technical ● Notes: I believe that non-QAEs can also learn something new from this talk :)

Slide 4

Slide 4 text

Precondition: Which team are we joining to? ● Small development team (<10 members in total) ● The team develops Web service ● The team have developed a product for a while, and basic features have been almost implemented ● You are the first resource of QAE, and are supposed to achieve long-term contribution

Slide 5

Slide 5 text

Best practice: What we should do? 1. Discuss “Why do we need QAEs?” 2. Achieve tiny but effective QA activity 3. Present the QA activity to the team 4. Integrate QA activity into development process

Slide 6

Slide 6 text

1st action: Why do we need QAEs? If people require QAEs, they MUST have quality related issues. So let’s start with understanding their pain. No testing process at all Testing is time-consuming Bugs were released to production Communication gaps happen between PdM and Software Developers

Slide 7

Slide 7 text

1st action: Why do we need QAEs? Different issues have Different solutions. No testing process at all -> Establish testing process Testing is time-consuming -> Automate regression tests Bugs were released to production -> Build up test design skill Communication gaps happen between PdM and Software Developers -> Introduce Specification By Example

Slide 8

Slide 8 text

2nd Action: Achieve tiny but effective QA activity ● To make long-term contribution in the team, we need to accumulate trust ● To gain trust from the team, we need to make achievements in a short time ○ So let’s identify an issue which is painful but tiny enough ● Case Study: E2E Auto-test script exists, but its maintenance cost is too high ○ Example solution: Have an investigation if the script follows auto-test practices, e.g., Page-object model, parameterized testing, or using BDD frameworks // login page public class LoginPage { … public void login(String id, String pwd) { // fill in login form w/ id and pwd // click login button // assert that MyPage is displayed } … }

Slide 9

Slide 9 text

3rd action: Present the QA activity to the team ● On regular meeting, present what the new QA activity is and how it works ● Case Study: E2E Auto-test script exists, but its maintenance cost is too high ○ Measure how much of time spent to maintain the script becomes reduced ○ Have an enquete about how the members feel that the script became easy to maintain

Slide 10

Slide 10 text

4th action: Integrate QA activity into development process ● Making consensus among the members beforehand is recommended to smoothly start new activities ● Case Study: E2E Auto-test script exists, but its maintenance cost is too high ○ On weekly meeting, make consensus to follow auto-test pracitces ○ Create and publish documents or learning materials on auto-test practices ○ Be welcome for any question/discussions

Slide 11

Slide 11 text

Next-level action: Everlasting improvement ● It’s difficult to reach PERFECT QA process, but we still can approach it ● Case Study: E2E Auto-test script exists, but its maintenance cost is too high ○ People understood what the Page-object design pattern is, how to use it, but… ■ The script became flaky and slow ■ Test Coverage became lower ■ Other type of auto-test is required, e.g., VRT, API test, or database test time quality

Slide 12

Slide 12 text

Anti-patterns: What we shouldn’t do? ● Impose your idea ● Change everything at once

Slide 13

Slide 13 text

Anti-patterns: Impose your idea ● Remember that you are assigned to the team because of some reasons ● Remember that we will lose trust if we ignore team’s pain ● Remember that the idea is easy to be accepted if it has evidence that it works Well, our issue is that we recently released bugs to production… AUTOMATE EVERYTHING!!!

Slide 14

Slide 14 text

Anti-patterns: Change everything at once ● Remember that the team has already have development process, and changing the process is very tough for everyone ● Remember that adding/improving QA activities one by one is realistic way time auto-test Specification by Example test-design skill time auto-test Specification by Example test-design skill

Slide 15

Slide 15 text

Summary