自動化のメリットとは?

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


プロのテスター向けの情報が掲載された Web マガジン「Testing Experience」の|この号には、テストの自動化、その利点と短所に関する情報が記載されています(英文の情報です)。

なぜテストを自動化する必要があるのでしょうか?

  • 自動化することで、テスト範囲を拡大することが可能になり、製品の品質を向上させることができます。
  • 市場投入までの開発時間を短縮し、テストのための人的コストを削減します。
  • 早期エラー検出により、開発チームに問題の解決に必要な情報を提供することができます。また、簡単に最近コードに導入された箇所を特定することができ、数ヶ月前に導入された何かのトラブルシューティングではなくなります。
  • コストの削減(反復テストの自動化により、テストの設計と実行両面に対してより多くの時間を割くことできます)。
  • テストチームは多くの場合、反復的で退屈な作業をロボットに任せ、彼らの創造性を活用することを奨励されます。QA チームは新機能をテストするためにより多くの時間を費やすことができ、一方でビルドの状態を確認するために自動化テストを実行します。一方、より多くの時間をより多くのテストの自動化に費やし、再帰テストのサイズを増やすことができます。
  • 同時かつ無人および異なるプラットフォーム間でのテストの可能性がもたらされます。多くの場合、自動化の必要性という状況に出くわします。たとえば、複数のジェネレーター(Java、.Net)およびデータベース(MSSQL、Oracle など)でテストごとに異なるブラウザー環境で実行したい場合など。

GXtest での主な違いは何でしょうか?

GXtest の主な利点は、アプリケーションの変更にすぐにテストケースを対応させることができることです。従来のアプローチでは、(ポテンシャルを確認するために)テストケースの多くを自動化する必要があり、ビルドするたびにテストケースの管理が非常にコストがかかるタスクに変わるため、収益を上回る経費が必要となります。従来のツールではコントロールで名前を変更するだけで、自動化されたアクションが正常に動作しなくなります。GeneXus のバージョンやジェネレーターを変更するイベントでは同じ問題しばしばつまずくことがあります。この件について考えてみましょう。広範囲で採用されているトランザクションの項目属性から名前を変更したり、GeneXus のバージョンを更新したりした場合、テストケースのすべてがその後壊れました。その時点で、テストケースを管理するための気力と意欲は、リファクタリングに必要なコストが原因で失われます。GXtest を使用すると、簡単にアプリケーションとテストのトレーサビリティを維持することができます。

GXtest の主な利点は、アプリケーションの変更に対してテストケースを柔軟に適応させることです。技術的には、自動化戦略は生成された HTML ではなく、KB に紐付いています。GeneXus は単純な方法で変更を加え、アプリケーションを生成するため、テストの改善の障害にはなりません。

従来のアプローチでは、テストケースの構築(スクリプト言語の学習)と管理の両方に非常に多くの努力が必要になります。度々、初期投資コストがかかることが分かっているため、企業は割り切ってあきらめるか、自動化にまったく着手しないかのどちらかです。

もう一方で、GXtest は、記録と再生機能によるテストケースの作成という簡単なアプローチを提供します。抽象的なモデルによるテストケースのより良い理解、データ駆動型戦略による簡単で多様なデータ入力、KB の変更に応じた簡単な管理を実現します。これらの機能のうち、GeneXus の KB からエレメントとなるテストオブジェクトに紐付きます。具体的には、GeneXus で作成されたアプリケーションが自動化されると、その関連付けは失われません。

ほとんどの自動化ツールと異なり、GXtest はモデルベースのテストアプローチに基づいています。コードとは対照的に、モデルは簡単に理解および維持することができます。入手可能な抽象的なモデルでは、実行可能な具体的なテストケースを入手することができます。