テスト自動化の品質モデルの扱い
テスト設計やテスト環境、テスタビリティの品質モデル
テスト自動化研究会 井芹洋輝
2014/6/28 AsianAA
概要
 テスト自動化に関わる品質モデルとその簡単な留意
点を紹介します
 セッションの狙いとして、「テスト自動化の品質」を、品質モ
デルを使って整理して考えられる形を目指します
 自己紹介
 井芹 洋輝
 組み込みでの開発やテストに従...
品質モデルとは
 世の中の定義
 「ソフトウェア品質モデルは,ソフトウェアの品質を階層構造
のモデルで表現したものである」(SQuBOK v20071125)
 「品質要求及び品質評価の基礎を与えるような特性の集合
及び特性間の関係」(J...
ソフトウェアの品質モデルの例
 代表的なソフトウェアの品質モデル
 ISO/IEC9126、ISO/IEC 25000シリーズ、FURPS+
 品質特性のツリー構造でモデルを構成
 例) ISO/IEC 25010 システム/ソフトウェ...
ソフトウェア品質モデルをどう使うか?
 品質特性
 資源効率性
 時間効率性
 障害許容性
5
●サーバのCPU占有率
●サーバの記憶領域
の占有率
●テスト実施の
時間効率
●記憶容量不足時の
動作
●テスト環境の×○不
具合からの復...
ソフトウェア品質モデルをどう使うか?
 品質特性
 資源効率性
 時間効率性
 障害許容性
6
●サーバのCPU占有率
●サーバの記憶領域
の占有率
●テスト実施の
時間効率
●記憶容量不足時の
動作
●テスト環境の×○不
具合からの復...
ソフトウェア品質モデルをどう使うか?
7
•合目的性
•正確性機能性
•成熟性
•障害許容性信頼性
•理解性
•習得性使用性
•時間効率性
•資源効率性効率性
•解析性
•変光星保守性
•環境適用性
•置換性移植性
体系化された品質モデル
要求...
テスト自動化に関わる品質モデル
8
テスト
環境テスト対象 テスト
テストシステム
【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
テスト自動化に関わる品質モデル
9
テスト
環境テスト対象 テスト
テストシステム
【テスト設計の
品質モデル】
【テスト環境の
品質モデル】
【テスタビリティの
品質モデル】
品質モデル
【テスト設計の品質モデル】【テスト環境の品質モデル】【...
テスト自動化に関わる品質モデル
10
【テスト設計の
品質モデル】
【テスト環境の
品質モデル】
【テスタビリティの
品質モデル】
品質モデル
【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
テスト
環境テス...
テスト環境の品質モデル
 製品やサービス開発の品質モデルを利用できる
 IEC/ISO 25000シリーズなどを開発と同じように利用可
 例)「テストの品質モデル構築の取り組み 」
http://www.slideshare.net/go...
テスト環境の品質モデル
テスト環境の品質モデルの例
 「Software Test Automation」(Mark Fewster他)での
自動テスト環境の品質特性定義
12
品質特性 内容
保守性 テスト対象の変更への対応コスト
効率性 ...
【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
テスト環境の品質モデル
テスト環境の品質モデルでの留意部分
13
 テスト自動化環境は一般的に保守性、次いで信頼性の価値
が高い。生産性や用途の選択肢を広げ、...
テスト自動化に関わる品質モデル
14
【テスト設計の
品質モデル】
【テスト環境の
品質モデル】
【テスタビリティの
品質モデル】
品質モデル
【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
テスト
環境テス...
テスト対象のテスタビリティ
 テスト目的の達成のしやすさについてのテスト対象
の品質モデル
 テスト自動化については、テスト自動化のやりやすさにつ
いての品質モデル
 様々な定義や提案が存在
 例)ISO/IEC 9126、ISO/IE...
テスト対象のテスタビリティ
テスタビリティの品質モデルの例
16
 「実践ソフトウェアエンジニアリング」(ロジャー S.プレ
スマン)でのテスタビリティの品質モデル
品質特性 内容
実行円滑性 テストの実行を円滑にできるかの程度
観測容易性 ...
テスト対象のテスタビリティ
テスト自動化におけるテスタビリティの品質モデルの例
17
 「レガシーコード改善ガイド」において、自動テストの
導入で重視される特性
 ※王道的な自動化でなく、糞コードにいかに自動化(主にユニットテスト)を導入す...
テスト対象のテスタビリティ
テスタビリティで留意すべきこと
18
 テスト自動化では重要
 良否は自動テストの生産性や用途の選択肢を広げ、他の
品質に波及します
 どうすればテストが楽になるかを念頭に、テストの保
