「Test Automation Circles」に当てはめて考える、自動テストを組織に浸透させる方法とは?
【10-A-3】コラボレーションがテスト自動化の成否を分ける
ソフトウェアの品質改善をスピードアップするテスト自動化。新しい技術が登場しているが、多くのメンバーが関わるソフトウェア開発において、テスト自動化が組織に定着しないという課題もある。ソフトウェア品質改善のソリューションを提供する株式会社ヒューマンクレスト 取締役 浅黄 友隆 氏は、デブサミ2023の講演で自動テストの成功事例・失敗事例を共有。自動テストを組織に浸透させるためのコラボレーションの重要性について説いた。
自動テストをとりまく要素から見た、成功のポイント
ヒューマンクレストは、ソフトウェアテストを専業とする企業。自動テストを中心に、継続的なリファクタリング支援、脆弱性診断、負荷テストなどのソリューションを提供している。浅黄氏はこの10年で機能テスト、リグレッションテスト、APIテストなど、70件の自動テストのプロジェクトに携わってきた。それらには組織に定着したもの、継続しなかったものがあるとし、成功事例と失敗事例を共有した(本講演で対象となるのはUIやサービスのテストで、Unitテストは対象外)。
浅黄氏が示した成功事例は以下の表のとおり。
| テスト対象 | テストタイプ | 実行トリガー | UI | |
|---|---|---|---|---|
| 事例1 | BtoB Webシステム(グループウェア) | シナリオテスト(40シナリオ) | 定期実行 毎日0時 | PCブラウザ(Chrome、firefox、Edge) |
| 事例2 | BtoC Web、スマホ向けシステム(HR系) | シナリオテスト(30シナリオ) | 定期実行 毎日8時、14時 | PCブラウザ(Chrome)、スマホブラウザ(Chrome、Safari)、スマホアプリ |
| 事例3 | BtoC スマホアプリ | 機能テスト(26ケース)→チェックポイント数百箇所 | 定期実行 毎日0時,12時 | スマホ(Android、iPhone) |
| 事例4 | BtoB Webシステム(リアルエステート) | 機能テスト(260ケース) | Push時 | Webブラウザ(DockerChrome) |
これらの事例の解説にあたり浅黄氏は、自動テストを取り巻く要素を整理した図「Test Automation Circles(テストオートメーションサークル)」を提示した。
テストオートメーションサークルの中心には「なぜテストをするのか?」というコア(目的)が置かれ、その周りには、「どんなテストをするのか?」というコンセプト(戦略や設計、スコープ)がある。その外側には「何で実現するか?」のアーキテクチャ(環境、フレームワーク、ツール、CI/CD)があり、さらに外側にはモニタリングとコントロール(実現された自動テストの実行、結果分析、レポーティングなど)がある。そして、それらはベース(チームのリソース、スキルセット、文化)の上に成り立っている。
浅黄氏は、テストオートメーションサークルのコア、コンセプト、アーキテクチャ、モニタリングとコントロール、ベースを先の4つの成功事例にあてはめた表を示した。
4つの事例ともにコア(目的)は定まっている。事例1では、元々あった手動テストを自動化してきた背景から、コンセプトにあたる設計部分があまりよくない。また、単独のテストでCI/CDには取り組んでいないため、アーキテクチャも弱い。事例2も同様に単独のテストでCI/CDには取り組んでいないため、アーキテクチャが弱い。
浅黄氏は、これらの成功要因は2つあり、その1つはデベロッパーが自動テストの結果を求めていること、もう1つはバグが発生した際にその後の手順が明確であることだとした。
「テストが失敗した後、バグだとわかった後にどんな手順でどこまで修正するか、誰がそのテストケースをもう1回実行するのかが明確になっていると、継続される率が高いです」(浅黄氏)
この記事は参考になりましたか?
- Developers Summit 2023 セッションレポート連載記事一覧
- この記事の著者
-
森 英信(モリ ヒデノブ)
就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:株式会社ヒューマンクレスト
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
