$30 off During Our Annual Pro Sale. View Details »

テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る

Nozomi Ito
December 05, 2022

 テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る

2022.12.3に開催された「ソフトウェアテスト自動化カンファレンス2022」基調講演の資料です。
https://testautomationresearch.connpass.com/event/262132/

Nozomi Ito

December 05, 2022
Tweet

More Decks by Nozomi Ito

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. 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

    View Slide

  8. 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

    View Slide

  9. 個⼈年表
    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億円の
    資⾦調達

    View Slide

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

    View Slide

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

    View Slide

  12. 個⼈年表
    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億円の
    資⾦調達

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  37. 個⼈年表
    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億円の
    資⾦調達

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  49. 個⼈年表
    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億円の
    資⾦調達

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  57. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  63. 個⼈年表
    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億円の
    資⾦調達

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  106. まとめ
    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億円の
    資⾦調達

    View Slide

  107. To be continued!

    View Slide