DXとローコード開発
人材不足や働き方改革の推進から、より一層の業務効率化が求められている中で、デジタルトランスフォーメーション(DX:DigitalTransformation)はそれらを実現する意味でも重要度が増しています。短期間でDXを実現するためにOutsystems Platform(OSP)、Mendix、Microsoft PowerApps、Kintoneといったローコード開発ツールを使ってアプリケーション開発に取り組む例も増えてきました。短い時間で柔軟性のある開発ができ、かつ高いプログラミングスキルを必要としないローコード開発は、「超高速開発」とよばれることもあります。
スピーディーに開発と検証のサイクルを回すことのできるローコード開発は、アジャイル開発の考え方とも相性が良いと言われますが、そのサイクルをより加速する手段として、テスト自動化が挙げられます。特に繰り返し行われるリグレッションテスト(回帰テスト)を自動化することで、ローコード開発における開発効率を最大限に引き出すことができます。高い品質・信頼性を保持しながら、市場や環境の変化に合わせたリリースを素早くかつ継続的におこなっていくには、テストの自動化は欠かせません。
ローコード開発でのテスト自動化ツールの選び方
機能テスト、リグレッションテスト、E2Eテストといった画面を操作するタイプのテストを自動化しようとした場合、ツールを使用することが一般的ですが、このテスト自動化ツールは無償・有償問わず様々な種類があります。また、ローコード開発プラットフォームには、テスト自動化の機能が付属していることもあります。その一方で、ツールを正しく選ばないと、運用に上手く乗らないケースもよくある話です。
ローコード開発のテスト自動化ツールを選定する際は、以下のポイントをチェックしてみましょう。
・自動化したいアプリケーションに対応しているか?
テスト自動化ツールによっては、Webアプリのみに対応しているもの、WebアプリとWindowsアプリ両方に対応できるものなど、対応できるアプリケーションが異なります。テスト対象がWebアプリケーションであっても、テストのシナリオの中に「ファイルをダウンロードする」「デスクトップ上に保存する」といった操作があった場合に、Webアプリ専用の自動化ツールを選んでしまうと、Webブラウザ外の操作が自動化できないケースがありますので、こういった操作を自動化したい場合は、対応できるツールを選定する必要があります。
またローコード開発プラットフォームに付属しているツールは、そのプラットフォームで作ったアプリのみ自動化できるというものもあります。ローコード開発で作ったアプリケーションと、既存の基幹システムなど外部アプリとの連携といった、アプリケーションをまたぐシナリオがある場合は、付属でなく他のツールを選んだほうがよいケースもあるでしょう。
ツール選定にあたっては、自動化したい操作が実現できるか?という点をよく確認することをおすすめします。
・テストシナリオ作成はノーコードでできるか?
テスト自動化ツールの中には、コードベースのものと、ノーコードのものがあります。おすすめはノーコードのツールです。なぜなら、アプリケーションのローコード開発と同じメリットを享受できるからです。テスト作成や修正の学習コストが低いツールを選んで、短時間かつ人を選ばないテスト自動化を実現しましょう。
・メンテナンスは簡単か?
継続的なテスト自動化のためには、テストシナリオのメンテナンスの存在を忘れてはいけません。ローコード開発においては、機能追加/修正の頻度はより高くなると考えられますが、その際にリグレッションテストの中に新機能に対してのシナリオを追加・削除が必要になるケースも増えるでしょう。こういったメンテナンスに手間がかかるツールを選んでしまうと、せっかく作ったシナリオを直すコストがかかりすぎて、手動でテストをした方が早いという結論になってしまうこともあります。
こういった事態を避けるため、メンテナンス関連の機能がしっかり備わっているかという点をチェックしましょう。できれば実際に使ってみて、簡単かどうかも確認してみてください。
UIテスト自動化ツール Ranorex
Ranorexは、アプリのUI上でのユーザー操作をキャプチャし、テストを作成・実行できます。直感的なGUI画面の操作だけで、初心者でもスムーズにテストの作成・修正が可能です。 Ranorexには、多くのソフトウェア技術やフレームワークに対応した高性能なオブジェクト認識機能が搭載されており、ローコード開発で作成したアプリケーションも自動化が可能です。Outsystems、Mendixでの利用実績もあります。
様々なプラットフォームに対応
Ranorex は、Webブラウザの操作はもちろん、デスクトップアプリケーションやモバイルアプリケーションの自動化も可能です。マウスクリックやキーボード入力といった一般的な操作だけでなく、業務系のアプリケーションでよくある、以下のような操作を自動化することも可能です。
- ファイルアップロード/ダウンロードの操作
- window.alert()などで出力するメッセージダイアログの操作
- エクスプローラーの操作
これらの機能を使用することで、ユーザーのログイン、データ入力、結果の確認まで、E2Eテストで発生する一連の操作の流れを自動化することができます。手動でおこなってきたテストの実施コスト削減だけでなく、テスト実施回数を増やすことでの品質向上も期待できます。ローコード開発アプリケーションはもちろん、その他のアプリケーションの自動化にも使用できます。
テスト自動化のための多彩な機能
Ranorexは、ノーコードで簡単にテストを作成できるため、プログラミングの知識のない方や非IT部門の方でも簡単に使用することができます。テスト自動化に役立つ検証や待機などといった様々な機能が搭載されておりますので、様々なテストシナリオをコードを書かずに作成できます。また、C#またはVB.Netコードを記述することも可能なため、より複雑な処理を実装したい技術者の方にも活用いただけます。
データ駆動型テスト
作成したシナリオをCSV、Excelあるいはデータベースと紐づけることで、即座にテストカバレッジを増やすことができます。設定はすべてGUIからおこなえますので、プログラミングの知識がなくても簡単に利用できます。
わかりやすいレポート
テスト実行時には、自動でわかりやすいレポートが出力されます。検証の結果はもちろん、設定によってレポート上にスクリーンショットや任意のログメッセージ、テスト中の操作の動画を出力することもできます。レポートはhtmlやPDFでも出力でき、関係者への配布やエビデンスとしての利用も可能です。
メンテナンスコストの削減
Ranorex には、信頼性の高いオブジェクト認識機能が備わっているため、ボタンの位置の移動や色の変更といった画面の軽微な変更があっても、シナリオ修正は不要です。
いちど作成したテストシナリオを長期的に使用するため、上記以外にもメンテナンスを楽にする様々な機能が搭載されています。
シンプルなライセンス構成
Ranorex Studioのライセンス1つで、Web、デスクトップ、モバイルすべてのプラットフォームの自動化がおこなえます。買い切りライセンスのため、コストパフォーマンスにも優れています。