テスト自動化でWebアプリ開発は楽になる?テストに悩むあなたにアドバイス!
Webアプリを開発している方で、「一度もテスト実行をしたことがない」という方はいないと思います。しかし、「テストの自動化」についてはいかがでしょう。テスト観点一覧(テスト表) に書かれている項目に従って値を入力して、○○ボタンを押したときの動作は――。といった手動テストを行っている方も少なくないのではないでしょうか。
テスト項目自体が少なかったり、複雑な操作が少なかったりする場合は問題ありませんが、そうでない場合はテストを実行するだけで結構な手間がかかります。そこで一度試していただきたいのが、テスト自動化です。Webアプリ開発におけるテスト自動化の良さを解説いたします。
そもそもテスト自動化ってなに?
まず、テスト自動化とは何か、という点から解説させていただきます。テスト自動化とは「テストの設計や実行、結果確認、レポートの作成(場合によっては進捗管理も含む)をテスト支援ソフトウェアの利用により自動化すること」を指します。それぞれのフェイズで語るべきことは多々ありますが、今回はその中でもWebアプリ開発におけるテスト実行の自動化に焦点を当てて、わかりやすく説明していきたいと思います。
テスト実行の自動化は、主にテストを実行する時間の短縮や正確性の確保、人的資源の削減、継続的テストの実行といった目的で実行されるケースが多くなります。そして正しくテスト自動化を行うことで優れた費用対効果を発揮します。それぞれの効果については、次に紹介するものが主なものとなるでしょう。
【テスト自動化の効果】
テスト実行時間の短縮
自動テストは、基本的に手動で行うテストと比較して高速に行うことができます。これはテストの工程が複雑化するほど顕著で、規模による影響度合いも大きいです。以前に筆者が参加していたプロジェクトではテスト担当者1人が1日4時間程度で実施していたテストを自動化したところ、40分程度で全項目を確認できるようになりました。(テスト時間が1/6まで削減)
テスト正確性の確保
コードを記述することで同じテストを何度でも繰り返し実行することができます。テスト手順まで全く同じテストになるため、テストケースの作成工程が重要になります。しかしながらヒューマンエラーを排除して正確性を担保できる、という点で非常に大きなメリットを生み出します。
テストに関わる人的資源の削減
テストの実行をソフトウェアに任せることにより、それまでテスト実行に費やしていた工数を開発業務の工数へ回すことができるようになります。単純に開発に関わる人員・工数を増やせる、という点がメリットだと言えるでしょう。
継続的テストの実行
テスト自動化ツールは、他システム(ツール)と組み合わせると新規機能の追加時、既存機能の変更時など任意のタイミングで自動化したテストを実行できます。これは何らかの不具合があった場合、早期発見ができるということであり、アプリケーションの品質向上につながります。
Webアプリ開発でテスト自動化をやってみた結果
では、実際にテストを自動化するとどのような恩恵があったか、という点について筆者の経験も含めてお話しさせていただきます。
筆者が以前参画していたWebアプリの開発プロジェクトは、当初Excelを利用してテスト管理票を作成し、クラウド上にアップロードしたものをテスター各員がダウンロードして内容を確認しました。そしてテストを実行した後に結果を更新したものを再度アップロードして更新する、という形式でテストを実行していました。
ここで問題になったのが、テストに関する工数の増加と開発の停滞でした。開発を行うメンバーがテスターを兼ねていたため、テストを行っている間は開発がストップしてしまい、新規機能の実装が遅れたり、不具合の解消が遅れたりする事態に陥ってしまったのです。アプリケーションのアップデートによって画面の構成が一部変更されるなどする度に再テストを行う必要があり、度々発生するこの状況に悩まされていました。
自動テストの導入に踏み切ったのは、その現状を解決するとともに、今後の開発に要する人的なコストを削減したいという思惑がありました。今回は仔細を省略させていただきますが、1ヶ月ほどかけて自動テストのソフトウェアとテストを実行するための環境を整えました。そこから1週間は試用期間として自動テストと手動テストを同時に行いました。速度・精度共に自動テストが優秀で、以降は順次テスト内容を自動化することに決まり、最終的には90%近くのテストが自動化されました。
よって自動テストへの切り替えによりメンバーが開発業務に専念できるようになった影響は大きかったです。以降の開発においては不具合改修も、新機能の実装共に大きく遅延することはなくなり、作業チームの雰囲気も良いものとなりました。これはテスト自動化の成功例と言えるでしょう。
これだけ楽になる!テスト自動化サービスの良さ
さて、テスト自動化には大きな効果があると分かったところで、テスト自動化には一つ問題があります。それは導入までが大変だということです。前述した例でもテストを実行するための環境整備やその事前準備に一ヶ月の時間をかけています。今すぐに導入したいという方は、二の足を踏んでしまうかもしれません。
そこで紹介したいのが、「T-DASH」というテスト自動化ツールです。これはPCにインストールするだけで利用することができるようになるだけでなく、コードを書くことなく日本語でテストケースの作成を行ったり、テストを自動実行したりすることができます。
テスト自動化に関わる問題の多くが解決できるツールですので、自動化を始めたいけれどどうすればいいのか分からない、という方にこそお勧めできます。また、今までテスト自動化に取り組んでいた方にとっても、ほぼコードを書かずに自動化できる、という点が魅力的ではないでしょうか。
まとめ
「テスト自動化でWebアプリ開発は楽になる?テストに悩むあなたにアドバイス!」と題して、ご説明してまいりました。テスト自動化とは何か、その結果としてはどのような事例があるか、現在はどのようなサービスがあるか、と解説しましたが、みなさんへのアドバイスになったでしょうか。
テスト自動化は正しく運用できれば非常に高い効果を発揮し、今後のWebアプリ開発において欠かすことのできないものとなっていくでしょう。
誰でもカンタンにテスト自動化ができる時代は、すぐそこまできています。当サイトでは、テスト自動化ツールに興味のある方へ、「テスト自動化 推進ガイドブック」と「テスト自動化ツールT-DASH 基本ガイドブック」のダウンロード資料をご用意しております。ぜひダウンロードいただき、資料をご覧ください。