Slide 1

Slide 1 text

Team rules that never write test code Coop Sapporo Higu! (Shuya Higuchi)

Slide 2

Slide 2 text

Presenter Frontend 2015 Iwate University 2019 IT Company in Tokyo 2020 Coop Sapporo as engineer Double Dutch, Dancing AWS, Vue.js, OAuth2.0 English presentations Shuya Higuchi(24) role: career: hobby: favorite: new to:

Slide 3

Slide 3 text

What is coop sapporo DX? Retail industry giant ● Over 1.8 million users ● Annual sales of about 300 billion yen ● Over 10,000 employees Coop sapporo DX vision Easy to use, Easy to shop, Easy to work Engineers ● 4 AWS samurai ● 24 Permanent employee engineer ● System vendor with a relationship of over 20 years We are trying digital transformation !

Slide 4

Slide 4 text

Our history I will introduce the failure story

Slide 5

Slide 5 text

A long time ago.. A team released without even creating test cases. Make a test case only when carrying out a major release Our history

Slide 6

Slide 6 text

The reason is lack of resources! Our history

Slide 7

Slide 7 text

Minor repairs were released after confirmation by engineers and directors. Of course we don't know what we've confirmed each other. OK! OK! engineer director Our history Release rules

Slide 8

Slide 8 text

And the call center was receiving a lot of scolding. Our history

Slide 9

Slide 9 text

Eventually, the development team was overwhelmed with more projects, responding to inquiries, and revamping the existing system. Our history

Slide 10

Slide 10 text

I hope to spread this lesson to other teams to prevent this kind of mistake will never happen again. Our history

Slide 11

Slide 11 text

How did we get into this mess? ● Delivery ○ The director had decided on the release date before the engineers joined the project. ■ We didn't have an accurate estimate of the project. ■ Testing was not incorporated into the man-hours. ● Quality ○ We started production without determining the detailed requirements. ■ I had made test cases only for the first release. ■ We decided to fix the bugs after the release. ■ Just before the launch, we had to support IE.

Slide 12

Slide 12 text

How did we get into this mess? ● Delivery ○ The director had decided on the release date before the engineers joined the project. ■ We didn't have an accurate estimate of the project. ■ Testing was not incorporated into the man-hours. ● Quality ○ We started production without determining the detailed requirements. ■ I had made test cases only for the first release. ■ We decided to fix the bugs after the release. ■ Just before the launch, we had to support IE.

Slide 13

Slide 13 text

After release improvement flow Inquiries select Implementation test

Slide 14

Slide 14 text

After release improvement flow Inquiries select Implementation test important

Slide 15

Slide 15 text

How do I test it? ● How to test?(How) ○ Operations test?Interface test?unit test? ● What is the test object?(What) ● Who will do the review?(Who) ● When is it done?(When) ● Where is the test environment?(Where) ● Why are we running the test?(Why) A start-up team does not have the rules that exist in a typical team.

Slide 16

Slide 16 text

Never-ending task after release test bug Inquiries select Implementation

Slide 17

Slide 17 text

Since each person does it individually, there will be variations in the test. The efficiency of the system is also reduced because the cause of the problem is determined from the inquiries made at any time. Never-ending task after release Inquiries select Implementation test bug

Slide 18

Slide 18 text

Solution of "How do you test it?" ● How to test?(How) ○ Focus only on user story testing. ● What is the test object?(What) ○ Create and use spreadsheets as templates. ● Who will do the review test?(Who) ○ People who reviewed code. ● When is it done?(When) ○ During code review. ● Where is the test environment?(Where) ○ We must use the staging environment before release. ● Why are we running the test?(Why) ○ To prevent customer distrust due to defects and loss of efficiency due to fixing bugs.

Slide 19

Slide 19 text

Test format Since IE has been the most common cause of problems, we will definitely test Chrome and IE.

Slide 20

Slide 20 text

Timing of test execution version increment v1.3.4 main dev feature/.. feature/.. ・Create test cases for dev when creating PR ・Test execution in the staging environment after merging ・Perform testing for each feature

Slide 21

Slide 21 text

Template PR for dev merge ● description of PR ● Are there any changes to the architecture diagram? ● Will you share changed by GoogleMeet? ● Do you want to advices? ● Have the testing case ever gotten reviewed by member? ● Is there affected to webview?

Slide 22

Slide 22 text

Automatic template generation when creating a github PR First you create the . /github folder in the root directory of the project folder in the root directory of the project folder. Secound, create a PULL_REQUEST_TEMPLATE.md file and write it in markdown notation. Then, when you create the PR, the template will be generated as shown in the image.

Slide 23

Slide 23 text

Like this.

Slide 24

Slide 24 text

When to merge from dev to main main dev feature/.. feature/.. this!

Slide 25

Slide 25 text

The template when to merge from dev to main ● URL of the merged PR ● Did you finish the testing by IE and Google Chrome?

Slide 26

Slide 26 text

Results Before: 2,3 times/month After: 0 times/month Bug reports due to release update ※Results for April and May

Slide 27

Slide 27 text

Supplementary information The template text for merging from feature to dev, The template text for merging from dev to main, I put both in the same PULL_REQUEST_TEMPLATE.md and delete unnecessary text as needed.

Slide 28

Slide 28 text

Last message・・・ Please search 「コープさっぽろDX」!