守性とセットで開発の上流...
テスト自動化に関わる品質モデル
19
【テスト設計の
品質モデル】
【テスト環境の
品質モデル】
【テスタビリティの
品質モデル】
品質モデル
【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
テスト
環境テス...
テスト設計の品質モデル
 いくつかの提案や実例が存在
 自動テストにおけるテスト設計の品質モデルの例
 例)SoftwareTest Automation(Mark Fewster他)でのテスト設
計の特性
 テストの十分性、テストの効...
テスト設計の品質モデル
 いくつかの提案や実例が存在
 自動テストにおけるテスト設計の品質モデルの例
 例)SoftwareTest Automation(Mark Fewster他)でのテスト設
計の特性
 テストの十分性、テストの効...
テスト設計の品質モデル
テスト設計の妥当性
 テスト目的・テスト要求を達成するものであるかの程度
 例)バグ出しが目的なら、きちんとバグを出すテストとなっているか?
 課題
 テスト自動化では問題になっている事が多い
 Ex)テスト自...
テスト設計の品質モデル
テスト設計の十分性
 テストすべき実行領域に対する網羅度
 Ex)各種カバレッジが基準の達成度
 課題
 テスト自動化で悩む事が多い
 自動化するとテストの網羅度を容易に増やせるため
 悩む背景
 テスト対...
テスト設計の品質モデル
テスト設計の十分性:観点の例
 テスト十分性の評価アプローチの例
 テスト設計の進め方の正確性や妥当性を評価する
 テスト観点は十分か? 選択したテスト設計方針は妥当か?
テスト設計アプローチの進め方は妥当か? テ...
最後に
 今回は自動テストに関わる3つの品質モデル
とその留意点の紹介を行いました
 テスト環境の品質モデル
 テスタビリティの品質モデル
 テスト設計の品質モデル
 こういった品質モデルを活用して、体系的か
つ整理しながらテスト自動...
Upcoming SlideShare
Loading in...5
×

テスト自動化の品質モデルの扱い

2,201

Published on

2014/6/28 AAA

0 Comments
20 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,201
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
28
Comments
0
Likes
20
Embeds 0
No embeds

No notes for slide

