Slide 1

Slide 1 text

テスト⾃動化で起業した10年と テスト⾃動化普及の歴史を振り返る MagicPod CEO 伊藤望 ソフトウェアテスト⾃動化カンファレンス2022 基調講演

Slide 2

Slide 2 text

About me • 伊藤 望 (Ito Nozomi) • 株式会社MagicPod CEO • ⾃動テストツール歴:約13年 • Twitter:@ito_nozomi • 著書

Slide 3

Slide 3 text

MagicPod • Web & モバイルアプリのE2Eテスト⾃動化SasS • ノーコードで簡単にテスト作成 • 柔軟性とメンテナンス性が強み (magicpod.com)

Slide 4

Slide 4 text

ユーザーさんのブログ記事‧発表 エンペイ1⼈⽬QAが ⼊社して3ヶ⽉でやってきたこと MagicPod(E2Eツール)を導⼊して品 質とリリース頻度を両⽴している話 なぜSeleniumを選ばなかったのか 〜 AutifyとMagicPodを選びました〜 MagicPodでE2Eテストを実装した話 テスト⾃動化の魅⼒に気づくまで アプリのテストに MagicPodを導⼊している話

Slide 5

Slide 5 text

E2Eテスト⾃動化普及の歴史 in Japan

Slide 6

Slide 6 text

E2Eテスト⾃動化普及の歴史 in Japan 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 ※OSS:オープンソースソフトウェアのこと

Slide 7

Slide 7 text

E2Eテスト⾃動化普及の歴史 in Japan 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 QTP UWSC AutoIt ①⾮Selenium系OSSの登場 Cypress, Pupeteer, Playwright ②ノーコード、AIツールの登場 MagicPod, mabl, Autify

Slide 8

Slide 8 text

E2Eテスト⾃動化普及の歴史 in Japan 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 ⽇本Selenium ユーザーコミュニティ SeleniumConf Tokyo MagicPod Cypress Pupeteer mabl Autify Playwright 第1回システムテスト ⾃動化カンファレンス Selenium2

Slide 9

Slide 9 text

個⼈年表 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 SeleniumConf Tokyo MagicPod β版 テスト⾃動化で起業 ⽇本Selenium ユーザーコミュニティ 初代ツールの 開発失敗 Selenium 実践⼊⾨出版 初の資⾦調達 5,000万円の 資⾦調達 3億円の 資⾦調達

Slide 10

Slide 10 text

Agenda 1. 13年前のテスト⾃動化 2. 失敗に終わった最初の製品 3. Seleniumを⽇本に広める 4. AIがもう⼀度くれたチャンス 5. テスト⾃動化の次のトレンドは?

Slide 11

Slide 11 text

1. 13年前のテスト⾃動化 2. 失敗に終わった最初の製品 3. Seleniumを⽇本に広める 4. AIがもう⼀度くれたチャンス 5. テスト⾃動化の次のトレンドは?

Slide 12

Slide 12 text

個⼈年表 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 SeleniumConf Tokyo MagicPod β版 テスト⾃動化で起業 ⽇本Selenium ユーザーコミュニティ 初代ツールの 開発失敗 Selenium 実践⼊⾨出版 初の資⾦調達 5,000万円の 資⾦調達 3億円の 資⾦調達

Slide 13

Slide 13 text

