http://www.automatedtestinginstitute.com/home/index.php?
Skill Category 8: Programming Concepts
あなたが利用するツールとそのスクリプト言語、ツリー構造、基本的なプログラミングの概念はテストがカバーできるシステムや柔軟性に大きな影響を及ぼします。変数、制御構文 (if..then..else, for..next, etc)及びモジューラビリティはこのカテゴリで議論されます。
Skill Category 9: Automation Objects
アプリケーションオブジェクトの認識
むかしむかし、機能テストの自動化は、主にアプリケーション上でシミュレートされたユーザーのマウスとキーボード操作の再現を、画面やアプリケーションウィンドウの特定の座標位置に依存する、"アナログ"なアプローチを用いていました。それは画面やウインドウがわずかに変更されただけで、存在しないオブジェクトへアクセスしてしまい自動テストが失敗するという、とても信頼性の低いものでした。近代的なテスト自動化は必要なオブジェクトの位置やアクセス方法をそのオブジェクト自身のプロパティから取得するという、異なるアプローチを取ります。
オブジェクトマップ
自動化テストスイートの保守性と堅牢性を向上させる最も簡単な方法のひとつに、オブジェクトマップの導入があります。 オブジェクトマップはプロパティに関連付けられている値を外部ファイルに格納し、テストコードはそれを参照することで、テストコード自体が保持する(依存性の高い)情報量を減らすことができます。
オブジェクトモデル
多くのソフトウェアアプリケーションは、いくつかの相互に関連するオブジェクトで構成されます。オブジェクトモデルは、アプリケーションの機能を実現するために協調、関連するオブジェクトの階層を抽象的に表現します。オブジェクトモデルが提供する利点は次のとおりです。
- アプリケーションの理解性の向上
- スクリプト記述能力の向上
動的なオブジェクトの振る舞い
自動テストのエンジニアが直面する最大の課題のひとつに動的なオブジェクトの振る舞いがあります。目視による検査はアプリケーションの情報を柔軟に処理できますが、自動テストではオブジェクトのプロパティを利用します。目視であれば、アプリケーションに若干の変更があった場合も容易に調整することもできますし、多くのプロパティの変更を無視することができます。しかし、コンピュータにこの調整は容易ではないため、どんな調整が必要になるかは、予め自動テストのプログラミング時に予測されていなければなりません。
ここでいう動的なオブジェクトとは、恐らく可変長のリストコンポーネントや 動的に生成されるボタンなどのUIオブジェクトを指すものと思われます。