
「The Top 7 Challenges in Test Automation」というセミナーを聞きましたが、なかなかおもしろいデータや視点があったのでメモ。
テスト自動化の共通する難関
テスト自動化に関する共通のチャレンジは以下。
- 自動化スキル不足をどうするか?
- ビルドパイプラインにどうやってマージするか?
- ノイズの中からバグを見逃さないようにするためには?
- レポートを分析する時間を節約するには?
- テストのメンテコストやカバレッジの問題(クロスプラットフォーム、クロスブラウザなど)
- 自動テストをどうやって拡張していくか(パフォーマンス、セキュリティ、網羅性など)
- テスト環境をどうやって簡単に作れるようにするか?
- 自動化する時間をどうやって捻出するか?
- テスタビリティをどうやって設計するか?
悩ましいところはたくさんですね。
体制に関する問題
「誰がテストをするか?」を調査した結果が紹介されていました。
- 47%: 内部QA + Featureチームによるテスト
- 34%: 内部QA + Featureチームによるサポート
- 18%: Featureチームによるテスト
ポイントはQAと呼ばれる何かがFeatureチームの内なのか Or 外なのかと、Featureチームがどこまでテストしているのかでしょうか。
これらに関するスピーカーの推奨はこちら。
- Dev and QA構成のFeatureチーム
- 組織横断でのテスト自動化戦略策定、カバレッジの定義
- 個人スキルや扱える技術の中から、目的にあったものを選ぶ
1についてはDevOpsにおいてテストやQAが置き去りにされている問題に似ていて、mablが言ってるようなDevQAOpsの世界を作っていく必要があるのでしょうね。
テスト自動化の問題
調査によると、テスト自動化に関して、全体の半分以上が自動化できている企業は38%になるそうです。はたしてこれは多いのか少ないのか。
様々な課題があるなか、スピーカーの考えるおすすめは以下でした。
- ゼロベースで戦略を考えること
- CIにマージしていくこと
- テストスイートを増やし、カバレッジを上げてスケールしていく
- 改善策を継続的に分析していく
自動化の戦略は、通常のテスト戦略とはちょっと違うと思います。なぜなら、手段ごとのメリットデメリットが異なるからです。
- 手動: おもてなしマインドたっぷり
- 自動: 繰り返し、たくさん、並列が得意
手段が違うのに同じ戦略はかなり難しい。
だからこそゼロベースという表現であったり、CIといった技術領域じ踏み込んでいく必要があるのかなと思います。
継続的テストへの道のり
「The testing manifest」というものが紹介されていましたが、いいこと書いているけど実用的ではなさそうです。ただ、「The path to continuous testing(継続的テストへの道のり。詳細は What Is Continuous Testing? を参照のこと)」は面白い情報です。ざっくりいうと
- まず安定化しましょう
- 日時で実行するサイクルを回しましょう
- カバレッジを上げていきましょう
- カバレッジ95%を目指しましょう
黄金パターンですねぇ。でも、具体的に「カバレッジ95%」を目標にしているのはとてもいいチャレンジに思いました。見習おう。
日時実行については
- スモークレベル: PRごとに実行
- 日中ビルド: 昼ごろFBをゲット
- レグレッション: 夜間実行(クロスプラットフォームやクロスブラウザのカバレッジ80%を目指す)
といったレベル分けがとてもいい感じです。
ツールベンダーのセミナーでしたが、実際に導入現場で得たナレッジなんだろうなと思うところばかり。
Youtubeでも見れるようです。↑