Power Apps キャンバスアプリ、自動テストしてますか?!
すっかり夏のにおいがしている最近です。
夏と言えばホラーですね。
今まで動いていたコードが、、、、突然動かなくなったんですよォ!!!!!
そんなことにならないように、テストをしましょう!
しかも、キャンバスアプリには『テスト スタジオ』という機能がついており、
簡単かつ素早く自動テストを作成することができます!
というわけで今回は、
キャンバスアプリ、自動テストしてますか?!
目次
- テスト スタジオとは
- 今回使うアプリ
- テストスタジオで自動テストを作ろう
- 自動テストを実行しよう
- まとめ
1. テスト スタジオとは
まずは、公式ドキュメントでの記述を見てみましょう。
Power Apps のテスト スタジオは、キャンバス アプリのテストを書き込み、整理、および自動化するための、わずかなコードを使用するソリューションです。 テスト スタジオでは、Power Apps の式を使用してテストを書き込んだり、またはレコーダーを使用してアプリの対話を保存し、式を自動的に生成したりすることができます。
つまり、
「PowerAppの処理を書く感覚で処理を書いたり」「画面の操作を直接録画したり」することで、
自動的にテストをしてくれるものが作成できる。
ということです。
これは非常にありがたいです。
短いスパンで開発・改修が行えるPower Appsでは、通常の開発に比べ更新と公開の頻度も高くなることがあります。
その場合に、いちいち手動でテストしていたら、その工数は馬鹿にはできない量になります。
この一部を自動テストに置き換えるだけでも、すぐに効果が出ます。
逆に、そんなに更新頻度が高くないことがわかっているアプリや、規模が小さく手動でも十分なテストができる場合は、その効果を享受しにくいとも言えます。
この辺りは、ケースバイケースで使い分ける必要があります。
2. 今回使うアプリ
今回用意したのは、こんなアプリです。
二つの数字を入れると、最大公約数と最小公倍数を出してくれるアプリです!この記事のために30分で作ったので、デザインについては触れないでいただけるとありがたいです。
例えば、「56」「49」と入力して、「計算する」ボタンを押すと......
このように計算されます。
再帰処理みたいなものが仕込まれていたり、技術的にちょっと面白いこともやっていたりするのですが、それはまた別の機会に!
こちらで、数1・数2の入力から、出力される内容の確認までを、実際に自動テストにしていきたいと思います。
3. 実際にテストスタジオを使ってみよう
では、実際にテストスタジオを立ち上げてみましょう。
左のメニューから、工具的なアイコンを選び、そこから「テストを開きます」を押下します。
そうすると、下のような画面が開きます。
ここで、一旦用語の説明をいたします。
ケース:
ステップを設定していって作成する、一連のテストの流れ。
1つのテストのパターンみたいなもの(どこのボタンを押して、何を入力すると、結果がどうなる)を、これで作る。
スイート:
ケースをまとめたもの。
例えば、「新規作成画面のケースで新規レコードの作成をして、編集画面のケースで作成したレコードの確認をする。」とかができる。
アサーション:
テストに対して、予想される結果。
専用の関数を使用して、ケースごとにどのような結果になるかを設定しておく。
ちなみに公式の記述はこちら。
上記の3つがわかれば、もう難しいことはありません!
では、実際にはどうやってテストを作成するのかというと、
ステップの説明を入力して、アクションのところに処理をゴリゴリ書いていく!!!
パワーこそ力!!!
開発こそ正義!!!
......
......
......なんてことはなく、実際にアプリを操作するだけでいいんです。
「ケース」を選択して、「記録」を選択します。
(「スイート」を選択している状態だと表示されないので注意!!!!)
すると、「記録モード」でアプリが開かれます。
あとは、実際に操作していくだけで、左側に自動的にステップが作成されていきます。
最後に完了を押せば、テストケースの出来上がり!
......とは実はいかず、前述したテストの結果の期待値であるアサートを設定する必要があります。
今回のアサートは、
・最大公約数の表示ラベルのテキスト(DisplayGCMLabel.Text)が「7」
・最小公倍数の表示ラベルのテキスト(DisplayLCMLabel.Text)が「182,070」
になることとします。
左上の「新しいステップ」の右にあるV字から、「Assert」を選択して、
上記の条件に合うように、以下の式を入力します。
Assert(DisplayGCMLabel.Text = "7" && DisplayLCMLabel.Text = "182,070")
これで、テストケース完成......ともいかず!!!!
実は、テストケースの開始タイミングを明記する必要があります。
テストケースが選択されている状態で、上の「テスト」を押すと、
テストの開始タイミングや、実行後に結果をどこかに出力したい場合の出力内容を設定したりできる画面が出てきます。
特に出力などをしない場合は、関係があるのは一番上の「OnTestCaseStart」だけになります。
今回は「画面が開かれた時」をトリガーとしています。
お疲れさまでした! これにて本当に、テストケースの作成が完了です!
あとはこれを繰り返したり、似たような処理の場合はケースを複製することもできるので、
そうやって必要なテストケース、テストスイートを作成していきます。
4. 自動テストを実行しよう
さてさて、せっかくテストを作成したので、実行しましょう。
右上に「保存」「公開」「再生」とあります。
サイトによっては、「保存」→「公開」→「再生」の順で押して下さい! なんて書いてあるものもありますが、
保存していない状態で「再生」を押せば「保存して公開しますか?」みたいなポップアップが出てきますので、
そのまま「再生」を押してしまって大丈夫です。
再生を押すと、アプリが表示されて、ちょっと待っていると画面が自動的に動き始めます。
全て実行されて、特に問題がなかったことがわかります。
何か不具合があった場合は、緑のチェックが赤色の別のマークに変わるので、一目でわかります。
5.まとめ
今回は、Power Apps の テスト スタジオをご紹介させていただきました。
簡単に、テストを作成できることがお分かりいただけたと思います。
ただ、自動テストがあれば完全に手動テストをなくせるかというと、そんなことはありません。
ケースバイケースで使い分ける部分、人の手を通して確認した方が確実な部分が必ずあります。
テストも、アプリの作成も、業務効率を上げるための手段であり、
決してアプリを作ること、いいテストを作ることが最終的な目標ではないと思います。
この機能を使って、より効率的な業務改善に取り組んでいただけたら幸いです。
最後に
はい、私の記事恒例の宣伝タイムです!
弊社では、テストスタジオを使用したり、他にも今回紹介できなかった「監査」という機能などを使用して、
より不具合の少ない、また障害の発生を早期発見できるアプリケーション開発を提案いたします。
その他にも
- ハッカソン
- 受託開発
- フルスクラッチでの開発
など、さまざまな課題解決のお手伝いをさせていただくことが可能です。
ITでのお困りごとは、ぜひ弊社にご相談いただけたらと思います!
フォローしませんか?
お気軽にご依頼・ご相談ください