Upgrade to Pro — share decks privately, control downloads, hide ads and more …

品質展開に基づくアジャイル試行実験(加藤大受)

 品質展開に基づくアジャイル試行実験(加藤大受)

加藤 大受, "品質展開に基づくアジャイル試行実験", スマートエスイーセミナー: システム&ソフトウェアおよびビジネスにおける知識体系と国際標準の最新動向 - 品質評価標準SQuaRE, 知識体系SWEBOK, BABOKの解説, 2022年3月18日

washizaki

March 18, 2022
Tweet

More Decks by washizaki

Other Decks in Technology

Transcript

  1. アジャイル開発のプロジェクト でのSQuaREの活用について 2022年3月18日 日本ナレッジ株式会社 エグゼクティブコンサルタント 加藤大受 d-kato@know-net.co.jp Copyright© 2022 Nihon

    Knowledge Co., Ltd.
  2. 2 SQuaRE適用実験の目的

  3. 3 SQuaRE適用実験について 目的 • アジャイル開発で構築している製品のプロジェクトで SQuaREを活用をしたらどんな効果があるのかを調査 • 実験といっても実際に派生開発プロジェクトに適用 対象とする規格 •

    発刊されている規格:25010,25023,25030,25040 適用範囲 • 要求事項~テストおよび適合性評価まで • ビジネス要求事項から品質要求の定義 • 測定量選択およびクライテリアの設定 • クライテリアの判定 • 結果への適合性評価の実施 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights reserved.
  4. 4 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. 適用するプロジェクトの概要 テスト資産管理ツールの開発プロジェクト テスト自動化のプロジェクトでテスト結果を効率よく利用したい。 以下の課題を解決し、テスト結果を信頼性確保のデータとして利用したい。  JMeterのテスト結果は独自マクロ/バッチで生成されており、そのままでは結果 を分析するには人の操作が必要  テスト結果は複数のファイルにログとして出力されているため、派生開発プロ ジェクトではフェーズ名ごとのフォルダに格納するなど結果が分散されており、 テスト結果の追跡/比較が行いにくい状況 実現できること  JMeterの自動テスト結果をツール内で管理すること  テスト結果から統計情報を作成し、信頼性の品質状況を監視すること  手動で行っていたレポート生成作業を自動化すること 期待される効果  JMeterのテスト結果がツール内で一元管理される  信頼性のエビデンスとしてテスト結果から品質状況の可視化が可能  結果取込時に閾値を超える性能劣化が見つかるとアラートが届く  手動作業(テスト実行、結果確認)の時間が削減される
  5. 5 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. TestServer ZIP圧縮 DB Server(資産管理ツール) SQL Server 2019 差分検索機能 インポート機能 簡易レポート 管理機能 DB Stored Procedure Stored Procedure Stored Procedure Stored Procedure Table Table Table JMeter jtlファイル テスト結果 (BODY等) CSVファイル PNGファイル ≪ファイル収集・圧縮≫ ・対象フォルダのjtl、テスト結果、PNG、CSVをテスト 実施毎に圧縮。 ≪データ取込≫ ・CSVファイルをバルクデータとして取り込む ・ZIPファイルをバイナリデータで取り込む ・AppSQUAREのDBにバージョン情報を問い合わせる (WebAPIがあるかどうか要確認) ・取込実行後にデータ整形用のStored Procedureを実行 DB Server(AppSQUARE) DB Table Web API(?) ≪簡易レポート出力≫ ・取込後のテーブルからStored Procedureを経由して データを取得。 ・簡易レポートをHTMLまたはExcelで出力 OpenXML 簡易レポート 簡易レポート ≪ユーザー管理≫ ・DBのテーブルを直接更新 ≪パフォーマンス異常値の管理≫ ・DBのテーブルを直接更新 ≪エラー管理≫ ・DBのテーブルを直接更新 (Fail/異常値/システムエラーの通知設 定) ≪差分検索≫ ・Stored Procedureを呼び出してバージョン間の差分が閾値を超えた かをチェックする ・条件はDBにユーザーごとに保存 OpenXML 差分レポート 差分レポート ≪結果照会≫ ・DBを直接参照してテスト結果を画面表示する ・ZIPをダウンロードする テスト結果 ZIPファイル 資産管理ツール クライアント(C#/Windows Form) アーキテクチャ概要 C/S方式で動作
  6. 6 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. SQuaRE適用実験プロジェクトでのエンハンスの概要 テスト資産管理ツール Jenkins Test Report スクリプト jmxファイル JMeterPluginsCMD Ranorex 今回の機能拡張の範囲 Ver.1.xの対応範囲 自動化テスト ツールRanorexの Test Report 取込機能 JMeterで実施した性能・負荷テスト の結果だけでなく、回帰テスト及び 機能テストの自動化で利用している Ranorexのテストレポートの取込に 対応
  7. 7 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. SQuaRE適用実験について 利用したツール チケット管理 -アクティビティタスク -不具合管理 -カンバン(見える化) ドキュメント管理 -各種仕様書 本プロジェクトでも以前から利用しており、アジャイル開発プロジェクトで実 績あるツールを利用。
  8. 8 2つのチームで実験  チームA:品質特性に関する知識はあるが、品質特性はテストや品質分析で しか利用したことのないチーム  チームB:品質特性に関する知識があり、実際のプロジェクトで品質特性を 活用したことがあり、品質意識の高いチーム Copyright ©

    2022 Nihon Knowledge Co., Ltd. All rights reserved. SQuaRE適用実験について
  9. 9 • 『アジャイルプロセスにおける実践的な品質向上施策の適用事例』,株式会社 日立ソリューションズ 技術統括本部 英 繁雄,先進的な設計・検証技術の適用 事例報告書 2015 年度版

    PARTⅢ 検証事例 SEC-2015-B-5-01 • 『ソフトウェア品質技術が品質特性に与える効果の見える化とその検証』,小 島 嘉津江, 森田 純恵,若本 雅晶,菊池 慎司,楾 晃歓,廣瀬 竹男,鷲崎 弘宜, SEC journal Vol.14 No.1 Aug. 2018,P53-P57 • 『アジャイル/DevOps開発における品質保証と信頼性』,荻野恒太郎,REAJ誌 2020 Vol.42 No.2 P71-P78 • 『アジャイル開発における段階的品質の積み上げによる品質保証』,伊藤潤平, REAJ誌 2020 Vol.42 No.2 P79-P85 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights reserved. Reference:
  10. 10 実験結果

  11. 11 Copyright © 2021 Nihon Knowledge Co., Ltd. All rights

    reserved. プロジェクト憲章は前回のままで運用したところ、 Sprint 1で問題が吹き出し。プロジェクトを中止。 Agileプロセスで非機能要件の取り扱いがうまくいかなかった。 主な問題: • 機能要求から機能仕様->機能設計->実装->機能 適合性の評価は問題なし。 • 非機能要求から性能要件、非機能要求から信頼性 要件、性能効率性の評価手段などの洗い出しに時 間がかかり、2週間のSprintでは間に合わない。 • 品質特性への理解不足。 • Jiraの作り込み不足。品質特性を指標としてタス ク展開することができない。 • 使用性と機能適合性の優先順位が同じで手戻りが 発生。 チームAの結果
  12. 12 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. SQuaREを活用するためにプロジェクト準備として次の検討を行いました 機能要求を分析し、要件検討時に品質要求を作成  ビジネス要件検討で作成した品質要求を設計および評価で妥当性を検討  Jiraに品質特性の項目を追加し、品質特性別に参照できるカンバンを作成  Sprint開始する前に、プロダクトバックログ(ビジネス要求)から項目を 選択して、Sprintバックログを作成。  Sprintごとに下記を実施: • 機能要求に対して、品質要求を定義。測定量を検討し、クライテリアを設定。 • 機能項目の設計/実装を実施(レビュー観点を品質特性毎に評価) • 評価観点を品質特性毎に作成し、テスト実施 • 品質特性の適合評価で、設定したクライテリアの達成状況により、対象の品質 特性が確保されているかを判断 チームBの結果
  13. 13 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. 品質特性 アクティビティ 品質特性 機 能 適 合 性 性 能 効 率 性 互 換 性 使 用 性 信 頼 性 セ キ ュ リ テ ィ 保 守 性 移 植 性 Sprint毎 仕様検討 ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 設計 ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 実装 ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 単体テスト ◦ ◦ ◦ ◦ 結合テスト ◦ ◦ ◦ ◦ セキュリティテスト ※ ◦ 性能テスト※ ◦ 最終スプリントのみ 回帰テスト ◦ ◦ 総合テスト ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ※ 今回のエンハンスプロジェクトでは一部の副特性は考慮していない 各アクティビティへの品質特性の マッピングはISO/IEC 30130:2016 の『Table1 – Summary of capabilities with characteristics』 を参考にするとともに品質要求を 意識して事前に作成 チームBの結果
  14. 14 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. 品質要求は機能要求を要件検討するタイミングで洗い出し、すべての品質要求は機能要 求に紐付くものとしました。 品質要求は妥当性確認を行うため、仕様に基づく設計書、コード実装、テスト仕様書の アクティビティと紐付いており、各アクティビティで考慮された品質特性を確認。 機能要求の展開イメージとJiraでのアクティビティの チケット管理のイメージ チームBの結果
  15. 15 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. 品質要求 サブタスク レビュー CD CDレビュー UT UTレビュー UTテスト FT FTレビュー FTテスト 214 簡易レポー ト作成に伴う管 理機能の検討 219 簡易レ ポート作成に 伴う管理機能 の設計仕様書 レビュー 220 簡易レ ポート作成に 伴う管理機能 のCD実装 221 簡易レ ポート作成に 伴う管理機能 のCDレビュー 243 簡易レ ポート作成に 伴う管理機能 のUT仕様書作 成 245 簡易レ ポート作成に 伴う管理機能 のUT仕様書レ ビュー 244 簡易レ ポート作成に 伴う管理機能 のFT仕様書作 成 246 簡易レ ポート作成に 伴う管理機能 のFT仕様書レ ビュー 222 簡易レ ポート作成に 伴う管理機能 のUTテスト 223 簡易レ ポート作成に 伴う管理機能 のFTテスト 224 Ranorexテ スト結果の簡易 レポート機能の 仕様検討 226 Ranorex テスト結果の 簡易レポート 機能の設計仕 様書レビュー 227 Ranorex テスト結果の 簡易レポート 機能のCD実装 228 Ranorex テスト結果の 簡易レポート 機能のCDレ ビュー 247 Ranorex テスト結果の 簡易レポート 機能のUT仕様 書作成 248 Ranorex テスト結果の 簡易レポート 機能のUT仕様 書レビュー 249 Ranorex テスト結果の 簡易レポート 機能のFT仕様 書作成 250 Ranorex テスト結果の 簡易レポート 機能のFT仕様 書レビュー 229 Ranorex テスト結果の 簡易レポート 機能のUTテス ト 230 Ranorex テスト結果の 簡易レポート 機能のFTテス ト 161 Ranorexテ スト結果の 簡易レポー ト機能 『#161 Ranorexテスト結果の簡易レポート機能』の機能要求に対するアクティビティを 洗い出したチケット一覧 チームBの結果
  16. 16 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. 最終結果: • プロジェクトの遅延無し • テスト密度が目標値の144% • 摘出したバグが予測値の32% 次を考慮することでSQuaRE活用で品質良く進捗どおりのプロジェクトを運営 できそうです。 • プロジェクト憲章でSQuaRE活用のプロセス説明を記載 • 各種アクティビティに品質特性をマッピングする • プロジェクト開始前の概算見積にSQuaRE活用のオーバーヘッドを加味 チームBの結果
  17. 17 Copyright © 2022 Nihon Knowledge Co., Ltd. All rights

    reserved. 品質特性 見解 機能適合性 機能要求を満たす機能要件が設計書で検討されるとともに実装されており、各種 テストによって正常に動作していることが確認されているため、機能適合性は確 保されている 性能効率性 エンハンス前の動作と比較し、旧機能の性能が劣化していないことおよび新機能 のRanorexレポートのインポートが旧バージョンで実装したJMeterの結果イン ポートと速度が遜色ないことより、性能要件は満たしている。ただし、今回のエ ンハンスプロジェクトでは負荷要件および容量満足性の確認はしていないため、 性能効率性のみ確保されている。 互換性 EXCEL出力、ZIP圧縮など他システムとの連携に問題はなく、同一環境での運用 はDB利用についても他に影響がある実装はされていないため互換性は確保され ている 使用性 エンハンスでの新規画面作成はなく、既存画面のエンハンスであり、新規の操作 性の課題は摘出されていないため、使用性は確保されている 信頼性 機能要求は要件->仕様->設計->実装->テストのプロセスで確実に満たす作業がさ れており、要件検討時に展開された品質要求は紐付くアクティビティで確保され ていること、各種レビューおよびテストによって摘出されたバグはすべて修正さ れていることより、信頼性は確保されている。 セキュリティ 旧バージョンと同レベルのセキュリティはテストによって確認されているため、 セキュリティは前バージョン同水準で確保されている。 保守性 コーディング規約に基づいていること、各種ドキュメントは前バージョンと同形 式に記載されており、記載レベルも前バージョンと同等以上の粒度で書かれてい るため保守性は確保されている。 チームBの結果
  18. 18 ソフトウェア品質のエバンジェリストである日本ナレッジはお客様の ソフトウェア品質の課題を一緒になって解決します。 品質に対する課題がある方は、弊社までご相談ください。 E N D ▪お問合せ先▪ 日本ナレッジ株式会社 〒111-0042

    東京都台東区寿3-19-5 JSビル9F URL: https://www.know-net.co.jp/ Eメール:加藤<d-kato@know-net.co.jp> 電話: 03-3845-4781