2021.12.6
【第1回】:ローコード開発の基礎とテスト工程への適用
DX推進への対応が迫られる開発現場では、短いサイクルで開発を繰り返すアジャイル開発が主流となりつつあります。
1つの開発プロセスに費やせる工数が少ないため、開発を効率的に進めていくことが重要です。
しかしながら、多様なユーザーのニーズに応えるサービスを開発する上で、工数の増大は避けられません。こうしたリスクを防ぐために、また一方で「システム内製化」の流れに対応する目的において、近年トレンドとなりつつあるのが「ローコード開発」です。
ローコード開発の適用によって、エンジニアの技術格差を最小化し、工数の削減に加えてサービス品質の向上も期待できます。一般的なローコード開発は、ほとんどがシステム開発にともなうGUIによる設計や実装 (コーディング) の工程において適用されてきました。サービス開発で高い成果を上げるためには、大きなボトルネックとなっているテスト工程、特に「テスト自動化」にもローコード開発を適用したプラットフォームを構築すべきです。
ADOC TESLABブログでは、テスト自動化に適用すべきローコード開発について、連載で順次解説します。第1回となる本記事では、ローコード開発の基礎知識をご紹介します。
ローコード開発は、アジャイル開発時代のトレンド
従来のサービス開発では、エンジニアがプログラミング言語を用いてソースコードを記述します。当然ながらプログラミング言語に関する知識やスキルが欠かせません。また、コーディングにおけるソースコードの記述量は、サービスの規模や複雑さに大きく依存します。
多様化するニーズへの対応が求められる現代のサービス開発では、ソースコードの記述量増大を抑制することは困難です。結果として、コーディングに要する工数も増大します。短期間での開発が要求されるアジャイル開発において工数増大は、納期遅延やサービス品質低下を引き起こす重大なリスクです。こうしたリスクを低減し、短期間でのサービス開発を可能にするのが「ローコード開発」です。
ローコード開発とは、GUIとその設定を通じてソースコードの記述量を最小限に抑えてサービスを開発する手法を指します。コーディングの工数を削減できるため、開発サイクルの短いアジャイル開発において注目されている手法です。
ローコード開発を実現する、ローコード開発ツールとは
ローコード開発ツールとは、専用のGUIにより視覚的にサービスを作り上げることが可能なソフトウェアです。サービスに必要となるボタンなどの部品がGUI操作により追加でき、プログラムの処理も実装されています。
ソースコードの記述が必要となるのは、各部品の連携や機能のカスタマイズなどを行う場合に限定されます。ツールによってソースコードを記述するためのプログラミング言語は様々ですが、大部分のプログラムをツールがカバーするため、従来のコーディングと比較して大幅な省力化が可能となります。
ローコード開発とノーコード開発の違い
専用のノーコード開発ツールを用いて、実装済みのプログラム要素を組み合わせてサービスを作り上げます。一見するとローコード開発よりも優れた手法のようですが、ノーコード開発には「拡張性に欠ける」という大きなデメリットがあります。ノーコード開発の場合は、ツールで提供されているプログラム要素しか利用できないため、サービスの柔軟なカスタマイズが行えません。
一方のローコード開発では、部分的にソースコードを記述することで、独自のカスタマイズが可能です。ニーズへの柔軟な対応が求められる現代のサービス開発では、拡張性の高いローコード開発の方が適していると言えます。
なぜローコード開発が、テスト自動化にも求められるのか?
これまでに述べた通り、一般的なローコード開発は、システムおよびサービス開発工程の設計・コーディングへの適用を前提としたケースがほとんどです。しかしながら、ローコード開発を適用すべきは、これらの工程に限りません。
これからの開発・QA現場には、テスト自動化にもローコード開発の適用が求められます。テスト工数は全開発工数の30~40%以上を占めると言われ、テスト自動化による工数削減が開発・QA現場の重要課題です。しかしテスト自動化には多くの場合、エンジニアによるプログラムの作成や実行などの人手に頼る対応が求められます。
また現代の複雑かつ高機能なサービスを網羅的にテストするためには、膨大なソースコードの記述によるテストケースが必要です。結果として多大な工数が必要となるため、テスト自動化の適用を見送る現場も少なくありません。
ローコード開発は、テスト自動化におけるこうした課題を解決する上で有力な解決策に。ソースコードの記述を最小限に抑えることで、テスト自動化に要する工数の削減が期待できます。
テスト自動化におけるローコード開発の実現方法
テスト自動化にローコード開発を適用する場合も、開発工程の設計・コーディングと同様に自動化の実装・実行などのプロセスにおいてツールを用いるのが通例です。ただしテスト自動化ツールは多岐にわたり、製品によってローコード開発への対応有無やアプローチ方法が異なります。
ツールの代表例としては、ユーザー操作を記録・再現するものが挙げられます。いずれのアプローチ方法でも、テストに必要となる要素の大部分は、GUI操作により実現可能です。用いられるプログラミング言語は製品により様々ですが、ソースコードの記述を最小限に抑える点では共通しています。
テストサイクル全体の自動化に対応するツールでは、テストの実行はもちろんテストケースの作成からバグ抽出、結果判定、フィードバックもツールがカバーします。テスト自動化におけるローコード開発の適用には、テスト自動化プラットフォーム構築サービス『ADOC Testing Service (ATS) for Eggplant』のコア・ツールである『Eggplant』が有力な選択肢となります。AI技術に探索的テストおよびグラフィカルなモデリングの手法を組み合わせて、ソースコード (スクリプト) を自動生成する革新的アプローチです。Eggplantによるローコード開発の適用とメリットなどについては、連載の後半でしっかり述べたいと考えています。
テスト自動化におけるローコード開発のメリットとは?
今回は、ローコード開発の基礎知識についてお伝えしました。昨今のローコード開発は、その多くが開発時の設計やコーディング工程にのみ適用されるものです。これからは、ローコード開発のメリットを最大限に享受するために、プラットフォーム構築においてもその適用が求められることは間違いありません。
テスト自動化にローコード開発を適用する上で、下記の事項についても把握する必要があります。
・ローコード開発を適用するメリット
・ローコード開発の適用における課題
・ローコード開発の適用に向けた解決策
第2回以降では、これらに関して順番にご紹介します。次回は、テスト自動化にローコード開発を適用するメリットについて解説しますので、ぜひご一読ください。
■ ADOC Testing Service for Eggplantの概要へ
■ ADOC Testing Service for Eggplantの資料請求へ
- 2022.1.14
- 【第4回】:ローコード開発適用のための最適解とは