モジュールのベストプラクティス

モジュールには、Tosca Cloudがアプリケーションをナビゲートし、操作するために必要なすべての技術情報が含まれています。モジュールはスキャンによって作成し、その後、テストケースの設計に使用します。

このトピックでは、モジュールのベストプラクティス、すなわちモジュールの構成、命名、配置方法について説明します。直感的に使用できるモジュールを作成するための指針を示し、目的に合ったモジュールを素早く見つけて使用できるようにすることを目的としています。

モジュールの目的

アプリケーションをスキャンしてモジュールを作成する際、1画面につき1モジュールとすることで、シンプルに保ちたいと思うかもしれません。しかし、このアプローチはすべての画面に適しているわけではありません。

ほとんどのアプリケーションでは、1つの画面に非常に多くのコントロールが存在します。メニュー、サイドバー、フッター、テキストボックス、リンク、ボタンなどです。そして通常、ユーザーがそれらすべてを毎回操作するわけではありません。

モジュールを最大限に活用し、メンテナンスの手間を抑えるために、以下のことを強くお勧めします。

  • 「ユーザーワークフローA用のすべてのコントロール」や「ユーザーワークフローB用のすべてのコントロール」といった分け方ではなく、画面の領域や要件に応じてモジュールを分割してください。これにより、モジュールを柔軟に組み合わせて再利用でき、様々なワークフローのテストに対応できます。

  • 同じコントロールを含む、複数の重複したモジュールを作成しないでください。例えば、「コントロール1、2、3、4、5を含むユーザーワークフローA用のモジュールA」、「コントロール1、2、3、6、7を含むユーザーワークフローB用のモジュールB」などです。モジュールが重複すると、アプリケーションが変更された場合にメンテナンスの作業も重複します。

  • 1つのモジュールに含めるコントロール数は最大20個にしてください。これにより、モジュールを一目で理解しやすくなり、使いやすさが向上します。

  • 1つあるいは2つのコントロールだけを含むミニモジュールを作成しないでください。ミニモジュールの数が多いとメンテナンスが複雑になります。アプリケーションが変更されるにつれて、何があるのか、何が必要なのか、どれとどれが関連しているのかを把握することがますます難しくなります。

Demo Web Shopの画面を見てみましょう。この場合、ヘッダー、フッター、リボンメニュー、カテゴリ、メーカー、人気タグ、おすすめ商品など、それぞれに個別のモジュールを作成すべきです。

Demo Web Shopの画面要素

このように分割することで、モジュール同士の重複による余分なメンテナンスを発生させることなく、この画面上のあらゆるフローをテストするためにモジュールを自由に組み合わせることができます。

モジュール名

デフォルトでは、Tosca Cloud はウィンドウのキャプションをモジュールの名前として使用します。しかし、場合によってはこれが実用的ではなく、モジュールの名前を変更する必要があります。

たとえば、画面が変わってもキャプションが常にアプリケーションの名前である場合、モジュールの名前を変更する必要があります。このときモジュール名を変更しないと、検索結果が非常にわかりにくくなり、どのモジュールが必要なのか判断するために余分な時間を費やすことになります。

これは避けてください!同じ名前のモジュールが複数あると、正しいモジュールを見つけるのが非常に困難になります。

常に説明的なモジュール名を使用するようにしてください。そうすることで、他のテスターも必要な部品を素早く簡単に見つけることができます。次の基本的な命名規則をお勧めします。

<application name, abbreviation> | <general section that the module's controls are in> | <what the module covers>

モジュール属性名

モジュール属性とは、1つのコントロールを技術的に表現したものです。

デフォルトでは、Tosca Cloudはコントロールのラベルをモジュール属性の名前として使用します。アプリケーション側で適切なラベルが提供されていない場合は、モジュール属性名を変更する必要があります。変更しないと、他のテスターはそのモジュールをどのように使えばよいのかわからなくなります。

これは避けてください!不適切なモジュール属性名は、このモジュールをほぼ使用不能にしてしまいます。

常に、コントロールの意味を説明し、簡潔で人間が理解しやすいラベルをモジュール属性名として設定してください。そうすることで、テスターは画面要素をすばやく識別し、適切なテストアクションを定義できます。

そうです!適切なモジュール属性名により、このモジュールは直感的に使用できます。

モジュール属性の順序

アプリケーションをスキャンすると、Tosca Cloudはモジュール属性を特定の順序で保存します。この順序は、アプリケーションコード内のコントロールの階層構造によって決まります。そして、実行時にはTosca Cloud は上から下へ処理を行います。

したがって、スキャン後のモジュール属性の順序がテストで必要な順序と異なる場合は、モジュール内の順序を変更してください。そうしない場合、テストケースでモジュールを使用するたびにテストステップを並び替える必要が生じます。