Webアプリケーション開発においてテスト自動化の導入を検討する際に、多くの悩みや不安を抱えていたりしませんか?「自動化することって可能なの?」「コーディングやエンジニアとしての知識が必要?」「メンテナンスのコストが高くて維持するのが難しいのでは?」など、何をどこから始めればよいかわからない漠然とした疑問が生まれるかもしれません。

どのようにテストの自動化を始めるべきか、自動化ツールを導入する際に生まる疑問点を解説するためのセミナー「テスト自動化をはじめよう! 〜元QAエンジニアが解説するテスト自動化の始め方〜」が2022年6月22日に開催されました。

当日に発表されたスライドの解説を交えながら、セミナーの概要をレポート形式でご紹介します。当日のアーカイブ動画も視聴できますので、より詳しい内容をご覧になりたい方は当セミナーのページよりリクエストいただき、セミナーの内容をご覧ください。

セミナー概要

セミナー名

テスト自動化をはじめよう! 〜元QAエンジニアが解説するテスト自動化の始め方〜

開催日時

2022年6月22日(水)14:00~15:00

概要

テスト自動化への取り組む予定のQAエンジニア、または情報収集をしたい担当者を対象に、E2Eテスト動化をどのようにスタートべきかを詳しく解説。またノーコードでテスト自動化の導入を実現できるサービス「Autify」のご紹介や導入方法についてもご紹介します。

セミナー内容

  • Autifyのご紹介
  • テスト自動化とは?
  • テスト自動化に対するAutifyのアプローチ
  • Autifyのサポートサクセスのご紹介
  • Q&A
  • クロージング

登壇者

早川 侑里(オーティファイ株式会社 カスタマーサクセスマネージャー)

QAエンジニアとしてのキャリアを経て、QAチームの立ち上げからテスト自動化の社内導入に向けてリードした経験を持つ。現在はAutifyのカスタマーサクセスマネージャーとして活躍する早川が、テスト自動化のメリットと導入方法について解説します。

本セミナーは見逃し配信中です!こちらから当日のセミナーの動画をご覧ください。

テスト自動化をはじめよう

そもそもテスト自動化とは?

はじめてテスト自動化ツールを導入するとき、多くの課題や疑問が生じる場合もも多いのではないでしょうか。一般的には「ソフトウェアテストの効率向上や範囲拡大」や「コストの削減や実行時間の短縮」を目的として、多くのシステム開発現場でテストの自動化が進んでいます。

また一般的なテスト工程は「テスト計画」「テスト設計」「テスト実行」「修正確認」「テスト分析」の5つに分類でき、これまでは多くの場合、担当者が実際に手を動かしながらそれぞれのテスト工程を実施してきました。新たにテスト自動化ツールを導入することで、これらの工程において作業工数の大幅な削減が期待できます。

すべてのテストを自動化できるわけではない?

いざテスト自動化ツールを導入しても、「テスト実行」にあたる工程のみしか対応できないと考える方も多いのではないでしょうか。確かにあらゆる種類のテストツールを導入・駆使すれば、すべてのテスト工程を自動化することは不可能ではありません。ただしすべての工程を網羅した機能を備えるツールというのは、まだ登場していないというのが実情です。

そのためテストの内容によっては、複数の自動化ツールを使い分けることが必要になります。たとえばテストで利用するために大量のデータが必要なとき、データを自動生成できる自動化ツールは導入するメリットがあると判断できるでしょう。テスト工程の中でも、「テスト実行」と「修正確認」の工程に特に向いているものとして、テスト自動化プラットフォーム「Autify」があります。

このようなテスト自動化ツールを導入したタイミングから、すぐにコスト削減を期待されている方も多いかもしれません。実際には導入時のイニシャルコストがかかるため、テスト自動化による恩恵を受けるための分岐点というものが存在します。

手動テストと比べて、自動テストは導入するためのコストが発生してしまうためです。しかしテストの実行回数が増えれば増えるほど、自動テストのコスト幅は減少に向かい手動テストを下回る結果となります。自動であればリトライも容易になり、作業時間も大幅に削減されるためです。

