this slide is presentation in JaSST'22 Tohoku.
we faced 3 times challanging issue about test automation and resolved .
explain these issue and how to resolve it and what effective is gotton.
1st issue : process issue
2nd issue : scripting issue
3rd issue : maintenance issue
Test automation need operation.
- test automation keep latest specification.
- test automation is fragile. investigation is needed.
- test automation performance should be monitoring and improve it if low performance happened.
Test automation need operation.
- test automation keep latest specification.
- test automation is fragile. investigation is needed.
- test automation performance should be monitoring and improve it if low performance happened.
Starts with lean product development for cars, in Japan, circa 1990. Then exposes the details of continuous delivery and service architectures, which are boomeranging back to Japan from the US tech scene.Includes some of the lean philosophy that makes it such a great way to deliver a valuable product. Presentation at from a Perforce / Toyo event in Tokyo, April 2015. Includes English and Japanese. You can just skip the Japanese slides.
This document discusses unit testing and its benefits. It begins by outlining some questions about unit testing, then compares unit tests to UI tests. Unit tests are faster, test individual functions, and make code easier to change and refactor. The document provides an example of unit testing a password validation function in PHP Laravel. It discusses that while test coverage is a quality metric, high coverage alone does not guarantee high quality. It argues that internal quality through practices like unit testing does not require tradeoffs with development speed, and can actually improve productivity by reducing unnecessary tasks and lead time. Maintaining clean code through practices like unit testing is important for both quality and speed.
Starts with lean product development for cars, in Japan, circa 1990. Then exposes the details of continuous delivery and service architectures, which are boomeranging back to Japan from the US tech scene.Includes some of the lean philosophy that makes it such a great way to deliver a valuable product. Presentation at from a Perforce / Toyo event in Tokyo, April 2015. Includes English and Japanese. You can just skip the Japanese slides.
This document discusses unit testing and its benefits. It begins by outlining some questions about unit testing, then compares unit tests to UI tests. Unit tests are faster, test individual functions, and make code easier to change and refactor. The document provides an example of unit testing a password validation function in PHP Laravel. It discusses that while test coverage is a quality metric, high coverage alone does not guarantee high quality. It argues that internal quality through practices like unit testing does not require tradeoffs with development speed, and can actually improve productivity by reducing unnecessary tasks and lead time. Maintaining clean code through practices like unit testing is important for both quality and speed.
This document provides an overview of test automation from the perspective of a test automation engineer. It discusses key topics like the test automation pyramid, reporting, design considerations, and deployment. The test automation pyramid emphasizes unit testing, integration testing, and end-to-end testing from the bottom to top. Reporting and metrics are important for understanding test results and efficiency. Design focuses on aspects like data-driven testing, robustness, and repeatability. Deployment involves piloting automation, maintaining scripts, and supporting evolving environments. The goal is to improve testing in areas like coverage, speed, and cost while maintaining quality.
Test Automation Improvement by Machine Learning Jasst'21 TokyoSadaaki Emura
We have challenging issue in test automation operation.
Test automation fail by bug and not bug reason.
I think one of the main reason is temporary accident.
When test automation fail by this temporary accident, test will be success by running test again usually.
This re-run operation is boaring task and big task for test automation operation
To eliminate this kind issue and improve operation, we built system categorize issue by machine learning, re-run test only when fail reason is temporary accident.
In this session , I show you these below
- What's test automation issue in daily operation
- How to resolve this issue. store big data, learning, system architecture etc.
- Actual result for improvement
20200630 Rakuten QA meetup #2 "Improve test automation operation"Sadaaki Emura
Test automation brings benefits but also struggles like many failure reports. Currently, temporary unstable failures make up 73.4% of issues but investigating them wastes time. The presenter proposes an auto recover system to automatically re-run tests predicted to fail due to temporary issues. This could reduce wasted monthly operation time from 75 hours to around 25 hours by automating recovery of the most common failure type. The system would use OCR, screenshots and previous data to predict failure reasons and automatically re-run tests to improve test automation efficiency.
This document discusses test automation, including the purpose of test automation, the test automation process, and the test automation pyramid. The key points are:
1. Test automation aims to improve test efficiency, provide wider test coverage, reduce costs, and speed up testing.
2. The test automation process involves defining the test scope, designing tests, coding tests, setting up the test environment, running tests, and maintaining automation over time.
3. The test automation pyramid illustrates that unit tests should form the base, as they are quick to write and run, while user interface tests are at the top as they are more complex and time-consuming.
Struggles and Challenges in STLC in Ques No.13Sadaaki Emura
The document discusses struggles and challenges in software testing lifecycle (STLC) at Rakuten. It describes two main challenges - difficulty in managing requirements and test cases, and difficulty completing automation tasks on time. It then introduces requirement traceability matrix (RTM) as a solution to address the first challenge by linking requirements, test cases, and defects to ensure full test coverage and easy identification of impacted test cases when requirements change. RTM allows tracking of changes by onsite and offsite teams.
The document discusses lessons learned from analyzing requirements documents for testing purposes. It summarizes three approaches: 1) James Bach's Heuristic Test Strategy Model which classifies requirement information to guide testing, 2) Yoshio Shimizu's Universal Specification Describing Manner which stresses documenting the reason for requirements, and 3) Kazuhiro Ishihara's requirement matrix analysis which considers what should, must, and never happen for users. The key lessons are to analyze requirements from the user perspective and consider cases beyond what is explicitly specified to improve testing.
This document discusses improving automation testing speed at Rakuten. It describes how the author's team previously faced bottlenecks like long setup times and late test feedback. They created a "Mobile Labo" solution using Appium and Selenium to run tests concurrently on multiple devices from a single script. This sped up testing significantly. However, new issues emerged around device clashes and locating devices. The author aims to resolve such problems to further improve speed in the future.
4. 4
Organization
Developer group QA section
Manual test
group
Test automation
group
Me
:
8 services
Product manager engineer
https://www.irasutoya.com/
7. 7
Test automation motivation graph for 6 years
Automation
motivation
Time
2016 2022
Process issue
Script issue
Operation issue
Phase-1
Phase-2
Phase-3
15. 15
How to resolve 1st issue
• お互いのテストが不明確
• テスト自動化が仕様変更で失敗増える
⇒ テストの責任範囲・役割を明確にする
⇒ 新規機能、既存機能の仕様変更の明確化と、自動化の優先順位
16. 16
Test automation responsibility
①
②
Product
New Project scope Regression
Cover by manual test
Cover by test automation
Manual
Automation
Projectの影響範囲
Projectの影響外の既存機能
+
Projectにより修正が加わる既存機能
1) Regression affected by new project (spec change)
2) New function
17. 17
How to proceed (short term project)
t
Project A Project B
②新規機能
① 既存機能 modify modify
Create new
Create new
App release App release
Test ready Test ready
Test will
be failed
Test will
be failed
1~2 weeks
regression
New function
If have a
time
37. 37
Improve operation idea “Auto healing system”
・・・
Jenkins server
①
②
Auto healing system
Training data
③
1. テスト失敗の原因をtraining dataとして使う
2. テスト失敗時、機械学習により原因を予測する
3. temporary unstable issueのとき、自動再実行する
JaSST’21 Tokyo 「Test Automation Improvement by Machine Learning」
一部のテスト失敗
を自動に再実施す
る
• Error text
• screenshot
38. 38
Auto healing system brings …
1. Application bug
2. Test automation script bug
3. Environment issue
4. Temporary unstable
bug report、bug fix後にテスト再実行
自動化スクリプトの修正とテスト再実行
環境復旧とテスト再実行
自動でテスト再実行
Category Operation
非生産性作業は自動で処理される!
39. 39
Auto healing system brings …
0%
20%
40%
60%
80%
100%
Jan-20 Feb-20 Mar-20 Apr-20 May-20 Jun-20 Jul-20
auto healing manual operation
78%
Ratio of way to fix issue
Example.
1 operation = 2 mins
Daily operation = 300
Monthly operation = 112 hours
In July
78% failed jobs is healed in auto
Reduction = 88 hours
All manual operation human cost
Auto healing human cost
As I said during project
Regression include affected area by project should be supported
That’s why we modify test automation script if regression script is affected during project
But new function is low priority in this project. Depending on resource , we will cover it for future project
このグラフは、。。。
ひとつのテストスクリプトのパフォーマンスです
テスト自動化の8原則
「テスト結果分析という新たなタスクが生まれる」
JaSST’21 Tokyo 「Test Automation Improvement by Machine Learning」で発表したときの資料
Final 4th type “temporary unstable”
This situation is test environment does not work “in short period”.
For example.
Network connection difficulty .
Application cause timeout.
Web server cause busy
In this case, fixing solution is very simple only “retry test automation “
Although we take much time to investigate this type issue, final operation is “RETRY”
So this temporary unstable issue is very non productive and take much time.
詳細は割愛しますが、
Auto healing do “Prediction” and “RED AREA” - “Retry test automation” in auto.
This is actual output
This graph mean
100 % is all failed test automation.
RED is fixed by manual .
BLUE is fixed by auto healing, this fix operation is ZERO human operation
Pick up July case.
For example,monthly operation take about 112 hours.
78% is fixed by auto healing.
So ,about 88 hours human cost is reduct!
It’s very huge outcome.