JaSST nano vol.5 での発表資料になります。
イベントページ:https://jasst-nano.connpass.com/event/226547/
Twitter:https://twitter.com/mt3_set note:https://note.com/mt3_set/
テスト自動化ってなんで失敗するの?JaSST nano Vol.5
View Slide
21. 自己紹介2. 発表しようと思ったきっかけ3. テスト自動化ってなんで失敗するの?4. まとめアジェンダ
31. 自己紹介2. 発表しようと思ったきっかけ3. テスト自動化ってなんで失敗するの?4. まとめアジェンダ
4舘石 光寛(たていし みつひろ)Twitter:MT(@mt3_set)2016/4~:新卒で入社 → テスター → QAエンジニア2019/4~:QAやりながらSETとしてテスト自動化も2021/7~:自動化推進のお仕事 ← 今ココ所属経歴資格自動化ツール趣味JSTQB FL、JCSQE 初級、基本情報技術者キャンプ、筋トレSelenium WebDriver、mabl
51. 自己紹介2. 発表しようと思ったきっかけ3. テスト自動化ってなんで失敗するの?4. まとめアジェンダ
6発表しようと思ったきっかけJaSST nanoVol.4 やるよほーん... おもしろい儀式が~ やってみよう申し込みJaSSTnano
71. 自己紹介2. 発表しようと思ったきっかけ3. テスト自動化ってなんで失敗するの?4. まとめアジェンダ
8前置き・自動化失敗事例(経験談)・↑の経験から、これから自動化をはじめようとしている人(=過去の自分)に伝えたいこと話すこと話さないこと・失敗原因に対する具体的な予防策・解決策・自動化の戦略や手法など、細かい技術の話その他・本日お話しする内容は個人の見解です。
9「自動化失敗の原因(一般論含む)」を洗い出してみた
10「自動化失敗の原因(一般論含む)」を洗い出してみた自動化が失敗する原因は非常に多い...
11個人的に辛かった失敗原因 3選コスト削減のみを目的とするマニュアルテストをすべて自動化する自動テストが失敗したときにすぐにメンテナンスをしない...ALL
12コストの削減のみを目的、モチベーションにすると続かないテスト自動化で新たに掛かるコスト- 初期環境構築- 初期学習- テストスクリプト作成- メンテナンス∟ テスト環境のメンテナンス∟テストスクリプトの修正- テスト結果分析∟テスト結果の確認・反映・管理∟テスト失敗時の調査- 標準化・マニュアル化- メンバー教育最初のうちは減った分と同じかそれ以上に作業が増える(ただし減らないわけではない)「コスト削減のみを目的とする」問題
13自動化の効果、目的を多面的に捉える本当にコスト削減だけしかできないのか?他のメリットもあるのでは?- テストサイクルの高速化- テスト実行品質の統一- 自動化対象テストのカバレッジ向上- 長期的に見ればもちろんコスト削減の側面もコスト削減の先の「本当の目的」を考える削減したコストで本当にやりたかったことは?- 非機能要件テストの充実- 全体的なテストカバレッジの向上- ひいてはサービス品質の向上どうすれば良いか?
14自動化するテストの選定を行わないとコストだけが膨らんでいく前提としてすべてのテストは自動化できない使用する自動化ツールやテストの特性、確認しているテスト観点によって向き不向きがある「テスト範囲の決定」だけでなく、テスト計画、設計全体に言えること決めないことによる弊害- 自動化ツール:コストが膨らむ、スキル不足に陥る- 作業スケジュール:自動化が進まない、リソース不足に陥る- 作業担当者・体制:自動化が進まない、 リソース不足に陥る、スキル不足に陥る- 自動化範囲:コストが膨らむ、効果が出ない- 優先度:運用されない、効果が出ない- 実行頻度:運用されない、効果が出ない「マニュアルテストをすべて自動化する」問題
15しっかりと計画、設計を実施する- 自動化ツール比較検討をしっかりと行い、要件に沿った的確なツールを選定する- 作業スケジュール長期的なスケジュールで少しずつ作る→運用するのサイクルを回す- 作業担当者・体制専任の担当者を1人以上立てる or 全員で行う- 自動化範囲最初の1歩はリグレッションテストからがおすすめ- 優先度「ここだけは絶対に止まっちゃダメ」な機能のテストから始める- 実行頻度リリース時のマニュアルテストと一緒に自動テストも流す、などルールを決めて運用するどうすれば良いか?
16メンテナンスを行わないと自動テストは廃れるUIの変更により失敗するテストが多発する→修正を後回しにして手動でテストをやってしまう→テスト自動化の信頼がなくなる、効果が出なくなる→評価されなくなる→誰も触らなくなる「自動テストが失敗したときにすぐにメンテナンスをしない」問題
17常に自動テストが回り続ける状態にしておく実行→テスト結果分析→失敗していたら調査→メンテナンスをルーティン化する上記が難しい場合は結果分析までを行っておいて、調査→メンテナンスは別で時間を確保して行うメンテナンスがしやすい作り、体制にするテスト設計時のルール設定や、運用フェーズのマニュアル化、ナレッジなどをしっかりと溜めておくメンテナンスにはコストが多く掛かることを理解する、理解してもらう関係者、他メンバーの理解が必要、テスト自動化を業務全体の一部として捉えて進めていくどうすれば良いか?
181. 自己紹介2. 発表しようと思ったきっかけ3. テスト自動化ってなんで失敗するの?4. まとめアジェンダ
19テスト自動化が失敗する原因はたくさんあるが、それと同時に多くの現場でその対処法、ベストプラクティスも出始めてきている「テスト自動化≠現状のテストの悩みを全て解決してくれるもの」であり、目的、ゴールにあった進め方が必要関係者全員がテスト自動化のことを正しく理解して、組織として取り組んでいくことができればベストまとめこれから自動化を始めようと思っている人に少しでも「テスト自動化の考え方」みたいなものが伝われば幸いです
20「ソフトウェアテスト自動化カンファレンス2021」で発表します。最後にちょっと宣伝
ご清聴ありがとうございました