SlideShare a Scribd company logo
© NEC Corporation 2022
ローコード開発におけるテストピラミッドの考察
2022年12月03日
日本電気株式会社
坂下 聡
ソフトウェアテスト自動化カンファレンス2022
◼ ローコード開発について
◼ ローコード開発で想定するテストピラミッド
◼ ローコード開発でのテスト実績からみたテストピラミッド
◼ テストピラミッドから考えるローコード開発でのテスト
◼ 今後に向けて
本日の発表
© NEC Corporation 2022
4
自己紹介
坂下 聡(さかした さとし)
日本電気株式会社
ソフトウェア&システムエンジニアリング統括部
スペシャリスト
テストソリューション、テスト自動化推進担当
◆ 経歴
◼ 1993年入社
◼ システムコンサルティングやインフラ構築、テスト
自動化ツールの開発や導入を経て、現在はテスト
全般のソリューション提供とテスト自動化技術の
普及活動を担当
© NEC Corporation 2022
5
ローコード開発について
今回はアジャイル開発でのテストについて考察
要件
定義
従来の開発 詳細
設計
コーディング
& 単体テスト
要件定義
&設計
基本
設計
結合
テスト
総合
テスト
ローコード
開発
(工数イメージ)
結合
テスト
総合
テスト
基本的には同じ
自動生成に
より短縮
モデル適用に
より一体的
短期に繰返すことで
精度向上が可能
◼ アジャイル型
リリース
要件定義
~総合テスト
リリース
要件定義
~総合テスト
リリース
要件定義
~総合テスト
…
開発スタイルは
大きく2パターン
基本的には従来と同じ
◼ WF型(プロトタイプ開発)
結合
テスト
総合
テスト
…
要件定義
~単体テスト
リリース
➢ UI開発をイテレーティブに実施
➢ UI開発後は通常のWFと同様
次ページ以降では、下記の表現とします
単体テスト=Unit Tests
結合テスト=Integration Tests
総合テスト=System Tests
© NEC Corporation 2022
6
(参考)今回利用したローコード開発ツール Mendixについて
各種コンポーネントを活用したブロックプログラミングで作らない開発をサポート
アプリケーションの要件定義から実装までを高速化し、リリースサイクルを大幅に短縮
UMLベースでオブジェクト、属性、関連を定義し
データ設計
アプリのページ構成や表示項目・ボタン等を配置
UI部品を再利用できるUI設計
フローチャート形式のビジネスロジック設計と
カスタムコードによる拡張に対応
•設計要素であるモデルを解釈して
アプリケーションを実行します。
•フローチャートで表現できない処理や、
既存の非Mendix部品の組み込みは、
サーバ側はJavaで、クライアント側は
JavaScriptで記述し、それぞれ
マイクロフロー、ナノフローから
呼び出します。
ユーザインターフェース (ページ)
アプリケーションロジック
(マイクロフロー・ナノフロー)
データ構造 (ドメインモデル)
• ウィジェット
• コネクタ
• モジュール
• デザイン
• アプリサンプル
要件定義・設計・実装の
スピードアップ
Marketplace
© NEC Corporation 2022
7
テストピラミッド
◆ 一般的に知られているテストピラミッド
https://martinfowler.com/articles/practical-test-pyramid.html
Mike Cohn氏によって広く知られるようになったピラミッド
https://alisterbscott.com/kb/testing-pyramids/
Alister B Scott氏 Testing Cloud
© NEC Corporation 2022
8
ローコード開発で想定するテストピラミッド
◆ ローコード開発の特性を考慮してテスト
対象を考える
◼ 標準部品は品質が担保され、セキュリティも
確保されたユニットになっている
◼ 上記を考慮にいれると、Unit Testingは減
少するのではないか
◼ ビジネスロジック部分の確認が中心になるが、
Integration TestsとSystem Testsは
スクラッチ開発と同じではないか
変化なし
減る
Unit Tests
Integration Tests
System Tests
テスト項目数
コスト(面積)
© NEC Corporation 2022
9
ローコード開発でのテスト実績からみたテストピラミッド(実績値n=1)
◆ 想定どおりUnit Testsは減少
フェーズ スクラッチ開発 ローコード開発(測定値) ローコード開発(期待)
System Tests 3,086 3,086 3,086
Integration Tests 4,425 4,425 4,425
Unit Tests 5,351 3,859 1,575
※今回はテスト項目の1項目におけるコストはすべて同じという前提とする
© NEC Corporation 2022
10
想定したテストピラミッドと比較してみる
◆ 突き詰めていけば、いつかは期待どおりのピラミッドになるときがくるかも
Unit Tests
Integration Tests
System Tests
想定 実測値 期待
Integration Tests
System Tests
Unit Tests
Integration Tests
System Tests
Unit Tests
© NEC Corporation 2022
11
◆ ローコード開発プラットフォームで自動生成された対象に対し、 Unit Testsは実施
しなくていい。設定の変更による動作検証はIntegration Tests以降で実施する。
◼ 例えば、一覧表を作成した際に、標準の並び替え機能のテストは標準外の設定(連動して別の機能を
呼ぶなど)をしない限りは実施しません。
◆ Unit Testsとして実施するテスト項目はスクラッチ開発と変わらないが、標準部品
で品質担保されている部分は個別にはテスト実施不要。ただ、正しく標準部品の設定
がされているかをレビューで確認することはきわめて重要。
◆ ローコード開発プラットフォーム自身や標準部品、業務機能といった区別において責
任分担(製品、標準化、業務開発プロジェクトなど)を明確にすることが、テスト対象を
明確にすることにつながり無駄なテスト排除につながる。
ローコード開発の特性に合わせてテスト項目を抽出することを考えよう
テストピラミッドから考えるローコード開発でのテスト
© NEC Corporation 2022
12
(参考)クラウドコンピューティングの進化と新たな責任共有モデル
(参考)09 | 2月 | 2021 | CSAジャパンブログページ (cloudsecurityalliance.jp)
Low-Code-as-a-Service(LCaaS)
© NEC Corporation 2022
13
◆ 現在はサンプル数が少ないので、ローコード開発が増えてくるころに再度考察。
◆ ローコード開発を始めるPJには、まず下記の点を啓蒙していく。
◼ ローコード開発プラットフォームでは、提供している標準部品は品質を担保しているので、標準提供
部品のテストはしなくていいという責任共有部分が存在する。
◼ ローコード開発プラットフォームの利用者としては、テスト対象が標準部品の設定・標準部品をつな
ぐためのフローの確認・ビジネスロジックの確認を中心にテスト対象として考えていく。
実績値を集計しながら、ローコード開発でのテストを考えていく
今後に向けて
STAC2022 ローコード開発におけるテストピラミッド考察

