SlideShare a Scribd company logo
1 of 13
© NEC Corporation 2021
[初学者向け]
ローコード開発におけるテストの考え方
2021年12月11日
日本電気株式会社
坂下 聡
ソフトウェアテスト自動化カンファレンス2021
 ローコード開発テストガイドライン
 ローコード開発テストガイドラインの適用
 ローコード開発テストガイドラインを適用してわかった
こと
 考察と今後の展望
本日の発表
© NEC Corporation 2021
4
自己紹介
坂下 聡(さかした さとし)
日本電気株式会社
ソフトウェアエンジニアリング本部 エキス
パート
テストソリューション、テスト自動化推進担当
 経歴
 1993年入社
 システムコンサルティングやインフラ構築、テ
スト自動化ツールの開発や導入を経て、現在は
テスト全般のソリューション提供とテスト自動
化技術の普及活動を担当
© NEC Corporation 2021
5
ローコード開発テストガイドライン
標準部品を使う限り、単体テストや製造受入テストは不要と定義
カスタムコード部分は単体テストが必須
直接的に影響するアクティビティ 間接的に影響するアクティビティ
1.要件定義 2.外部設計 3.内部設計 4.製造・単体テスト 5.結合テスト 6.総合テスト
基本設計 機能設計 製造 単体テスト
製造
テスト
設計
テスト
実施
総合テスト計画 結合テスト計画
単体テスト計画
単体テスト設計
再確認
単体テスト準備
単体テスト実施
製造受入
テストデータ
準備
単体テスト設計
結合テスト準備
結合テスト実施
総合テスト準備
結合テスト実施
この赤枠内の
アクティビティが影響し
実施、繰返実施、不要となる
STAC2020再掲
© NEC Corporation 2021
6
ローコード開発テストガイドラインの適用
今回はアジャイル開発での適用検証を実施
要件
定義
従来の開発 詳細
設計
コーディング
& 単体テスト
要件定義
&設計
基本
設計
結合
テスト
総合
テスト
ローコード
開発
(工数イメージ)
結合
テスト
総合
テスト
基本的には同じ
自動生成に
より短縮
モデル適用に
より一体的
短期に繰返すことで
精度向上が可能
 アジャイル型
リリース
要件定義
~総合テスト
リリース
要件定義
~総合テスト
リリース
要件定義
~総合テスト
…
開発スタイルは
大きく2パターン
基本的には従来と同じ
 WF型(プロトタイプ開発)
結合
テスト
総合
テスト
…
要件定義
~単体テスト
リリース
 UI開発をイテレーティブに実施
 UI開発後は通常のWFと同様
今回はこちらに
適用
© NEC Corporation 2021
7
今回利用したローコード開発ツール Mendixについて
各種コンポーネントを活用したブロックプログラミングで作らない開発をサポート
アプリケーションの要件定義から実装までを高速化し、リリースサイクルを大幅に
短縮
UMLベースでオブジェクト、属性、関連を定義し
データ設計
アプリのページ構成や表示項目・ボタン等を配置
UI部品を再利用できるUI設計
フローチャート形式のビジネスロジック設計と
カスタムコードによる拡張に対応
•設計要素であるモデルを解釈して
アプリケーションを実行します。
•フローチャートで表現できない処理や、
既存の非Mendix部品の組み込みは、
サーバ側はJavaで、クライアント側は
JavaScriptで記述し、それぞれ
マイクロフロー、ナノフローから
呼び出します。
ユーザインターフェース (ページ)
アプリケーションロジック
(マイクロフロー・ナノフロー)
データ構造 (ドメインモデル)
• ウィジェット
• コネクタ
• モジュール
• デザイン
• アプリサンプル
要件定義・設計・実装の
スピードアップ
Marketplace
© NEC Corporation 2021
8
ローコード開発テストガイドラインを適用してわかったこと
標準部品といえど、設定情報の確認レビューは品質を担保する意味で必要
作成した処理フローの単体テストは想定通り必要
Mendixで作成した画面(Page) 標準部品
処理フロー(アプリケーションロジック)
© NEC Corporation 2021
9
ローコード開発テストガイドラインを適用してわかったこと
オウンコーディングを極力へらすことでテスト範囲を削減可能
 複数のPJで共通する機能があれば、共通部品化して品質担保したものを整備する