プロダクト自体が市場で成長すれば、比例して人員が必要になるためリソース不足に陥ります。テスト担当者の負担を減らしつつデプロイまでのサイクルも早くなるので、テスト自動化の導入によるメリットの恩恵は大きなものになるでしょう。自動テストを継続することで、コストが逆転する瞬間が必ず生まれます。継続性を持つテストであれば手動テストよりも、自動テストが結果的にコストダウンにつながるのです。徐々にコスト削減できるのが自動テストのメリットでもあるので、長期的な観点で判断する必要があるでしょう。

テスト自動化に向いているテスト、向いていないテスト

継続するテストを回す仕組みには、どのようなケースが考えられるでしょうか。短いサイクルを繰り返すアジャイル開発においては、最初に作成した自動テストのパターンを、2回・3回と再利用することで継続性が生まれます。機能が増えるごとに自動テストを作成すれば、徐々に自動テストで対応できるパターンも増えるのです。このサイクルを何度も回すことで、最終的に自動テストが稼働する仕組みができあがります。

上流から下流工程に向かうウォーターフォール開発においては、単体テストから受入れテストまでの工程ごとに「設計」「実行」「修正」の小さなフェーズが含まれています。最初の単体フェーズで自動テストを作成することで、後続の結合フェーズにおいてもクリティカルパスの再確認やデグレ防止の自動化も可能です。

イメージとしてはサニティテスト(新機能の実装確認やバグ修正の確認)に該当するので、 システムテストや受入テストでも使い回せます。リリース後も定期的に確認できるため、プロダクトやサービスとしての品質向上にもつながるでしょう。

テスト自動化は1度構築したら終わりではありません。少しでも継続性を持ちながらテストパターンを作成することで、より大きな成果として返ってくることが期待できるのです。

継続性はコスト面においても重要な要素です。どのようにしてコストが逆転する時期を早めるのか、継続的にメンテナンスやテストの拡充ができる仕組みを作れるのか。テスト自動化では導入コスト、メンテナンスコストをどれだけ下げられるかが重要といえるでしょう。

テスト自動化に対するAutifyのアプローチ

ウェビナー内ではテスト自動化ツール「Autify」に関する、3つの特徴についてハンズオン形式で実際の自動テストをご紹介しています。

screen shot 2022 10 20 at 15 57 02

ユーザー登録に必要なメールアドレスといったテストデータも、『Autify』なら自動生成機能で簡単に作成できます。

screen shot 2022 10 20 at 15 57 36

シナリオの画面から実行するだけで、EdgeやChromeといったクロスブラウザでの動作検証も簡単に実行可能です。

screen shot 2022 10 20 at 15 58 06

テストシナリオの変更・編集もマウス操作だけで設定できるので、ノーコードでの操作性も動画を通じて体験できます。

screen shot 2022 10 20 at 15 58 42

フロント部分のデザイン変更もAIが独自に判断してテストを実行するので、メンテナンスコストの削減も期待できます。

テストシナリオのメンテナンスが容易なため、機能ごとにミニマム単位の自動テスト作成が可能です。定期的なテストシナリオも拡充できるので、一般的に向いていないとされる単体テストや結合テストの自動化にも応用可能です。

回帰テストやリグレッションテストといった工程からの利用も可能ですが、その時点から導入すると難易度が高く、コストも膨れ上がってしまいます。最初からシステム全体を網羅するのではなく、ミニマムの機能単位からテストを拡充する方法を推奨しています。

最後に

テスト自動化の導入にはコスト面だけでなく、リソースといった観点でもメリットがあります。基本動作のテストを自動化することで、QAエンジニアはアドホックテストや異常系テストなどに時間を使えるようになるでしょう。ひいてはプロダクトの品質向上だけでなく、QAエンジニアのスキルアップにも期待できます。『Autify』の導入方法やサポートについてはアーカイブ動画の中でより詳しく説明していますので、テスト自動化ツールの導入を検討している方はぜひご覧ください。

本セミナーは見逃し配信中です!こちらから当日のセミナーの動画をご覧ください。
 
Autifyではこの他にも品質保証やテスト、アジャイル開発に役立つ資料を無料で公開していますので、ぜひこちらからご覧ください。