Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テスト自動化ってなんで失敗するの?

B6beeb4582c8e63a34f97c5fc8e7dcdf?s=47 MT
October 21, 2021

 テスト自動化ってなんで失敗するの?

JaSST nano vol.5 での発表資料になります。

イベントページ:https://jasst-nano.connpass.com/event/226547/

Twitter:https://twitter.com/mt3_set
note:https://note.com/mt3_set/

B6beeb4582c8e63a34f97c5fc8e7dcdf?s=128

MT

October 21, 2021
Tweet

Transcript

  1. テスト自動化って なんで失敗するの? JaSST nano Vol.5

  2. 2 1. 自己紹介 2. 発表しようと思ったきっかけ 3. テスト自動化ってなんで失敗するの? 4. まとめ アジェンダ

  3. 3 1. 自己紹介 2. 発表しようと思ったきっかけ 3. テスト自動化ってなんで失敗するの? 4. まとめ アジェンダ

  4. 4 舘石 光寛(たていし みつひろ) Twitter:MT(@mt3_set) 2016/4~:新卒で入社 → テスター → QAエンジニア

    2019/4~:QAやりながらSETとしてテスト自動化も 2021/7~:自動化推進のお仕事 ← 今ココ 所属 経歴 資格 自動化ツール 趣味 JSTQB FL、JCSQE 初級、基本情報技術者 キャンプ、筋トレ Selenium WebDriver、mabl
  5. 5 1. 自己紹介 2. 発表しようと思ったきっかけ 3. テスト自動化ってなんで失敗するの? 4. まとめ アジェンダ

  6. 6 発表しようと思ったきっかけ JaSST nano Vol.4 やるよ ほーん... おもしろい 儀式が~ やってみよう

    申し込み JaSSTnano
  7. 7 1. 自己紹介 2. 発表しようと思ったきっかけ 3. テスト自動化ってなんで失敗するの? 4. まとめ アジェンダ

  8. 8 前置き ・自動化失敗事例(経験談) ・↑の経験から、これから自動化をはじめようとしている人(=過去の自分)に伝えたいこと 話すこと 話さないこと ・失敗原因に対する具体的な予防策・解決策 ・自動化の戦略や手法など、細かい技術の話 その他 ・本日お話しする内容は個人の見解です。

  9. 9 「自動化失敗の原因(一般論含む)」を洗い出してみた

  10. 10 「自動化失敗の原因(一般論含む)」を洗い出してみた 自動化が失敗する原因は非常に多い...

  11. 11 個人的に辛かった失敗原因 3選 コスト削減のみを 目的とする マニュアルテストを すべて自動化する 自動テストが失敗したときに すぐにメンテナンスをしない ...

    ALL
  12. 12 コストの削減のみを目的、モチベーションにすると続かない テスト自動化で新たに掛かるコスト - 初期環境構築 - 初期学習 - テストスクリプト作成 -

    メンテナンス ∟ テスト環境のメンテナンス ∟テストスクリプトの修正 - テスト結果分析 ∟テスト結果の確認・反映・管理 ∟テスト失敗時の調査 - 標準化・マニュアル化 - メンバー教育 最初のうちは減った分と同じかそれ以上に作業が増える(ただし減らないわけではない) 「コスト削減のみを目的とする」問題
  13. 13 自動化の効果、目的を多面的に捉える 本当にコスト削減だけしかできないのか?他のメリットもあるのでは? - テストサイクルの高速化 - テスト実行品質の統一 - 自動化対象テストのカバレッジ向上 -

    長期的に見ればもちろんコスト削減の側面も コスト削減の先の「本当の目的」を考える 削減したコストで本当にやりたかったことは? - 非機能要件テストの充実 - 全体的なテストカバレッジの向上 - ひいてはサービス品質の向上 どうすれば良いか?
  14. 14 自動化するテストの選定を行わないとコストだけが膨らんでいく 前提としてすべてのテストは自動化できない 使用する自動化ツールやテストの特性、確認しているテスト観点によって向き不向きがある 「テスト範囲の決定」だけでなく、テスト計画、設計全体に言えること 決めないことによる弊害 - 自動化ツール:コストが膨らむ、スキル不足に陥る - 作業スケジュール:自動化が進まない、リソース不足に陥る

    - 作業担当者・体制:自動化が進まない、 リソース不足に陥る、スキル不足に陥る - 自動化範囲:コストが膨らむ、効果が出ない - 優先度:運用されない、効果が出ない - 実行頻度:運用されない、効果が出ない 「マニュアルテストをすべて自動化する」問題
  15. 15 しっかりと計画、設計を実施する - 自動化ツール 比較検討をしっかりと行い、要件に沿った的確なツールを選定する - 作業スケジュール 長期的なスケジュールで少しずつ作る→運用するのサイクルを回す - 作業担当者・体制

    専任の担当者を1人以上立てる or 全員で行う - 自動化範囲 最初の1歩はリグレッションテストからがおすすめ - 優先度 「ここだけは絶対に止まっちゃダメ」な機能のテストから始める - 実行頻度 リリース時のマニュアルテストと一緒に自動テストも流す、などルールを決めて運用する どうすれば良いか?
  16. 16 メンテナンスを行わないと自動テストは廃れる UIの変更により失敗するテストが多発する →修正を後回しにして手動でテストをやってしまう →テスト自動化の信頼がなくなる、効果が出なくなる →評価されなくなる →誰も触らなくなる 「自動テストが失敗したときにすぐにメンテナンスをしない」問題

  17. 17 常に自動テストが回り続ける状態にしておく 実行→テスト結果分析→失敗していたら調査→メンテナンスをルーティン化する 上記が難しい場合は結果分析までを行っておいて、調査→メンテナンスは別で時間を確保して行う メンテナンスがしやすい作り、体制にする テスト設計時のルール設定や、運用フェーズのマニュアル化、ナレッジなどをしっかりと溜めておく メンテナンスにはコストが多く掛かることを理解する、理解してもらう 関係者、他メンバーの理解が必要、テスト自動化を業務全体の一部として捉えて進めていく どうすれば良いか?

  18. 18 1. 自己紹介 2. 発表しようと思ったきっかけ 3. テスト自動化ってなんで失敗するの? 4. まとめ アジェンダ

  19. 19 テスト自動化が失敗する原因はたくさんあるが、それと同時に多くの現場でその対処法、 ベストプラクティスも出始めてきている 「テスト自動化≠現状のテストの悩みを全て解決してくれるもの」であり、 目的、ゴールにあった進め方が必要 関係者全員がテスト自動化のことを正しく理解して、組織として取り組んでいくことが できればベスト まとめ これから自動化を始めようと思っている人に 少しでも「テスト自動化の考え方」みたいなものが伝われば幸いです

  20. 20 「ソフトウェアテスト自動化カンファレンス2021」で発表します。 最後にちょっと宣伝

  21. ご清聴ありがとうございました