ローコードテスト自動化ツール T-DASH

テスト自動化 ツールの失敗しない選び方 事例もたくさんご紹介 

テスト自動化を導入するのに、チームに適したツールの選定が不可欠です。ツールの選定がテスト自動化の成功を左右するといっても過言ではありません。テスト自動化ツールを使い続けられなければ、せっかく導入コストをかけたとしても、テスト自動化による利益を得られません。テスト自動化のツールを選ぶにあたり、なにを考慮しなくてはならないか?テスト自動化の最適なツールの選び方について解説します。 

テスト自動化ツールとは 

テスト自動化におけるツールの役割は、テストにかかわる作業を人の手にかわって実行することです。テスト自動化ツールは、開発のフェーズによって適切なものは変わります。ソースコードをテストする単体テストツール(ユニットテストフレームワーク)、APIのテストをするAPIテストツール、UI(ユーザーインターフェース)ベースのテストをするUIベースのテストツールなどがあります。これらのツールを統合して運用するCI(継続的インテグレーション)ツールを利用して、インテグレーションのエラーを素早く検知、修正でき、ソフトウェアをより迅速に開発できるようになります。 

人手によるテスト作業の一部をツールに任せると、テスト実行のコストを削減できます。そして削減したコストによって人手による探索的テストの時間をより多く確保できます。確保できた時間によって、テスト対象システムの検証を十分に行え、コスト削減だけでなくサービスの品質向上が期待できます。 

このようないいことづくしのテスト自動化ですが、ツールを選ぶにあたり注意が必要です。ツールを選ぶ際の注意をおこたると、思わぬ失敗をまねきます。それでは次にテスト自動化のツールにかかわる実際にあった、思わぬ失敗をお話しします。 

テスト自動化の失敗とツールの関係は? 

「過去にテスト自動化を導入したけど、いまは動かなくなって使っていない」 

このような話はテスト自動化の現場では珍しくありません。私は、過去に多くのテスト自動化の構築や導入を行ってきました。自身で開発したソースコードのユニットテストだけでなく、結合テストのフェーズでのAPIテストの自動化、結合テスト以降のUIベースのテスト自動化も含まれます。テスト自動化の導入によって、コストの削減やリリースのスピードアップ、一定レベルの品質の担保を実現できましたが、成功ばかりではなく、失敗も多く経験しました。本記事では、私が実際に体験したテスト自動化のツールにかかわる失敗事例について紹介します。 

【テスト自動化のツールにかかわる失敗事例】 
チームに不適切なツールを使ったとこで、必要な時に必要な量のメンテナンスができないテスト自動化を構築してしまった。 

最初に、高額なツールの導入により、自動化する人の育成ができなかった事例です。ツールが高額であるため、導入したツールの数がひとつしかなく、自動化ツールを使える人を増やせませんでした。ツールを使える人を増やせなかったため、新しいシステムのテストを自動化する作業と、既存のテスト対象システムの仕様変更によるメンテナンスする作業が1名に集中する状態になってしまいました。 

その結果、必要な時に必要なすべてのメンテナンスができなくなり、メンテナンスできなかった分を人手によるテストでカバーしなければならなくなりました。メンテナンスできなくなったテスト自動化のテスト対象システムは、テスト自動化を断念する結果になりました。 

次に、開発エンジニアによるテスト自動化の運用を断念した事例です。開発エンジニアがテストスクリプトをコーディングし、自動化の運用を行っていました。ある時、仕様変更によるメンテナンスが必要となったのですが、開発エンジニアの業務が忙しくメンテナスできなくなりました。開発エンジニアは収益に資する業務を行っているため、どうしても開発業務を優先します。開発業務を優先した結果、メンテナンスがなされずテスト自動化のスクリプトが失敗ばかりとなり、テスト自動化の運用を断念しました。 

このように、テスト自動化を運用するにはメンテナンス作業は欠かせません。必要な時に必要な量のメンテナンスできるかが、重要なテスト自動化の条件となります。条件を満たせないと、ツールの費用を含んだテスト自動化導入のイニシャルコストの回収ができないまま、テスト自動化による恩恵をうけられず、結局使われなくなってしまいます。では次に、いよいよ失敗しないテスト自動化ツールの選び方について解説します。 

テスト自動化ツールの選び方 

テスト自動化ツールを選ぶにあたり、テスト自動化戦略についてふれていきます。テスト自動化ツールはテスト自動化の戦術として位置づけられます。戦術を活かすためには戦略を十分に練る必要があります。 

最初に、テスト自動化を導入するチームのスキルセットを考慮する必要があります。考慮するスキルセットは開発スキルを持つ開発エンジニア、テスト自動化を専門にしている自動化エンジニア、テスト業務を行っている開発スキルがない人を含むテストエンジニアの3つになります。このような3つのスキルセットに応じたテスト自動化ツールかを選ぶ条件に加える必要があります。 

次に、テスト自動化ツールで何をテストするか、何をテストできなければならないかを考えます。Webアプリか、WPFなどのデスクトップアプリか、スマホアプリか、もしくは、すべてがテストできなければならないかを、将来を見据えてテスト自動化ツールを選ぶ必要があります。 

続いて、候補にあがったテスト自動化ツールをチームでカスタマイズできるかを確認します。テスト自動化ツールの標準機能だけでは自動化できない場合もあります。テスト自動化対象のシステムに応じて、テスト自動化の範囲の拡張をチームで行えるかを考慮する必要があります。 

最後に、テスト自動化のツールの学習コストについてです。テスト自動化ツールを使える人が少ないと、必要な時に必要な量のメンテナンスができなくなります。テスト自動化を推進するのに、チームとして対応できるよう学習コストが低いかどうかもテスト自動化ツールを選ぶのに重要な要素になります。 

「最適なテスト自動化ツールは何か?」これはチームのニーズによって変わるものです。チームに適したツールが最高のテスト自動化ツールとなります。テスト自動化で対応できるものが多くてもツールを使いこなせないと役に立ちません。 

また導入するツール自体の数が少なく、学習コストも高いようだと使える人が限られ、使いたいときに使えなくなりテスト自動化のメリットを活かせません。たとえテスト自動化ツールで対応できるものが少なくても、学習コストが低く誰でもいつでも使える数があれば十分にメリットがあります。そして運用し続ければ、テスト自動化の効果をいかんなく発揮できます。 

テスト自動化のツールを導入する前には、何がチームに適しているか、運用し続けられるかをしっかり見極める必要があります。テスト自動化のツールの選び方でもっとも大事なポイントと言えるでしょう。 

まとめ 

最適なテスト自動化のツールをチーム内で運用することで、リリースのスピードアップが図れます。またサービスを継続できる一定レベルの品質を確保できます。一方で、適切に運用できない、すなわち「必要な時に必要な量のメンテナンス」を実現できないと、テスト自動化の効果を得られず、ツールのライセンス費用を含む導入コストの回収できない可能性もあります。 

チームに適したテスト自動化のツールは何かを考慮し、テスト自動化による効果を最大限得られるように、「必要な時に必要な量のメンテナンス」運用をし続けられるツールを選択されるのが良いのではないでしょうか? 

誰でもカンタンにテスト自動化ができる時代は、すぐそこまできています。当サイトでは、テスト自動化ツールに興味のある方へ、「テスト自動化 推進ガイドブック」と「テスト自動化ツールT-DASH 基本ガイドブック」のダウンロード資料をご用意しております。ぜひダウンロードいただき、資料をご覧ください。