ことで、該当機能のホワイトボックステストが不要になる
 基本設計書は、記載量を減らすことは可能
 画面のキャプチャーを貼り付けて、各項目の仕様を一覧で記載
 処理仕様は、処理フローで記載できる粒度で記入
 テスト仕様書を基本設計書の内容と対になるように記載
 詳細設計書は、各部品の実際の設定自体を詳細設計書として扱うと便利
 レビューは設定を見ながら実施 など
© NEC Corporation 2021
10
ローコード開発テストガイドラインを適用してわかったこと
単体テストは一部省略可能だが、結合テスト以降は通常の開発と変わらない
 単体テスト
 ローコード開発ツールの提供元(今回はMendix)から提供される、標準部品や部品提供サイト
(MendixではMarketPlace)の部品に対しては、ホワイトボックステストは不要
 処理フロー(アプリケーションロジック)には、分岐を網羅するテストは必要
 結合テスト以降
 通常の開発と同じく、アプリ内の画面遷移、アプリ間のインターフェースのテスト、外部シス
テムとのインターフェースのテストを実施
© NEC Corporation 2021
11
ローコード開発テストガイドラインを適用してわかったこと
メトリクスの測定にはサードパーティ製ツールは必要である
 コード分析例
© NEC Corporation 2021
12
考察と今後の展望
ローコード開発の普及にともなうテストの事例増加に期待
 考察
 ローコード開発テストガイドラインの方向性は間違っていなかった
 自動テストの導入評価が現状できていないので、ツールの適正評価も今後要検討
 今後の展望
 開発方式(ウォーターフォール、アジャイル)でのテストガイドラインを精査
 品質指標との関連性を明確化
 自動テストの導入とテスト管理ツール利用時の評価
Stac2021 [初学者向け]ローコード開発におけるテストの考え方

More Related Content

What's hot

運用してわかったLookerの本質的メリット : Data Engineering Study #8
運用してわかったLookerの本質的メリット : Data Engineering Study #8運用してわかったLookerの本質的メリット : Data Engineering Study #8
運用してわかったLookerの本質的メリット : Data Engineering Study #8Masatoshi Abe
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。toshihiro ichitani
 
わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析scarletplover
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用Akinori SAKATA
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていることonozaty
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさYoshiki Hayama
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacateKinji Akemine
 
ユーザーインタビューからその後どうするの? 得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回
ユーザーインタビューからその後どうするの?得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回ユーザーインタビューからその後どうするの?得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回
ユーザーインタビューからその後どうするの? 得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回Yoshiki Hayama
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門Preferred Networks
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)Tokoroten Nakayama
 
ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門tadaaki hayashi
 
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司schoowebcampus
 
STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察Satoshi Sakashita
 
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)Tokoroten Nakayama
 
UXデザインワークショップ資料 by ATOMOS DESIGN
UXデザインワークショップ資料 by ATOMOS DESIGNUXデザインワークショップ資料 by ATOMOS DESIGN
UXデザインワークショップ資料 by ATOMOS DESIGNAkihiko Kodama
 
Web開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor AppWeb開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor AppTomomitsuKusaba
 
ちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしようちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしようYasuharu Nishi
 

What's hot (20)

運用してわかったLookerの本質的メリット : Data Engineering Study #8
運用してわかったLookerの本質的メリット : Data Engineering Study #8運用してわかったLookerの本質的メリット : Data Engineering Study #8
運用してわかったLookerの本質的メリット : Data Engineering Study #8
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
 
わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
ユーザーインタビューからその後どうするの? 得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回
ユーザーインタビューからその後どうするの?得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回ユーザーインタビューからその後どうするの?得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回
ユーザーインタビューからその後どうするの? 得られた情報を「UXデザイン」に落とし込む方法 | UXデザイン基礎セミナー 第3回
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
 
ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門
 
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
 
STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察
 
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
 
UXデザインワークショップ資料 by ATOMOS DESIGN
UXデザインワークショップ資料 by ATOMOS DESIGNUXデザインワークショップ資料 by ATOMOS DESIGN
UXデザインワークショップ資料 by ATOMOS DESIGN
 