起業前にいたパッケージソフトウェア企業 1. 13年前のテスト⾃動化 ⼤量の画⾯ ⼤量の複雑な設定 Windowsアプリケーション (C++でもC#でもない) 複数の製品バージョン が存在

Slide 14

Slide 14 text

⼿動テストの負のサイクル 1. 13年前のテスト⾃動化 ユーザー先で 不具合発覚 品質不⼗分で リリース 調査やパッチ適⽤に 時間を取られる 開発‧テスト時間が 確保できない

Slide 15

Slide 15 text

ある⽇の不具合修正 1. 13年前のテスト⾃動化 修正実施 ⼿動テスト

Slide 16

Slide 16 text

ある⽇の不具合修正 1. 13年前のテスト⾃動化 修正実施 ⼿動テスト Ver.3 Ver.2 Ver.1

Slide 17

Slide 17 text

ある⽇の不具合修正 1. 13年前のテスト⾃動化 修正実施 ⼿動テスト Ver.3 Ver.2 ⼿動テスト Ver.1

Slide 18

Slide 18 text

ある⽇の不具合修正 1. 13年前のテスト⾃動化 修正実施 ⼿動テスト Ver.3 Ver.2 ⼿動テスト 同じ内容なので テストは省略! Ver.1

Slide 19

Slide 19 text

ある⽇の不具合修正 1. 13年前のテスト⾃動化 修正実施 リリース ⼿動テスト Ver.3 Ver.2 ⼿動テスト 同じ内容なので テストは省略! Ver.1 リリース リリース

Slide 20

Slide 20 text

1. 13年前のテスト⾃動化 めでたしめでたし..

Slide 21

Slide 21 text

数ヶ⽉後.. 1. 13年前のテスト⾃動化 Ver.1のお客さんで エラー出てるんですけど

Slide 22

Slide 22 text

1. 13年前のテスト⾃動化 まさかのVer.1だけ修正ミス

Slide 23

Slide 23 text

1. 13年前のテスト⾃動化 ちゃんと3バージョン全部 テストしなきゃダメだよ マネージャー

Slide 24

Slide 24 text

1. 13年前のテスト⾃動化 気をつけます!

Slide 25

Slide 25 text

1. 13年前のテスト⾃動化

Slide 26

Slide 26 text

1. 13年前のテスト⾃動化 それ、⼈間がやる 作業じゃなくね..?

Slide 27

Slide 27 text

1. 13年前のテスト⾃動化 テストを⾃動化せねばならない

Slide 28

Slide 28 text

当時あった社内の取り組み 1. 13年前のテスト⾃動化 ①ユニットテスト 「テストを書く時間がない」 により普及せず ②UWSCによるUIテスト 認識できない要素が多い スクリプトが職⼈芸 https://buralog.jp/uwsc-memory/

Slide 29

Slide 29 text

1. 13年前のテスト⾃動化 結論 UIテストツール ⾃作!

Slide 30

Slide 30 text

1. 13年前のテスト⾃動化 AUTOTEST(仮)

Slide 31

Slide 31 text

記録‧再⽣エンジンを完全⾃作 1. 13年前のテスト⾃動化 ツール作成のノウハウなど この世に存在しない Windows内部の仕組みを ひたすら調べて試⾏錯誤

Slide 32

Slide 32 text

訪れるさまざまな危機 1. 13年前のテスト⾃動化 成果が出なくて 打ち切られかける事件 できたのに 誰も使ってくれない問題 リソースエラーが直らなくて OS内をアセンブリデバッグ

Slide 33

Slide 33 text

1. 13年前のテスト⾃動化 3年がかりで開発と社内普及

Slide 34

Slide 34 text

めっちゃ成果出た! 1. 13年前のテスト⾃動化 何百⼈ものQAが 使うように! 退職後も 継続運⽤されてました 3千⼈から3⼈しか選ばれない 社⻑賞を受賞!

Slide 35

Slide 35 text

1. 13年前のテスト⾃動化 ⾃動テストってすばらしい!

Slide 36

Slide 36 text

1. 13年前のテスト⾃動化 2. 失敗に終わった最初の製品 3. Seleniumを⽇本に広める 4. AIがもう⼀度くれたチャンス 5. テスト⾃動化の次のトレンドは?

Slide 37

Slide 37 text

個⼈年表 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 SeleniumConf Tokyo MagicPod β版 テスト⾃動化で起業 ⽇本Selenium ユーザーコミュニティ 初代ツールの 開発失敗 Selenium 実践⼊⾨出版 初の資⾦調達 5,000万円の 資⾦調達 3億円の 資⾦調達

Slide 38

Slide 38 text

AUTOTEST(仮)も軌道に乗った年の正⽉ 2. 失敗に終わった最初の製品 ⼊社1年で独⽴する つもりがもう3年⽬.. そろそろ ⾒切り発⾞で 起業せねば..

Slide 39

Slide 39 text

成功するスタートアップの3要素 2. 失敗に終わった最初の製品 (出典不詳) ⼤きな市場規模 顧客が抱える⼤きなペイン ペインを解決する新しいソリューション

Slide 40

Slide 40 text

「⾃動テストツール」はどうか? 2. 失敗に終わった最初の製品 市場規模 ⼤きなペイン 新しいソリューション 社内には巨⼤なQA部隊 どの部⾨も品質に困っている もっと良質で安価なツールを提供

Slide 41

Slide 41 text

2. 失敗に終わった最初の製品 誰も⾒たことのない 究極のテストツールを作る!

Slide 42

Slide 42 text

⾃動テストの会社を設⽴ 2. 失敗に終わった最初の製品 資本⾦900万 (会社員時代の貯⾦) Webをはじめとする あらゆるGUIが対象 Seleniumでは不⼗分なので エンジンから⾃作 ユーザー操作を 記録して再⽣ (当時の社名はTRIDENT)

Slide 43

Slide 43 text

2. 失敗に終わった最初の製品 結果

Slide 44

Slide 44 text

2. 失敗に終わった最初の製品 1年くらいやったが完成せず..

Slide 45

Slide 45 text

2. 失敗に終わった最初の製品 失敗の理由 ‒ 技術要因 ブラウザ内部に 外からアクセス困難 Windowsアプリより ロケータが複雑 理想を求めすぎて ⾼難易度に

Slide 46

Slide 46 text

2. 失敗に終わった最初の製品 失敗の理由 ‒ ビジネス要因 当時は開発者ツールは OSSが主役 ⼤した差別化ポイント がなかった 実はSeleniumで ⼗分だった

Slide 47

Slide 47 text

2. 失敗に終わった最初の製品 トレンドには勝てずピボットへ.. ※ピボット:「ダメだったので⽅針転換」をスタートアップ⾵に表した⾔葉

Slide 48

Slide 48 text

1. 13年前のテスト⾃動化 2. 失敗に終わった最初の製品 3. Seleniumを⽇本に広める 4. AIがもう⼀度くれたチャンス 5. テスト⾃動化の次のトレンドは?

Slide 49

Slide 49 text

個⼈年表 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 SeleniumConf Tokyo MagicPod β版 テスト⾃動化で起業 ⽇本Selenium ユーザーコミュニティ 初代ツールの 開発失敗 Selenium 実践⼊⾨出版 初の資⾦調達 5,000万円の 資⾦調達 3億円の 資⾦調達

Slide 50

Slide 50 text

3. Seleniumを⽇本に広める とりあえず資⾦繰りを なんとかせねば.. 既存ツールの コンサル&導⼊⽀援に転換 ⼈脈⼒で案件確保 ピボット決定後

Slide 51

Slide 51 text

3. Seleniumを⽇本に広める そもそもテスト⾃動化が 普及してない ⾃社製品開発時に詳しくなった Seleniumの普及活動を決意 ピボット決定後

Slide 52

Slide 52 text

やったこと 3. Seleniumを⽇本に広める

Slide 53

Slide 53 text

3. Seleniumを⽇本に広める • バズって⼤量アクセスが • Seleniumに詳しい⼈として認知された ブログ書く(2013)

Slide 54

Slide 54 text

3. Seleniumを⽇本に広める • メディア掲載効果でメンバーが1⽇で倍増 Seleniumコミュニティ設⽴ (2013) https://xtech.nikkei.com/it/article/NEWS/20130709/490324/

Slide 55

Slide 55 text

3. Seleniumを⽇本に広める • 初代Seleniumの作者が来⽇ Selenium勉強会 (2014) https://www.publickey1.jp/blog/14/javascriptselenium1_selenium_1.html

Slide 56

Slide 56 text

3. Seleniumを⽇本に広める • ブログがきっかけで執筆 Selenium実践⼊⾨ (2016)

Slide 57

Slide 57 text

3. Seleniumを⽇本に広める • ⽇本初のSelenium国際カンファレンス • 26カ国から430⼈が参加 • ⼤⼿企業16社がスポンサーに SeleniumConf Tokyo (2019) https://www.flickr.com/photos/157768372@N04/47007925794/ https://www.flickr.com/photos/157768372@N04/40907697043

Slide 58

Slide 58 text

3. Seleniumを⽇本に広める 6年間でE2Eテスト⾃動化は広く普及 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) ⽇本Selenium ユーザーコミュニティ Selenium 実践⼊⾨出版 SeleniumConf Tokyo • けっこう貢献したはず!

