SlideShare a Scribd company logo
6
Most read
10
Most read
11
Most read
© NEC Corporation 2022
ローコード開発におけるテストピラミッドの考察
2022年12月03日
日本電気株式会社
坂下 聡
ソフトウェアテスト自動化カンファレンス2022
STAC2022 ローコード開発におけるテストピラミッド考察
◼ ローコード開発について
◼ ローコード開発で想定するテストピラミッド
◼ ローコード開発でのテスト実績からみたテストピラミッド
◼ テストピラミッドから考えるローコード開発でのテスト
◼ 今後に向けて
本日の発表
© 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

PPTX
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
PPTX
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
PDF
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
PPTX
アジャイルメトリクス実践ガイド
PPTX
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
PDF
深層学習によるHuman Pose Estimationの基礎
PDF
テスト観点に基づくテスト開発方法論 VSTePの概要
PDF
Agile Quality アジャイル品質パターン (QA2AQ)
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
アジャイルメトリクス実践ガイド
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
深層学習によるHuman Pose Estimationの基礎
テスト観点に基づくテスト開発方法論 VSTePの概要
Agile Quality アジャイル品質パターン (QA2AQ)

What's hot (20)

PDF
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
PPTX
60分でわかった気になるISO29119 #wacate
PPTX
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
PDF
modern software qa - draft 1
PDF
What should you shift left
PDF
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
PDF
メトリクスによるソフトウェア品質評価・改善および製品品質実態
PDF
Data-centricなML開発
PDF
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
PPTX
MLOps入門
PDF
OutSystems ユーザー会 セッション資料
PDF
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
PDF
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
PDF
アジャイル品質パターン (Agile Quality, QA2AQ)
PPTX
ソフトハウスの品質保証のウソホント
PDF
LINE Developer Meetup in Tokyo #39 Presentation (modified)
PDF
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
PDF
Devsumi 2018summer
PPTX
[DL輪読会]End-to-End Object Detection with Transformers
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
60分でわかった気になるISO29119 #wacate
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
modern software qa - draft 1
What should you shift left
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
メトリクスによるソフトウェア品質評価・改善および製品品質実態
Data-centricなML開発
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
MLOps入門
OutSystems ユーザー会 セッション資料
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
アジャイル品質パターン (Agile Quality, QA2AQ)
ソフトハウスの品質保証のウソホント
LINE Developer Meetup in Tokyo #39 Presentation (modified)
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
Devsumi 2018summer
[DL輪読会]End-to-End Object Detection with Transformers
マイクロサービスに至る歴史とこれから - XP祭り2021
Ad

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

PPT
ソフトウェアテストの再検討
KEY
テストコードのリファクタリング
PDF
AJ2010_20100409_maegawasensei
PDF
アジャイル×テスト開発を考える
PDF
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
PPTX
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
PDF
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
PDF
Agile japan2010 rakuten様プレゼン資料
PDF
SGT2013 技術トークス「アジャイルテスティング」
PDF
PDF
GCSアジャイル開発を使ったゲームの作り方
PDF
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
PDF
テストを分類してみよう!
PDF
Software Engineering And Role of Agile
PDF
テスト駆動開発のはじめ方
PDF
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
KEY
テスト駆動開発入門
PDF
Agile Development and Contract from IPA at AgileJapan 2011
PDF
Agile Development and Contract from IPA at AgileJapan 2011
PDF
Code complete ch22_developper_test
ソフトウェアテストの再検討
テストコードのリファクタリング
AJ2010_20100409_maegawasensei
アジャイル×テスト開発を考える
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
Agile japan2010 rakuten様プレゼン資料
SGT2013 技術トークス「アジャイルテスティング」
GCSアジャイル開発を使ったゲームの作り方
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
テストを分類してみよう!
Software Engineering And Role of Agile
テスト駆動開発のはじめ方
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
テスト駆動開発入門
Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011
Code complete ch22_developper_test
Ad

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

  • 1. © NEC Corporation 2022 ローコード開発におけるテストピラミッドの考察 2022年12月03日 日本電気株式会社 坂下 聡 ソフトウェアテスト自動化カンファレンス2022
  • 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には、まず下記の点を啓蒙していく。 ◼ ローコード開発プラットフォームでは、提供している標準部品は品質を担保しているので、標準提供 部品のテストはしなくていいという責任共有部分が存在する。 ◼ ローコード開発プラットフォームの利用者としては、テスト対象が標準部品の設定・標準部品をつな ぐためのフローの確認・ビジネスロジックの確認を中心にテスト対象として考えていく。 実績値を集計しながら、ローコード開発でのテストを考えていく 今後に向けて