はじめに
Next Design カスタマーサクセスチームの田島です。
Next Desgin に興味を持たれた方々の中には、「設計情報をデジタル化する嬉しさはわかった。けれど、それを活用するための手段となるエクステンション開発は難しそう。」と尻込みしている方も多いのではないでしょう。今回はそんな方に向けて、エクステンション開発が意外と簡単にできてしまうことを、具体例を交えてご紹介しようと思います。
よくある作業
テスト設計の場面で仕様通りに動作することを確認するような定型的なテストケースを作成することはよくあると思います。一例としてGUIアプリケーション開発の場合を考えてみましょう。
次のようにアプリケーションのUI仕様としてボタン操作に対する動作が定義されています。
画面イメージ
操作仕様
画面要素 | 操作 | 動作 |
---|---|---|
ログインボタン | 押下 | アカウント認証を行い認証されればスタートアップ画面が表示される。 |
キャンセルボタン | 押下 | 画面を閉じてアプリケーションを終了する。 |
これに対するテスト設計では、ボタン操作による動作結果が仕様通りかを確認するために、テストケースを機械的に作成することがあるでしょう。 Next Design では、テスト設計の入力であるUI仕様がモデル化されておりAPIで操作できます。そのため定型的なテストケースを機械的に作成する作業は簡単に自動化できます。 そのようなエクステンションの具体例をメタモデルと対応づけて紹介します。
メタモデル
次の図は先のUI仕様とテスト仕様を表すメタモデルの例です。
画面要素を操作時の動作を表す [操作仕様] と、その仕様を確認するための [テストテストケース] があり、それらが導出関連で結ばれています。
エクステンション
実装方法
エクステンションの処理は Next Design 標準搭載のスクリプトエディタで作成・実行しながら実装できます。 拡張コンテンツとしてプレビュー公開している ”ScriptEditor”(標準搭載のスクリプトエディタの機能強化版)を利用すれば、強力なインテリセンス機能でAPIも簡単に見つけられます。
処理の流れ
次の流れで操作仕様からテストケースを自動作成します。
- UI仕様からUI部品の操作仕様を抽出します。
- 操作仕様に基づいてテストケースを作成します。
- 操作仕様とテストケース間にトレース関連を結びます。
実装コード
ここでは API の使い方を掴んでもらえるよう、実装コードの一部をピックアップして説明します。
実装コードの全体は こちら からご参照ください。
操作仕様の抽出
まずは、UI画面モデルの中からテストケース作成の入力となる操作仕様モデルを特定します。それには、操作仕様モデルを表すモデルのクラス名: OperationSpec
を条件に、API : IModel.FindChildrenByClass() メソッドを使用して該当モデルを抽出します。
// UI画面の中からUI部品の操作仕様を抽出します。
var operationModels = uiWindow.FindChildrenByClass("OperationSpec", recursive: true);
...