Slide 59

Slide 59 text

課題 3. Seleniumを⽇本に広める

Slide 60

Slide 60 text

3. Seleniumを⽇本に広める Selenium普及の課題 コーディング⼈材が 確保できない ローカルCI環境 構築の複雑さ Selenium IDE のメンテナンス性の低さ

Slide 61

Slide 61 text

3. Seleniumを⽇本に広める 最⼤の課題 誰かの作ったものの 紹介ばっかしてても おもしろくない..

Slide 62

Slide 62 text

1. 13年前のテスト⾃動化 2. 失敗に終わった最初の製品 3. Seleniumを⽇本に広める 4. AIがもう⼀度くれたチャンス 5. テスト⾃動化の次のトレンドは?

Slide 63

Slide 63 text

個⼈年表 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 SeleniumConf Tokyo MagicPod β版 テスト⾃動化で起業 ⽇本Selenium ユーザーコミュニティ 初代ツールの 開発失敗 Selenium 実践⼊⾨出版 初の資⾦調達 5,000万円の 資⾦調達 3億円の 資⾦調達

Slide 64

Slide 64 text

4. AIがもう⼀度くれたチャンス ⾃社製品開発に再挑戦したいが.. 今までにない製品を 作るにはどうすれば.. どうすれば 注⽬を集められるか..