テスト自動化の品質モデルの扱い

  1. 1. テスト自動化の品質モデルの扱い テスト設計やテスト環境、テスタビリティの品質モデル テスト自動化研究会 井芹洋輝 2014/6/28 AsianAA
  2. 2. 概要  テスト自動化に関わる品質モデルとその簡単な留意 点を紹介します  セッションの狙いとして、「テスト自動化の品質」を、品質モ デルを使って整理して考えられる形を目指します  自己紹介  井芹 洋輝  組み込みでの開発やテストに従事 2
  3. 3. 品質モデルとは  世の中の定義  「ソフトウェア品質モデルは,ソフトウェアの品質を階層構造 のモデルで表現したものである」(SQuBOK v20071125)  「品質要求及び品質評価の基礎を与えるような特性の集合 及び特性間の関係」(JIS X 0133-1) 3
  4. 4. ソフトウェアの品質モデルの例  代表的なソフトウェアの品質モデル  ISO/IEC9126、ISO/IEC 25000シリーズ、FURPS+  品質特性のツリー構造でモデルを構成  例) ISO/IEC 25010 システム/ソフトウェアの品質モデル  システム/ソフトウェア製品品質  機能適合性  機能完全性  機能正確性  機能適切性  性能効率性  時間効率性  資源効率性  容量満足性  互換性  使用性  ・・・  利用時の品質  ・・  ・・ 4 ツリー構造で品質特性を構造化
  5. 5. ソフトウェア品質モデルをどう使うか?  品質特性  資源効率性  時間効率性  障害許容性 5 ●サーバのCPU占有率 ●サーバの記憶領域 の占有率 ●テスト実施の 時間効率 ●記憶容量不足時の 動作 ●テスト環境の×○不 具合からの復帰 ●□○記録データの破 損時からの復帰 【前準備】対象に合わせて 優先付け・ブレークダウン
  6. 6. ソフトウェア品質モデルをどう使うか?  品質特性  資源効率性  時間効率性  障害許容性 6 ●サーバのCPU占有率 ●サーバの記憶領域 の占有率 ●テスト実施の 時間効率 ●記憶容量不足時の 動作 ●テスト環境の×○不 具合からの復帰 ●□○記録データの破 損時からの復帰 【前準備】対象に合わせて 優先付け・ブレークダウン 【要求抽出の観点に用いる】 ●テスト実施時間はどの程度が 良いか? ●テスト環境の×○不具合発生時 の動作はどうするか? 【評価の観点に用いる】 ●テスト実施時間は問題ないか? ●テスト環境の×○不具合発生時 の動作は想定通りか? 【活用】具体的な 観点や指標を抽出する ターゲットに合わせた品質モデル 観点や基準 標準的な 品質モデル
  7. 7. ソフトウェア品質モデルをどう使うか? 7 •合目的性 •正確性機能性 •成熟性 •障害許容性信頼性 •理解性 •習得性使用性 •時間効率性 •資源効率性効率性 •解析性 •変光星保守性 •環境適用性 •置換性移植性 体系化された品質モデル 要求抽出や仕様化 の観点 評価の観点 整理された良い品質モデルを用いることで、 整理しながら分析を進められるようになります
  8. 8. テスト自動化に関わる品質モデル 8 テスト 環境テスト対象 テスト テストシステム 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  9. 9. テスト自動化に関わる品質モデル 9 テスト 環境テスト対象 テスト テストシステム 【テスト設計の 品質モデル】 【テスト環境の 品質モデル】 【テスタビリティの 品質モデル】 品質モデル 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  10. 10. テスト自動化に関わる品質モデル 10 【テスト設計の 品質モデル】 【テスト環境の 品質モデル】 【テスタビリティの 品質モデル】 品質モデル 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】 テスト 環境テスト対象 テスト テストシステム
  11. 11. テスト環境の品質モデル  製品やサービス開発の品質モデルを利用できる  IEC/ISO 25000シリーズなどを開発と同じように利用可  例)「テストの品質モデル構築の取り組み 」 http://www.slideshare.net/goyoki/tq-mfor-sts  テストとテスト対象では求められる品質は当然異なる ただ、テストであっても、製品と同じように保守性や信頼性 等に注意を向けて、品質要求を抽出し、品質を確保すべき 11【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  12. 12. テスト環境の品質モデル テスト環境の品質モデルの例  「Software Test Automation」(Mark Fewster他)での 自動テスト環境の品質特性定義 12 品質特性 内容 保守性 テスト対象の変更への対応コスト 効率性 テスト自動化に要する時間や工数 信頼性 テストの欠陥により失敗と誤認されたテストの数 柔軟性 テストのグルーピングや優先付けのやりやすさ ユーザビリティ テスト環境を使用するのに必要なトレーニングコスト 堅牢性 不具合のテストに対する影響範囲 移植性 対応する自動テストツールの切り替えコスト 上位の特性は一般的な品質モデルと同じ 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  13. 13. 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】 テスト環境の品質モデル テスト環境の品質モデルでの留意部分 13  テスト自動化環境は一般的に保守性、次いで信頼性の価値 が高い。生産性や用途の選択肢を広げ、他の品質を左右す るため  ISO/IEC 25010 保守性  モジュール性  解析性・試験性  修正性 【●テスト対象の変更に対する安定性】 テスト対象の変動点や変更リスクの特定はでき ているか?またそれに対する対策は十分か? 【●テスト実装の試験性・解析性】 テスト設計との合致性は確認しやすいか? テストコードのレビューやデバッグは容易か? 【●テスト実装のモジュール性】 テストコードは保守しやすいように構造化(凝集 性の確保、結合性の分離)されているか?不要 な副作用はないか? 【●テスト実装の変更性】 ・テスト実装の変更がしやすいか? 具体的な特性の例
  14. 14. テスト自動化に関わる品質モデル 14 【テスト設計の 品質モデル】 【テスト環境の 品質モデル】 【テスタビリティの 品質モデル】 品質モデル 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】 テスト 環境テスト対象 テスト テストシステム
  15. 15. テスト対象のテスタビリティ  テスト目的の達成のしやすさについてのテスト対象 の品質モデル  テスト自動化については、テスト自動化のやりやすさにつ いての品質モデル  様々な定義や提案が存在  例)ISO/IEC 9126、ISO/IEC 25000シリーズ、Boehmの品質 モデル、McCallの品質モデル 15【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  16. 16. テスト対象のテスタビリティ テスタビリティの品質モデルの例 16  「実践ソフトウェアエンジニアリング」(ロジャー S.プレ スマン)でのテスタビリティの品質モデル 品質特性 内容 実行円滑性 テストの実行を円滑にできるかの程度 観測容易性 テストの出力やエラー発生、バグの観測の容易性 制御容易性 テストの操作の容易性。特殊な例外を発生させやすいかな ど 分解可能性 テスト範囲やテストの実行範囲を切り分けやすいかの程度 単純性 機能や構造、コードがテストにとって単純かどうかの程度 安定性 テスト対象が安定しているか(変更されないか)の程度 理解容易性 テスト設計に必要な情報が正確で分かりやすいかの程度 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  17. 17. テスト対象のテスタビリティ テスト自動化におけるテスタビリティの品質モデルの例 17  「レガシーコード改善ガイド」において、自動テストの 導入で重視される特性  ※王道的な自動化でなく、糞コードにいかに自動化(主にユニットテスト)を導入するかの観点 品質特性 内容 実行円滑性 テストの実行を円滑にできるかの程度 観測容易性 テストの出力やエラー発生、バグの観測の容易性 制御容易性 テストの操作の容易性。特殊な例外を発生させやすいかなど 分解可能性 テスト範囲やテストの実行範囲を切り分けやすいかの程度 単純性 機能や構造、コードがテストにとって単純かどうかの程度 安定性 テスト対象が安定しているか(変更されないか)の程度 理解容易性 テスト設計に必要な情報が正確で分かりやすいかの程度 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】 テスト結果を取得するための手段の充実度 テスト実行の操作手段の充実度 テストにとって不都合なコンポーネントを置換しやすいか
  18. 18. テスト対象のテスタビリティ テスタビリティで留意すべきこと 18  テスト自動化では重要  良否は自動テストの生産性や用途の選択肢を広げ、他の 品質に波及します  どうすればテストが楽になるかを念頭に、テストの保 守性とセットで開発の上流から作りこみましょう 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  19. 19. テスト自動化に関わる品質モデル 19 【テスト設計の 品質モデル】 【テスト環境の 品質モデル】 【テスタビリティの 品質モデル】 品質モデル 【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】 テスト 環境テスト対象 テスト テストシステム
  20. 20. テスト設計の品質モデル  いくつかの提案や実例が存在  自動テストにおけるテスト設計の品質モデルの例  例)SoftwareTest Automation(Mark Fewster他)でのテスト設 計の特性  テストの十分性、テストの効率性  今回紹介する特性 20【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】 品質特性 内容 妥当性 テスト設計が、テスト目的・テスト要求を達成するものであ るかの程度 十分性 網羅すべき実行領域に対してテストが十分かどうかの程度 効率性 どれぐらい効率的にテスト目的を達成できるかの程度
  21. 21. テスト設計の品質モデル  いくつかの提案や実例が存在  自動テストにおけるテスト設計の品質モデルの例  例)SoftwareTest Automation(Mark Fewster他)でのテスト設 計の特性  テストの十分性、テストの効率性  今回紹介する特性 21【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】 品質特性 内容 妥当性 テスト設計が、テスト目的・テスト要求を達成するものであ るかの程度 十分性 網羅すべき実行領域に対してテストが十分かどうかの程度 効率性 どれぐらい効率的にテスト目的を達成できるかの程度テスト自動化ではテスト設計のスケーラビリティが向上するため、 ある程度のテスト設計の冗長性が許容される事が多い
  22. 22. テスト設計の品質モデル テスト設計の妥当性  テスト目的・テスト要求を達成するものであるかの程度  例)バグ出しが目的なら、きちんとバグを出すテストとなっているか?  課題  テスト自動化では問題になっている事が多い  Ex)テスト自動化が目的化する・手段のみに価値を置く  留意点  (自動テストに限らず)テスト目的・テスト要求の識別と、それに基づくテ スト設計がとても重要  まずはテスト目的があり、その達成手段の中でテスト自動化の選択 肢が出てきます  テスト目的をテスト設計をどう結び付けるかは、それらを方法論化し た各種テスト手法が参考となります  ゆもつよメソッド、HAYST法等 22【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  23. 23. テスト設計の品質モデル テスト設計の十分性  テストすべき実行領域に対する網羅度  Ex)各種カバレッジが基準の達成度  課題  テスト自動化で悩む事が多い  自動化するとテストの網羅度を容易に増やせるため  悩む背景  テスト対象は複雑で曖昧  テスト領域が爆発  テスト目的と十分性基準の関係が不明瞭  留意点  複数の観点から総合的に判定して、曖昧さに対処するアプ ローチがしばしばとられる 23【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  24. 24. テスト設計の品質モデル テスト設計の十分性:観点の例  テスト十分性の評価アプローチの例  テスト設計の進め方の正確性や妥当性を評価する  テスト観点は十分か? 選択したテスト設計方針は妥当か? テスト設計アプローチの進め方は妥当か? テスト設計アプ ローチごとの網羅度は妥当か?  体系的なテスト設計アプローチごとに十分か評価する  制御フロー、シーケンス:パスカバレッジの網羅度(C1、 C2、・・・)  状態遷移:Nスイッチカバレッジ  組み合わせテスト:全組み合わせに対する組み合わせの割合、 水準網羅率、2因子間網羅率  リスクベースドテスト:テスト実施後のリスクレベル  その他間接指標  テスト密度、欠陥検出率の予実比など 24【テスト設計の品質モデル】【テスト環境の品質モデル】【テスタビリティの品質モデル】
  25. 25. 最後に  今回は自動テストに関わる3つの品質モデル とその留意点の紹介を行いました  テスト環境の品質モデル  テスタビリティの品質モデル  テスト設計の品質モデル  こういった品質モデルを活用して、体系的か つ整理しながらテスト自動化の品質確保を進 めていきましょう  ご清聴ありがとうございました 25
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×