SlideShare ist ein Scribd-Unternehmen logo
1 von 14
© 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 ローコード開発におけるテストピラミッド考察

Weitere ähnliche Inhalte

Was ist angesagt?

OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料Tsuyoshi Kawarasaki
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要かHiromasa Oka
 
【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例Kotaro Ogino
 
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーエンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーYusuke Suzuki
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話Yusuke Hisatsu
 
Azure Kubernetes Service Overview
Azure Kubernetes Service OverviewAzure Kubernetes Service Overview
Azure Kubernetes Service OverviewTakeshi Fukuhara
 
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと増田 亨
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04Makoto Nonaka
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用Akinori SAKATA
 
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016Yusuke Suzuki
 
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanリーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanItsuki Kuroda
 
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsYusuke Suzuki
 
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)Shigeki Morizane
 

Was ist angesagt? (20)

OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要か
 
【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例
 
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーエンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
Lean coffee
Lean coffeeLean coffee
Lean coffee
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
Azure Kubernetes Service Overview
Azure Kubernetes Service OverviewAzure Kubernetes Service Overview
Azure Kubernetes Service Overview
 
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
 
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
 
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanリーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
 
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_ws
 
はじめてのPRD
はじめてのPRDはじめてのPRD
はじめてのPRD
 
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)
 

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

STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023Satoshi Sakashita
 
なぜあなたのプロジェクトの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」「人材育成」 の即効薬日本マイクロソフト株式会社
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)NTT DATA Technology & Innovation
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出Takanori Suzuki
 
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新tomohiro odan
 
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 2020gree_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 CodeTakashi Okawa
 
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_202104YusukeOtsuki
 
20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料Daisuke Ando
 
株式会社waja 安藤様 登壇資料
株式会社waja 安藤様 登壇資料株式会社waja 安藤様 登壇資料
株式会社waja 安藤様 登壇資料leverages_event
 

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

STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
 
なぜあなたのプロジェクトの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」「人材育成」 の即効薬
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 
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
 
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 安藤様 登壇資料
 

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には、まず下記の点を啓蒙していく。 ◼ ローコード開発プラットフォームでは、提供している標準部品は品質を担保しているので、標準提供 部品のテストはしなくていいという責任共有部分が存在する。 ◼ ローコード開発プラットフォームの利用者としては、テスト対象が標準部品の設定・標準部品をつな ぐためのフローの確認・ビジネスロジックの確認を中心にテスト対象として考えていく。 実績値を集計しながら、ローコード開発でのテストを考えていく 今後に向けて