More Related Content

What's hot

スクラムパタン入門
スクラムパタン入門スクラムパタン入門
スクラムパタン入門
Kiro Harada
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
Yoichi Kawasaki
 
(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。
(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。
(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。
憲昭 村田
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
Akira Ikeda
 
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
Yasuharu Nishi
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析
崇 山﨑
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏
Naoki Nakano
 
5分で分かるアジャイルムーブメントの歴史 拡大版
5分で分かるアジャイルムーブメントの歴史 拡大版5分で分かるアジャイルムーブメントの歴史 拡大版
5分で分かるアジャイルムーブメントの歴史 拡大版
Fumihiko Kinoshita
 
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
Koichiro Takashima
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
Kinji Akemine
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
NTT DATA Technology & Innovation
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
Yasuharu Nishi
 
Re-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeRe-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decade
Yasuharu Nishi
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
 
アジャイル開発の中の設計
アジャイル開発の中の設計アジャイル開発の中の設計
アジャイル開発の中の設計
Takuya Okamoto
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
H Iseri
 
アプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組みアプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組み
NaokiKashiwagura
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみよう
Shingo Omura
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
 

What's hot (20)

スクラムパタン入門
スクラムパタン入門スクラムパタン入門
スクラムパタン入門
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 
(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。
(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。
(資料更新)事前に準備できる方は本資料で環境準備していただけるとより理解が深まります。ご協力宜しく御願い致します。
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏
 
5分で分かるアジャイルムーブメントの歴史 拡大版
5分で分かるアジャイルムーブメントの歴史 拡大版5分で分かるアジャイルムーブメントの歴史 拡大版
5分で分かるアジャイルムーブメントの歴史 拡大版
 
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
 
Re-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeRe-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decade
 
ユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイントユーザー企業内製CSIRTにおける対応のポイント
ユーザー企業内製CSIRTにおける対応のポイント
 
アジャイル開発の中の設計
アジャイル開発の中の設計アジャイル開発の中の設計
アジャイル開発の中の設計
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
 
アプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組みアプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組み
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみよう
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 

Similar to STAC2022 ローコード開発におけるテストピラミッド考察

なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
Masaya Tahara
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
日本マイクロソフト株式会社
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出Takanori Suzuki
 
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
tomohiro odan
 
xseeds Hub
xseeds Hubxseeds Hub
xseeds Hub
TakakiIshikawa
 
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
Issei Hiraoka
 
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
Yuta Shimada
 
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
gree_tech
 
ビー・テクノロジーの創業時の会社案内
ビー・テクノロジーの創業時の会社案内ビー・テクノロジーの創業時の会社案内
ビー・テクノロジーの創業時の会社案内
Tsuyoshi Horigome
 
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
tomohiro odan
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
NTT DATA Technology & Innovation
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
Takashi Okawa
 
intra-mart Accel series 2024 Spring updates
intra-mart Accel series 2024 Spring updatesintra-mart Accel series 2024 Spring updates
intra-mart Accel series 2024 Spring updates
NTTDATA INTRAMART
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
Sb tech night#1_document_otsuki_202104
Sb tech night#1_document_otsuki_202104Sb tech night#1_document_otsuki_202104
Sb tech night#1_document_otsuki_202104
YusukeOtsuki
 
20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料
Daisuke Ando
 
株式会社waja 安藤様 登壇資料
株式会社waja 安藤様 登壇資料株式会社waja 安藤様 登壇資料
株式会社waja 安藤様 登壇資料
leverages_event
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
Hiroshi Senga
 

Similar to STAC2022 ローコード開発におけるテストピラミッド考察 (20)

なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
 
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
 
xseeds Hub
xseeds Hubxseeds Hub
xseeds Hub
 
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
 
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
 
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
 
ビー・テクノロジーの創業時の会社案内
ビー・テクノロジーの創業時の会社案内ビー・テクノロジーの創業時の会社案内
ビー・テクノロジーの創業時の会社案内
 
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
 
intra-mart Accel series 2024 Spring updates
intra-mart Accel series 2024 Spring updatesintra-mart Accel series 2024 Spring updates
intra-mart Accel series 2024 Spring updates
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
Sb tech night#1_document_otsuki_202104
Sb tech night#1_document_otsuki_202104Sb tech night#1_document_otsuki_202104
Sb tech night#1_document_otsuki_202104
 
20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料
 
株式会社waja 安藤様 登壇資料
株式会社waja 安藤様 登壇資料株式会社waja 安藤様 登壇資料
株式会社waja 安藤様 登壇資料
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
 

STAC2022 ローコード開発におけるテストピラミッド考察

  • 1. © NEC Corporation 2022 ローコード開発におけるテストピラミッドの考察 2022年12月03日 日本電気株式会社 坂下 聡 ソフトウェアテスト自動化カンファレンス2022
  • 2.
  • 3. ◼ ローコード開発について ◼ ローコード開発で想定するテストピラミッド ◼ ローコード開発でのテスト実績からみたテストピラミッド ◼ テストピラミッドから考えるローコード開発でのテスト ◼ 今後に向けて 本日の発表
  • 4. © NEC Corporation 2022 4 自己紹介 坂下 聡(さかした さとし) 日本電気株式会社 ソフトウェア&システムエンジニアリング統括部 スペシャリスト テストソリューション、テスト自動化推進担当 ◆ 経歴 ◼ 1993年入社 ◼ システムコンサルティングやインフラ構築、テスト 自動化ツールの開発や導入を経て、現在はテスト 全般のソリューション提供とテスト自動化技術の 普及活動を担当
  • 5. © NEC Corporation 2022 5 ローコード開発について 今回はアジャイル開発でのテストについて考察 要件 定義 従来の開発 詳細 設計 コーディング & 単体テスト 要件定義 &設計 基本 設計 結合 テスト 総合 テスト ローコード 開発 (工数イメージ) 結合 テスト 総合 テスト 基本的には同じ 自動生成に より短縮 モデル適用に より一体的 短期に繰返すことで 精度向上が可能 ◼ アジャイル型 リリース 要件定義 ~総合テスト リリース 要件定義 ~総合テスト リリース 要件定義 ~総合テスト … 開発スタイルは 大きく2パターン 基本的には従来と同じ ◼ WF型(プロトタイプ開発) 結合 テスト 総合 テスト … 要件定義 ~単体テスト リリース ➢ UI開発をイテレーティブに実施 ➢ UI開発後は通常のWFと同様 次ページ以降では、下記の表現とします 単体テスト=Unit Tests 結合テスト=Integration Tests 総合テスト=System Tests
  • 6. © NEC Corporation 2022 6 (参考)今回利用したローコード開発ツール Mendixについて 各種コンポーネントを活用したブロックプログラミングで作らない開発をサポート アプリケーションの要件定義から実装までを高速化し、リリースサイクルを大幅に短縮 UMLベースでオブジェクト、属性、関連を定義し データ設計 アプリのページ構成や表示項目・ボタン等を配置 UI部品を再利用できるUI設計 フローチャート形式のビジネスロジック設計と カスタムコードによる拡張に対応 •設計要素であるモデルを解釈して アプリケーションを実行します。 •フローチャートで表現できない処理や、 既存の非Mendix部品の組み込みは、 サーバ側はJavaで、クライアント側は JavaScriptで記述し、それぞれ マイクロフロー、ナノフローから 呼び出します。 ユーザインターフェース (ページ) アプリケーションロジック (マイクロフロー・ナノフロー) データ構造 (ドメインモデル) • ウィジェット • コネクタ • モジュール • デザイン • アプリサンプル 要件定義・設計・実装の スピードアップ Marketplace
  • 7. © NEC Corporation 2022 7 テストピラミッド ◆ 一般的に知られているテストピラミッド https://martinfowler.com/articles/practical-test-pyramid.html Mike Cohn氏によって広く知られるようになったピラミッド https://alisterbscott.com/kb/testing-pyramids/ Alister B Scott氏 Testing Cloud
  • 8. © NEC Corporation 2022 8 ローコード開発で想定するテストピラミッド ◆ ローコード開発の特性を考慮してテスト 対象を考える ◼ 標準部品は品質が担保され、セキュリティも 確保されたユニットになっている ◼ 上記を考慮にいれると、Unit Testingは減 少するのではないか ◼ ビジネスロジック部分の確認が中心になるが、 Integration TestsとSystem Testsは スクラッチ開発と同じではないか 変化なし 減る Unit Tests Integration Tests System Tests テスト項目数 コスト(面積)
  • 9. © NEC Corporation 2022 9 ローコード開発でのテスト実績からみたテストピラミッド(実績値n=1) ◆ 想定どおりUnit Testsは減少 フェーズ スクラッチ開発 ローコード開発(測定値) ローコード開発(期待) System Tests 3,086 3,086 3,086 Integration Tests 4,425 4,425 4,425 Unit Tests 5,351 3,859 1,575 ※今回はテスト項目の1項目におけるコストはすべて同じという前提とする
  • 10. © NEC Corporation 2022 10 想定したテストピラミッドと比較してみる ◆ 突き詰めていけば、いつかは期待どおりのピラミッドになるときがくるかも Unit Tests Integration Tests System Tests 想定 実測値 期待 Integration Tests System Tests Unit Tests Integration Tests System Tests Unit Tests
  • 11. © NEC Corporation 2022 11 ◆ ローコード開発プラットフォームで自動生成された対象に対し、 Unit Testsは実施 しなくていい。設定の変更による動作検証はIntegration Tests以降で実施する。 ◼ 例えば、一覧表を作成した際に、標準の並び替え機能のテストは標準外の設定(連動して別の機能を 呼ぶなど)をしない限りは実施しません。 ◆ Unit Testsとして実施するテスト項目はスクラッチ開発と変わらないが、標準部品 で品質担保されている部分は個別にはテスト実施不要。ただ、正しく標準部品の設定 がされているかをレビューで確認することはきわめて重要。 ◆ ローコード開発プラットフォーム自身や標準部品、業務機能といった区別において責 任分担(製品、標準化、業務開発プロジェクトなど)を明確にすることが、テスト対象を 明確にすることにつながり無駄なテスト排除につながる。 ローコード開発の特性に合わせてテスト項目を抽出することを考えよう テストピラミッドから考えるローコード開発でのテスト
  • 12. © NEC Corporation 2022 12 (参考)クラウドコンピューティングの進化と新たな責任共有モデル (参考)09 | 2月 | 2021 | CSAジャパンブログページ (cloudsecurityalliance.jp) Low-Code-as-a-Service(LCaaS)
  • 13. © NEC Corporation 2022 13 ◆ 現在はサンプル数が少ないので、ローコード開発が増えてくるころに再度考察。 ◆ ローコード開発を始めるPJには、まず下記の点を啓蒙していく。 ◼ ローコード開発プラットフォームでは、提供している標準部品は品質を担保しているので、標準提供 部品のテストはしなくていいという責任共有部分が存在する。 ◼ ローコード開発プラットフォームの利用者としては、テスト対象が標準部品の設定・標準部品をつな ぐためのフローの確認・ビジネスロジックの確認を中心にテスト対象として考えていく。 実績値を集計しながら、ローコード開発でのテストを考えていく 今後に向けて