KawabeNaotoソフトウェアプロダクトの品質を担保するテストについて、オートメーションツールを紹介する。背景ソフトウェア開発においては、アジャイル・ヲーターフォールなどの開発手法に関わらず、数々のテストを実施しなければならない。ディベロッパーがコード単位で行うユニットテストから始まり、インテグレーションテスト・ユーザーアクセプタンステストなど、テストがカバーする範囲や、ユーザの視点か否かといった観点でテストを分類することができる。確認することも重要で、機能が増えるごとにテストのパターンは指数的に増加し、マニュアルテストはすぐに追い付かなくなる。そのような状況下で限られた人材で品質を担保するために、オートメーションツールが役立つ。テストオートメーションツールまず、テストオートメーションツールがどのように動作するか、UIテストを例に取って紹介する。IDEを使ってエヴァアビエーション社のウェブサイトでケージコードが正しく表示されていることを確認するテストを行う。IDEをChromeに追加する。IDEを開いて新しいプロジェクトを作る。(プロジェクトの中で複数のテストを登録することができる。projectを選択し、ベースとなるURLであるhttps://www.evaaviation.comを指定する。Recordingを押すと、ブラウザが自動的に開き指定したサイトにジャンプするので、ここからユーザが取る動作を淡々と行う。IDEが動作1つ1つを記録していく。ここでは、メニューにある企業情報のリンクを押し、目的の情報が記されたページを開く。IDEに戻って録画停止ボタンを押す。最後に、行3の下をクリックし、表示された情報を評価するステップを追加する。ページの中から該当するエレメントを選択し、比較したい値をvalueに登録する。以上でテストの設計は終了だ。IDEが登録された動作を順次実行する。指定したテキストの内容を比較する。結果は下のLog欄に表示される。Resultsこのように、動作と評価を組み合わせて記録していくことでテストを設計する。設計すれば、都度実行するだけでマニュアル作業や目視確認の手間を大幅に省略することが可能となる。製品テストの種類が多数あるように、オートメーションのツールも無数にある。Toolと検索しただけでも、次のような名前が挙がってくる。これらの中から選択するに当てっては、GartnerやG2のようなサイトが参考になるだろう。ここでは言及数の多い3つを簡単に紹介する。CrossBrowserTesting・SoapUIなどCI/CD向けに数多くのテストツールを提供するSMARTBEARのプロダクトの1つである。それらプロダクトとの互換性があり、JIRA・git・Jenkinsなどといった外部のソフトウェアともインテグレーションできる。デスクトップ・ウェブ・モバイルをターゲットとしたテストプラットフォーム。プロダクトの配色テーマを変更できるほか、レポーティングツールを兼ね備えている。API・パフォーマンステストをも含めたパッケージとなっている。Studioのプラグインとしても作動するが、サポートされているバージョンが2010・2012・2013であり、言語もC#とVB.NETと限られている。結言ウェブアプリケーションを念頭に置くと、テストの自動化には、スクリプトの作成以外にも次のような機能が必要だ。テスト結果の保存・異常時のレポートおよびアラート・入力値のパラメータ化とループ・実行スケジュール・クロスブラウザチェック・パフォーマンステストなど。近年では、異なるバージョンのアプリケーションでもスクリプトを書き変えずにテストを実行できるよう、AIが支援するといった製品も出てきている。アプリケーションのタイプ・機能によって最適な製品は異なるであろうが、できるだけスクリプトに手間をかけずに始められること、そして少ないメンテナンスで続けられることが望まれる。お問い合わせはこちらまで。