Slide 65

Slide 65 text

4. AIがもう⼀度くれたチャンス 当時注⽬されていたAI技術の進化 画像認識 ⾃動運転 https://dl.acm.org/doi/pdf/10.1145/3065386

Slide 66

Slide 66 text

4. AIがもう⼀度くれたチャンス AIを使えば全く新しい テストツールができる! マーケティング的にも ウケるはず!

Slide 67

Slide 67 text

成功するスタートアップの3要素 4. AIがもう⼀度くれたチャンス 市場規模 ⼤きなペイン 新しいソリューション 今もテストに割かれる膨⼤なコスト AIを使ったソリューション! (再掲) テストに困っていない会社は⼀握り

Slide 68

Slide 68 text

4. AIがもう⼀度くれたチャンス 画像を指定 解析 要素検出 画像だけでテストが作れる! 新サービス「MagicPod」(初期の名前はMagic Pot)

Slide 69

Slide 69 text

4. AIがもう⼀度くれたチャンス SeleniumやAppiumの ロケータに依存しない 画像処理‧OCR‧ DNN物体認識で要素検出 ※OCR:画像内の⽂字を認識する技術 内部の変更に影響を受けないので メンテナンス性向上 内部を知らなくても テストが組める ※DNN:ディープニューラルネットワーク

Slide 70

Slide 70 text

4. AIがもう⼀度くれたチャンス デモ版の動画公開 数⽇で100社近い事前申し込み

Slide 71

Slide 71 text

4. AIがもう⼀度くれたチャンス これは、 いけるんちゃうか..!

Slide 72

Slide 72 text

4. AIがもう⼀度くれたチャンス ※ベンチャーキャピタル:スタートアップにお⾦を投資してくれる⽅々 ベンチャーキャピタル というのを回ってみよう

Slide 73

Slide 73 text

4. AIがもう⼀度くれたチャンス 結果

Slide 74

Slide 74 text

4. AIがもう⼀度くれたチャンス 30社くらい回って全滅..

Slide 75

Slide 75 text

4. AIがもう⼀度くれたチャンス なぜか?? 無料版+有料サポート版 の料⾦体系 有料ユーザーの 獲得がない

Slide 76

Slide 76 text

4. AIがもう⼀度くれたチャンス たくさんの⼈に 使ってもらうため、 無料版はやりたい! どうしたか??

Slide 77

Slide 77 text

4. AIがもう⼀度くれたチャンス 料⾦体系を変えずに突き進む 利⽤者が増えれば 投資はついて来るはず!

Slide 78

Slide 78 text

4. AIがもう⼀度くれたチャンス 4年前の反省を活かす 壮⼤な理想を 描きすぎない 最後は Appiumコードに変換 MVPを作って 素早く検証 ※MVP:顧客のニーズをギリギリみたせる最⼩限の製品

Slide 79

Slide 79 text

4. AIがもう⼀度くれたチャンス 今回はそれなりに作れた ユーザーにも触ってもらえた

Slide 80

Slide 80 text

4. AIがもう⼀度くれたチャンス が

Slide 81

Slide 81 text

4. AIがもう⼀度くれたチャンス AIによる解析の精度が出ない..

Slide 82

Slide 82 text

4. AIがもう⼀度くれたチャンス ⼊⼒エリアとかボタンとか 特徴少なすぎで検出困難 OCRの⽂字認識すら 安定していない リストのn⾏⽬を タップとか..

Slide 83

Slide 83 text

4. AIがもう⼀度くれたチャンス CIに組み込んでもらえない..

Slide 84

Slide 84 text

