テストの自動化を開始する方法

From GXtest Wiki
Jump to: navigation, search
Spanish.gif
English.gif
Japan.gif

テストの一部を自動化すると、確かなメリットがあります。ただし、GXtest を使用した Genexus アプリケーションのテスト自動化を成功させるには、自動化を開始する前に、一定のガイドラインを考慮する必要があります。

Contents

パイロットプロジェクトからの開始

ほとんどのソフトウェア開発の場合と同様に、適切なプロジェクトを選択し、最初はパイロットプロジェクトとして使用することをお勧めします。

パイロットプロジェクトを使用することには、いくつかのメリットがあります:

  • 社内の業務に適した初期段階の方法を定義できる。
  • 自動化ツールの操作を体験できる。
  • メリットを評価できる。
  • 問題点を確認できる。
  • プロジェクトの範囲を限定することで、品質の向上に専念できる。

指標の適用

このパイロットプロジェクトによって、テストの自動化を適用することによる ROI (Return On Investment = 投資対効果) をできるだけ短い時間で確認できます。そのために、会社や製品の実際の状況に即した指標を選択して ROI を確認する必要があります。使用できる指標の例を次に示します:

  • テスト時間÷クライアントで見つかったエラー数
  • クライアントで見つかったエラー数÷システムの規模
  • エラー検出時間 (エラーの発生から検出までの経過時間)

テストの自動化を実行する担当者の指定

プロジェクトのポートフォリオを定義したら、次の手順として、テストの自動化を開始する担当者を指定します。テスト自動化の担当者には、要件を把握していて、従来の機能テストを実行していたアナリストを選定することをお勧めします。次の理由から、このタスクは同じグループで実行してください:手動テストと自動テストの間で競合が発生しないようにするため、自動化するテストを適切に選択するため、テスト自動化ツールはテストケースの自動化だけでなくテストケース用のデータ生成にも使用できるため。

テスト担当者のトレーニング方法

自動化に取り組む各担当者の学習曲線は、テストの自動化および自動化ツールに関する知識レベルによって異なります。使用するツールのトレーニングを受講するときに (GXtest ユーザーは GXtest Designer チュートリアルなどから開始可能)、テスト自動化の一般的な手法や実績に関する資料も参照することをお勧めします。テストの自動化を特集している『Testing Experience』誌の第 4 号 (英語版) などもお勧めします。

自動化するテストケースの選択

プロジェクトとその担当者を選択したら、自動化するテストケースを定義する必要があります。 自動化の開始時にもっともよくある間違いは、すべてを自動化しようとすることです。すべてのテストケースを自動化しようとすることはお勧めしません。

自動化するテストケースは、ビジネスや、システムの内部構造 (開発者が関与) の観点から決定する必要があります。その際に考慮する点をいくつか示します:

プロジェクト進行中に実行回数が多くなるテストケースはどれでしょうか。一般に、アプリケーションの主要部分に関連するテストケースは、プロジェクトの初期段階で作成したあとは、システムのライフサイクル全体で (必要に応じて変更しながら) 使用できます。 手動での作業時間や繰り返しが多いテストケースはどれでしょうか。テストケースを実行する前に、テスト環境を構成するために単調な作業が必要なテストケースがあります。このようなテストケースを自動化すると、人的資源を解放し、より困難なほかのケースに専念させることができます。 クライアント/ユーザーに不可欠な機能はどれでしょうか。クライアントにリリースした際に、必ず正常に動作する必要がある機能は自動化するケースに含めることをお勧めします。 テストケースを自動化する際にどの程度の負担があるでしょうか。テストケースによっては、目視による複雑な検証が必要であるなど、自動化が非常に難しい場合があります。したがって、自動化する負担が大きすぎる場合は、手動での実行を続けたほうがよい場合もあります。 このような特性を考慮することで、各テストケースを評価し、自動化するテストケースの優先順位を決定できます。

自動化の実行

パイロットに使用するプロジェクトを選択し、自動化するテストケースを選択したら、テストケースの一部 (10 個以内) から始めることをお勧めします。テストケースを設計し (紙、ワークシートなど)、自動化し (GXtest Designer と Recorder を使用)、テストに必要な環境とデータを準備し、これらのケースの実行スケジュールを設定して (GXtest Manager を使用、毎晩実行するように設定するなど)、作業方法を定義します。

これらの作業が完了すると、メリットが明らかになってきます。また、自動テスト用のマシンを実際に設定することで、メリットをさらに拡大できます。