Component勉強会
Component勉強会Component勉強会
Component勉強会
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
Web開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor AppWeb開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor App
 
ちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしようちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしよう
 

Similar to Stac2021 [初学者向け]ローコード開発におけるテストの考え方

STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023Satoshi Sakashita
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出Takanori Suzuki
 
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新tomohiro odan
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!智治 長沢
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
設計品質とアーキテクチャ
設計品質とアーキテクチャ設計品質とアーキテクチャ
設計品質とアーキテクチャToru Koido
 
【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション智治 長沢
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 智治 長沢
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 智治 長沢
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Toshiyuki Hirata
 
【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡
【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡
【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡Naomichi Shimazu
 
Epics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdfEpics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdfEpics DAO
 
【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」「人材育成」 の即効薬日本マイクロソフト株式会社
 
DevOps時代の開発環境と現場体験 [#cmdevio2015]
DevOps時代の開発環境と現場体験 [#cmdevio2015]DevOps時代の開発環境と現場体験 [#cmdevio2015]
DevOps時代の開発環境と現場体験 [#cmdevio2015]智治 長沢
 
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
 
Coding Guide
Coding GuideCoding Guide
Coding Guideohdreamer
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-Yoshio SAKAI
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Yuichi Hasegawa
 

Similar to Stac2021 [初学者向け]ローコード開発におけるテストの考え方 (20)

STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
 
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
設計品質とアーキテクチャ
設計品質とアーキテクチャ設計品質とアーキテクチャ
設計品質とアーキテクチャ
 
【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
DevOps、その前に
DevOps、その前にDevOps、その前に
DevOps、その前に
 
【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡
【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡
【DevOpsDaysTokyo2021】「ログイン画面が開きません」から始まるチーム改革の軌跡
 
Epics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdfEpics - オープンソース開発にインセンティブ革命を.pdf
Epics - オープンソース開発にインセンティブ革命を.pdf
 
【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」「人材育成」 の即効薬
 
DevOps時代の開発環境と現場体験 [#cmdevio2015]
DevOps時代の開発環境と現場体験 [#cmdevio2015]DevOps時代の開発環境と現場体験 [#cmdevio2015]
DevOps時代の開発環境と現場体験 [#cmdevio2015]
 
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
 
Coding Guide
Coding GuideCoding Guide
Coding Guide
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 

Stac2021 [初学者向け]ローコード開発におけるテストの考え方

  • 1. © NEC Corporation 2021 [初学者向け] ローコード開発におけるテストの考え方 2021年12月11日 日本電気株式会社 坂下 聡 ソフトウェアテスト自動化カンファレンス2021
  • 2.
  • 3.  ローコード開発テストガイドライン  ローコード開発テストガイドラインの適用  ローコード開発テストガイドラインを適用してわかった こと  考察と今後の展望 本日の発表
  • 4. © NEC Corporation 2021 4 自己紹介 坂下 聡(さかした さとし) 日本電気株式会社 ソフトウェアエンジニアリング本部 エキス パート テストソリューション、テスト自動化推進担当  経歴  1993年入社  システムコンサルティングやインフラ構築、テ スト自動化ツールの開発や導入を経て、現在は テスト全般のソリューション提供とテスト自動 化技術の普及活動を担当
  • 5. © NEC Corporation 2021 5 ローコード開発テストガイドライン 標準部品を使う限り、単体テストや製造受入テストは不要と定義 カスタムコード部分は単体テストが必須 直接的に影響するアクティビティ 間接的に影響するアクティビティ 1.要件定義 2.外部設計 3.内部設計 4.製造・単体テスト 5.結合テスト 6.総合テスト 基本設計 機能設計 製造 単体テスト 製造 テスト 設計 テスト 実施 総合テスト計画 結合テスト計画 単体テスト計画 単体テスト設計 再確認 単体テスト準備 単体テスト実施 製造受入 テストデータ 準備 単体テスト設計 結合テスト準備 結合テスト実施 総合テスト準備 結合テスト実施 この赤枠内の アクティビティが影響し 実施、繰返実施、不要となる STAC2020再掲
  • 6. © NEC Corporation 2021 6 ローコード開発テストガイドラインの適用 今回はアジャイル開発での適用検証を実施 要件 定義 従来の開発 詳細 設計 コーディング & 単体テスト 要件定義 &設計 基本 設計 結合 テスト 総合 テスト ローコード 開発 (工数イメージ) 結合 テスト 総合 テスト 基本的には同じ 自動生成に より短縮 モデル適用に より一体的 短期に繰返すことで 精度向上が可能  アジャイル型 リリース 要件定義 ~総合テスト リリース 要件定義 ~総合テスト リリース 要件定義 ~総合テスト … 開発スタイルは 大きく2パターン 基本的には従来と同じ  WF型(プロトタイプ開発) 結合 テスト 総合 テスト … 要件定義 ~単体テスト リリース  UI開発をイテレーティブに実施  UI開発後は通常のWFと同様 今回はこちらに 適用
  • 7. © NEC Corporation 2021 7 今回利用したローコード開発ツール Mendixについて 各種コンポーネントを活用したブロックプログラミングで作らない開発をサポート アプリケーションの要件定義から実装までを高速化し、リリースサイクルを大幅に 短縮 UMLベースでオブジェクト、属性、関連を定義し データ設計 アプリのページ構成や表示項目・ボタン等を配置 UI部品を再利用できるUI設計 フローチャート形式のビジネスロジック設計と カスタムコードによる拡張に対応 •設計要素であるモデルを解釈して アプリケーションを実行します。 •フローチャートで表現できない処理や、 既存の非Mendix部品の組み込みは、 サーバ側はJavaで、クライアント側は JavaScriptで記述し、それぞれ マイクロフロー、ナノフローから 呼び出します。 ユーザインターフェース (ページ) アプリケーションロジック (マイクロフロー・ナノフロー) データ構造 (ドメインモデル) • ウィジェット • コネクタ • モジュール • デザイン • アプリサンプル 要件定義・設計・実装の スピードアップ Marketplace
  • 8. © NEC Corporation 2021 8 ローコード開発テストガイドラインを適用してわかったこと 標準部品といえど、設定情報の確認レビューは品質を担保する意味で必要 作成した処理フローの単体テストは想定通り必要 Mendixで作成した画面(Page) 標準部品 処理フロー(アプリケーションロジック)
  • 9. © NEC Corporation 2021 9 ローコード開発テストガイドラインを適用してわかったこと オウンコーディングを極力へらすことでテスト範囲を削減可能  複数のPJで共通する機能があれば、共通部品化して品質担保したものを整備する ことで、該当機能のホワイトボックステストが不要になる  基本設計書は、記載量を減らすことは可能  画面のキャプチャーを貼り付けて、各項目の仕様を一覧で記載  処理仕様は、処理フローで記載できる粒度で記入  テスト仕様書を基本設計書の内容と対になるように記載  詳細設計書は、各部品の実際の設定自体を詳細設計書として扱うと便利  レビューは設定を見ながら実施 など
  • 10. © NEC Corporation 2021 10 ローコード開発テストガイドラインを適用してわかったこと 単体テストは一部省略可能だが、結合テスト以降は通常の開発と変わらない  単体テスト  ローコード開発ツールの提供元(今回はMendix)から提供される、標準部品や部品提供サイト (MendixではMarketPlace)の部品に対しては、ホワイトボックステストは不要  処理フロー(アプリケーションロジック)には、分岐を網羅するテストは必要  結合テスト以降  通常の開発と同じく、アプリ内の画面遷移、アプリ間のインターフェースのテスト、外部シス テムとのインターフェースのテストを実施
  • 11. © NEC Corporation 2021 11 ローコード開発テストガイドラインを適用してわかったこと メトリクスの測定にはサードパーティ製ツールは必要である  コード分析例
  • 12. © NEC Corporation 2021 12 考察と今後の展望 ローコード開発の普及にともなうテストの事例増加に期待  考察  ローコード開発テストガイドラインの方向性は間違っていなかった  自動テストの導入評価が現状できていないので、ツールの適正評価も今後要検討  今後の展望  開発方式(ウォーターフォール、アジャイル)でのテストガイドラインを精査  品質指標との関連性を明確化  自動テストの導入とテスト管理ツール利用時の評価