4. AIがもう⼀度くれたチャンス CI⽤のモバイル実機とMacを 常時確保してもらえない 対象がモバイルアプリテスト on ローカルPC Xcodeとかの 環境メンテナンスが⾯倒

Slide 85

Slide 85 text

4. AIがもう⼀度くれたチャンス 三重苦 有料プランに なってくれない テスト作っても CIに組み込まれない AI精度が低く テスト作れない

Slide 86

Slide 86 text

4. AIがもう⼀度くれたチャンス どうする!?

Slide 87

Slide 87 text

4. AIがもう⼀度くれたチャンス 1.「AIの精度が低すぎる」問題 画像解析結果は 可読性向上のための補助情報に 画像解析に代わり システム情報で要素特定

Slide 88

Slide 88 text

4. AIがもう⼀度くれたチャンス 2.「CIに組み込まれない」問題 半年がかりで クラウド端末機能を開発 端末の確保や 環境メンテナンスが不要に

Slide 89

Slide 89 text

4. AIがもう⼀度くれたチャンス 3.「有料プランになってくれない」問題 無料トライアル+有料版 のモデルに転換 フリーミアムモデルの 夢は叶わなかった..

Slide 90

Slide 90 text

4. AIがもう⼀度くれたチャンス さらにブラウザテスト版も投⼊

Slide 91

Slide 91 text

"*がもう⼀度くれたチャンス そしてついについに

Slide 92

Slide 92 text

4. AIがもう⼀度くれたチャンス 売り上げが右肩上がりにʂ 2020/3 2020/6 2020/9 2020/12 2021/3 2021/6 2021/9 2021/12 2022/3

Slide 93

Slide 93 text

4. AIがもう⼀度くれたチャンス ユーザー業務に貢献できるように! https://magicpod.com/customer-stories/

Slide 94

Slide 94 text

4. AIがもう⼀度くれたチャンス 資⾦調達もできるようになりました

Slide 95

Slide 95 text

4. AIがもう⼀度くれたチャンス 失われたAIは新たな活路を⾒出す 重複したUI定義の ⾃動統合機能 UI変更があった場合に テストを⾃動修復

Slide 96

Slide 96 text

4. AIがもう⼀度くれたチャンス めでたしめでたし

Slide 97

Slide 97 text

1. 13年前のテスト⾃動化 2. 失敗に終わった最初の製品 3. Seleniumを⽇本に広める 4. AIがもう⼀度くれたチャンス 5. テスト⾃動化の次のトレンドは?

Slide 98

Slide 98 text

個⼈年表 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 SeleniumConf Tokyo MagicPod β版 ⽇本Selenium ユーザーコミュニティ Selenium 実践⼊⾨出版 初の資⾦調達 5,000万円の 資⾦調達 3億円の 資⾦調達

Slide 99

Slide 99 text

5. テスト⾃動化の次のトレンドは? 未来を予測する最良の⽅法は 未来を創ることだ

Slide 100

Slide 100 text

5. テスト⾃動化の次のトレンドは? MagicPodが 次に創ろうとしている未来

Slide 101

Slide 101 text

5. テスト⾃動化の次のトレンドは? 「コード」と「ノーコード」の 融合

Slide 102

Slide 102 text

5. テスト⾃動化の次のトレンドは? コードで 書きたい開発者 ノーコードで 書きたいQA バージョン管理 ブランチ管理 Git管理 検索‧置換 柔軟性 分かりやすい 誰でも使える 運⽤しやすい 社内で分断が起きてしまう

Slide 103

Slide 103 text

5. テスト⾃動化の次のトレンドは? 開発とQAの協調こそ E2Eテスト⾃動化成功のカギ

Slide 104

Slide 104 text

5. テスト⾃動化の次のトレンドは? 「コード」と「ノーコード」の融合 相互変換可能

Slide 105

Slide 105 text

5. テスト⾃動化の次のトレンドは? 開発とQAの 協調‧分担が可能に 既存製品はノーコードから コードの⼀⽅通⾏ 常に両⽅を 同期可能

Slide 106

Slide 106 text

まとめ 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 普及度(体感) Seleniumの時代 多極化の時代 Non-OSSの時代 SeleniumConf Tokyo MagicPod β版 テスト⾃動化で起業 ⽇本Selenium ユーザーコミュニティ 初代ツールの 開発失敗 Selenium 実践⼊⾨出版 初の資⾦調達 5,000万円の 資⾦調達 3億円の 資⾦調達

Slide 107

Slide 107 text

To be continued!