Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

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

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 14 Anzeige

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

ローコード開発ではスクラッチ開発と比べてテストピラミッドの形は変化するのかどうかを検証しています。

ローコード開発ではスクラッチ開発と比べてテストピラミッドの形は変化するのかどうかを検証しています。

Anzeige
Anzeige

Weitere Verwandte Inhalte

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

Aktuellste (20)

Anzeige

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

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

×