Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
quality_model_of_software_test.pdf
Search
Hiroki Iseri
November 15, 2013
Programming
64
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
quality_model_of_software_test.pdf
Hiroki Iseri
November 15, 2013
More Decks by Hiroki Iseri
See All by Hiroki Iseri
生成AI活用でQAエンジニアにどのような仕事が生まれるか/Support Required of QA Engineers for Generative AI
goyoki
1
640
開発に寄りそう自動テストの実現
goyoki
3
4k
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
3
2.7k
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with Software Testing Improvements
goyoki
6
4.9k
チームのテスト力を鍛える
goyoki
4
3.3k
ソフトウェアテスト徹底指南書の紹介
goyoki
1
2.8k
プロダクト開発を成功させるためのソフトウェア品質保証のアプローチと技術/Software QA Approach for Puduct Success
goyoki
1
2.1k
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
3.6k
テスト分析入門/Test Analysis Tutorial
goyoki
12
6.8k
Other Decks in Programming
See All in Programming
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Webフレームワークの ベンチマークについて
yusukebe
0
180
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.5k
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
170
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.8k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
800
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
210
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
180
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.6k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
590
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.5k
Featured
See All Featured
Crafting Experiences
bethany
1
190
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
280
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Building Applications with DynamoDB
mza
96
7.1k
The SEO identity crisis: Don't let AI make you average
varn
0
510
Odyssey Design
rkendrick25
PRO
2
710
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
WENDY [Excerpt]
tessaabrams
11
38k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Transcript
テストの品質モデル構築の取り組み 〜優れたテストを作るために〜 井芹 洋輝 STAR(テスト自動化研究会) 2013/11/15 ソフトウェアテストシンポジウム 2013 東海
自己紹介 • 井芹 洋輝 – 組み込み開発・テストのコンサル – 著作「Androidアプリテスト技法」(共著)、「始めてみよう!検証 指向TDD」(ソフトウェアテストPRESS総集編)等 –
その他「ユニットテストの保守性を作りこむ」(XP祭り関西)、「テ ストを育てる。テストを支える」(Ultimate Agilist Tokyo)、「TDDの 守破離 in Live」(JaSST 12東京)等、開発✕テストの研究活動・情 報発信を行っている • STAR(テスト自動化研究会) – Software Test Automation Research Group jp – 「テスト自動化」(特に上層、システムテスト/受け入れテスト)に ついて、啓蒙や研究、教材開発等を行っている。 – 研究会は本活動の発端であり、レビューに協力頂いています
背景 • テストの役割は拡大し続けています – CI、DDT/KDTツール、BDDフレームワーク、仮想化、クラウ ドサービスなど、テストに関わる技術・環境の発展による テスト活用領域の拡大 – Wモデル、BDD、ATDDなど、多方面でテストを考慮・活用 する手法の普及
• 現在のテストの役割: – 開発ライフサイクル上の活動をテストが多方面にサポート – テストを資産として、プロジェクトを横断しながら継続的に 利用
課題 • 多方面からのテスト品質要求に応えられるテ ストの構築が必要となっています – 例)テスト駆動開発 • プログラミングのスピードを損なわない、テストの速さ・ 効率性が必要 •
作成したテストをリグレッションテストとして継続的に運 用するためのテストの保守性が必要
本活動の位置づけ • 多方面からのテスト品質要求に応えられる、 テストの品質の作りこみが必要です • テストの品質の作り込みには、テスト品質の 要求定義、測定、評価を行う必要があります • 本活動では、それらを実現するため、テストに ついての品質要求の抽出、仕様化、測定、評
価の観点となるテスト品質モデルを作成して います
用語定義 • テストシステム – テスト環境構築及びテスト実装成果物 – テスト対象を組み込んで使用する – テストスクリプト、テスト実行環境、テストデータ、 冶具ツールなどが包含される
– 例) • ウェブアプリ自動テストのテストシステム – Selenium+Jenkins+svnserv+テストスクリプト+閲覧ブラウザ • 組み込み自動テストのテストシステム – 評価ボード+通信ログツール+ビルド&ロードツール+テストス クリプト+テストデータ
テストに関わる品質モデル 全体構成 • 品質モデルの構成 – 品質特性、代表的な観点、代表的な指標・測定方法 • 策定の方向性 – 自動テストのテストシステムを主ターゲットとした品質モデルを策定
– テストシステム全体に対する「テストシステム品質モデル」と、テスト自動 化で課題となりがちな「テスト容易性品質モデル」がメイン – ツールやテスト実装成果物(スクリプト+データ)の品質を詳細に扱える ように、テスト環境、テストデータ、テスト設計についても、個別に詳細な 品質モデルの定義を検討している 品質モデル 内容 テストシステム品質モデル テストシステムの品質モデル メインとなる品質モデル。 テスト設計品質モデル テストシステムに属するテスト設計の品質モデル テスト環境品質モデル テストシステムに属するテスト環境の品質モデル テストデータ品質モデル テストシステムに属するテストデータの品質モデル テスト容易性品質モデル テストシステムに関連するテスト対象の品質モデル
品質モデルの位置づけ テスト対象-テストシステム テスト 環境 テスト対象 ソフトウェア テスト非対象 ソフトウェア テスト対象システム テスト非対
象システム テスト 一時利用者 その他間接 利用者 人間-テスト対象-テストシステム テストシステム 対象モデル テストシステム 品質モデル テスト設計 品質モデル テスト環境 品質モデル テストデータ 品質モデル テスト容易性品 質モデル 品質モデル
品質モデルによるテスト品質要求の 抽出、仕様化、測定、評価 テスト要求分析 テスト分析 テスト設計 テスト実装・ 環境構築 テスト実施 テストに関わる 品質モデル
要求抽出・分析のための分析モデルの提供 テスト分析の観点の提供 テスト品質についての検証と妥当 性確認の基準や観点をを提供 分析モデル 検証・妥当性 確認のための 属性・基準 テスト対象へ の要求観点 テストプロセス 開発プロセスへ
品質モデルの詳細 • 今回ご紹介する品質モデル – テストシステムの品質特性
テストシステムの品質特性(主特性) 品質特性の対象 主特性 概要 テスト設計 •テスト領域の特性 テスト設計の網羅性やピンポイント性 •テストの合目的性 テスト設計がテスト目的をどの程度達成し得るものか の度合
テスト環境 •テスト環境の機能適合性 テスト環境が有するテスト実行機能の適合性 テストシステム •テスト実施の性能効率性 資源の量や性能についての特性 •テストの互換性 他のテストシステムの構成要素との共存や交換のや りやすさ •テストの使用性 テストシステムの使い勝手や学びやすさ •テストの信頼性 テストシステムの安定性や障害に対する許容性 •テストのセキュリティ テスト活動の真正性や責任の追跡可能性。またテスト システムがテスト対象のセキュリティにどの程度影響 をあたえるかの度合い •テストの保守性 テストの保守や再利用のやりやすさ •テストの移植性 テストシステムの構成要素の移植のしやすさ
主特性 副特性 詳細特性の例 測定方針・指標の例 •テスト領域の特性 ・テスト設計の網羅性 テスト設計のインプットに対する網羅性 ・仕様網羅性 テストベース仕様に対する網羅性 ・リスク網羅性
リスクやリスクコントロール手段に対する網羅性 ・構造網羅性 コードやグラフ等の構造に対する網羅性 ・各種カバレッジ ・テスト対象観点に対する網羅率 ・テスト設計のピンポイント性 テスト目的を必要最小限のテスト領域で達成 しているかの度合 ・テスト設計の重複の少なさ 網羅すべき実行領域をどの程度重複なく網羅できて いるかの度合 ・工数当たりの各種カバレッジ •テストの合目的性 ・保証容易性 保証基準の達成がどの程度容易かの度合 Ex)リリース可能な品質を保証しやすいか? ― ・保証基準チェックリストの達成 度 ・欠陥検出の容易性 欠陥検出をどの程度支援するかの度合 ― ・テストケースメソッド当たりのテ ストアサーション数 ・指標獲得容易性 取得を目的とする指標を、どの程度容易に取 得できるかの度合 ― ― ・テスト設計の標準適合性 外部の標準や基準に対するテスト設計の適 合度 ・カバレッジ計測容易性 カバレッジ計測をどこまでできるか? ・監査チェックリストの合格率 •テスト環境の機能 適合性 ・テスト環境の正確性 テストやテスト実行に必要な機能をどの程度 正確に実行できるかの度合 ・テスト実施正確性 テスト実施をどの程度正確に実行できるかの度合 ― ・テスト環境の完全性 実施できるテストや機能が、要求や目的をど の程度包含しているかの度合 ・テスト実施完全性 実施できるテストがテスト設計をどの程度包含してい るかの度合 ― ・テスト環境の適切性 定められたテスト関連機能のタスクを遂行で きるかの度合 ― ― テストシステムの品質特性(詳細)
主特性 副特性 詳細特性の例 測定方針・指標の例 •テスト実施の性能 効率性 ・テスト実施タイミング制約性 テストをどの程度望ましいタイミングで実施 できるかの度合 ex)夜に実施しやすい、やりたいと思ったら
即実施できる、といった制約の度合 ・テスト実施開始タイミング制約性 テストをどの程度望ましいタイミングで開始でき るかの度合 ― ・テスト実施の時間効率性 テストをどれぐらい短時間で実施できるか の度合 ― ・テスト実行時間 ・テスト実施の資源効率性 テスト実施のリソースをどの程度効率化出 来るかの度合 ・実施人員効率性 どの程度の人数でテストできるかの度合 ・環境資源効率性 どの程度の制約の少ないテスト環境でテストでき るかの度合 ex)高価な環境を使わなくてすむか ― ・テスト対象制約性 テスト対象にどの程度の完成度やカスタマ イズを求めるかの度合 ex)本番環境でないとテストが出来ない、 モックを組み込まないとテストが出来ない、 といった制約の度合 ・テストダブル制約性 テストを実施するために、テスト対象をどの程度 テストダブルに置換しなければならないかの度 合 ― ・後戻り防止性 テストの後戻りの規模・頻度をどの程度軽 減するかの度合 ex)サニティテストによる後戻り防止性の向 上 ― ・欠陥検出率 ・バグの解析容易性 テストでバグを見つけた場合、それの特定 がどの程度容易か ― ― ・テスト自動化容易性 テスト実行の自動化をどの程度まで適用す るか ・テスト実施自動化容易性 テスト実行の自動化をどの程度まで適用できる か ・テスト構築自動化容易性 テスト分析・設計・実装の自動化をどの程度まで 適用出来るか ― テストシステムの品質特性(詳細)
主特性 副特性 詳細特性の例 測定方針・指標の例 •テストの互換性 ・共存性 テストが、他のテストや環境に影響を受けたり、影 響を与えたりする程度の度合 ・プロジェクトをまたがった資源共有のやりやすさ ―
・相互運用性 他のテストシステムの構成要素との相互運用がど の程度できるかの度合 ― ― •テストの使用性 ・適切度認識性 テストエンジニアがテストやテスト結果を適切である と認識しやすいかどうかの度合 ― ― ・不具合認識性 テストが検出するバグをバグであると認識しやすい かの度合 ― ― ・習得性 テストシステムの使用に必要なスキルを用意に習 得できるかの度合 ― ・テストに対するユーザビリ ティテスト結果 ・運用操作性 テスト実施の運用や制御がどの程度容易かの度合 ― ― ・テスト実施エラー防止性 テストシステム使用のミスをどの程度防止できるか の度合 ― ― ・アクセシビリティ テストシステム利用者を対象としたアクセシビリティ ― ・アクセシビリティチェックリス トの達成度 テストシステムの品質特性(詳細)
主特性 副特性 詳細特性の例 測定方針・指標の例 •テストの信頼性 ・成熟性 テストシステムが通常運用下でどの程度安定してテ スト目的を達成できるかの度合 ― テスト稼動時のMTTF
・障害許容性 テストシステムの運用において、どの程度までテスト の障害を許容できるかの度合 ― ― ・回復性 障害やエラーから希望する状態にどの程度復帰さ せやすいかの度合 ― テスト稼働時のMTTR ・テスト実行単位の独立性 テストシステムの実行単位の構成要素間でどの程 度の副作用や依存関係があるかの度合 ex)Test Suite間での副作用の度合い ― ― ・テスト実施再現性 テスト実施の再現しやすさの度合 ― ― •テストのセキュリ ティ ・テスト対象機密保持性 対象のセキュリティをどの程度保持できるかの度合 ex)テスト用の機能でバックドアを作ってしまうリスク の度合 ― テスト機能を有効化したソフトウェアに対す るセキュリティ解析結果 ・否認防止性 テスト結果が不正に否認できないかどうかの度合 ― ― ・責任追跡性 テストの責務達成について、どの程度追跡・確認で きるようになっているかの度合 ― ― ・テスト真正性 テストが正しいものであると判断できるかどうかの度 合 ― ・CSV適合度 ・テスト結果真正性 テスト結果が正しいものであると判断できるかどうか の度合 ― ・CSV適合度 テストシステムの品質特性(詳細)
主特性 副特性 詳細特性の例 測定方針・指標の例 •テストの保守性 ・テスト設計要素の独立性 テスト設計の構成要素が独立しており、テスト設計変更の 影響がどの程度限定されているかの度合 ― ―
・テストモジュール凝集性 テスト設計の構成要素は、有意なテストケースやテスト設計 観点の集まりとなっているかの度合 ― ・テストコードの各種静的解 析結果 ・アクティビティの自己完結性 セットアップ、実行、結果検証、後始末までテスト実施のアク ティビティがどの程度まとまっているかの度合 ― ― ・再利用性 テストの再利用しやすさの度合 ― ― ・解析性 テストの理解や問題特定がどの程度用以下の度合 ・テスト設計とのトレーサビリティの見や すさ ・テストコードの各種静的解 析結果 ・修正性 テストの修正をどの程度少ないコストで実施容易かについ ての度合 ・テストコードの複雑度 ・テストコードの各種静的解 析結果 ・試験性 テストの検証や妥当性確認の容易性 ― ・テストコードの各種静的解 析結果 •テストの移植性 ・適応性 ツールや環境にどの程度順応できるかの度合 ― ― ・設置性 テスト環境をどの程度設置しやすいかの度合 ― ― ・置換性 他のテストとの置換えはどの程度容易かの度合 ― ― テストシステムの品質特性(詳細)
活用例
テスト品質の観点抽出 テスト実施の性能 効率性 テスト実施タイミン グ制約性 夜間実施可能か 並列実施可能か テスト実施の時間 効率性 CIテストの時間効
率性 ゲートチェックイン 時テストの所要時 間 フルテストの所要 時間 テスト実施の資源 効率性 CIサーバスペック テスト対象制約性 テストダブル必要 性 ロギング機能必 要性 開発支援CIサーバテスト 分析観点 品質モデルを観点に要求分析観点を具体化 品質特性
テスト要求の抽出 テスト要求の全体構成 を整理・俯瞰する ステークホルダ✕テスト品質観点によるステークホルダ分析マトリクス 抽出した ステーク ホルダ テスト品質の観点 計画や制約、 要求獲得結果
実施テスト 一覧 テスト品質の観点 •REQ-CM-1 テスト実施時間は 1min以下であること •REQ-CM-3 Jenkinsトリガでビルド・ 実行を完全自動化す ること テスト品質観点ごとに要求を抽出・整理する 実施テスト✕テスト品質観点によるテスト要求分析マトリクス
テスト品質の指標と基準の設定 主特性 副特性 詳細特性の例 測定方針・指標の例 •テスト領域 の特性 ・テスト設計の網羅性 テスト設計のインプットに対す る網羅性
・仕様網羅性 テストベース仕様に対する網羅性 ・リスク網羅性 リスクやリスクコントロール手段に 対する網羅性 ・構造網羅性 コードやグラフ等の構造に対する 網羅性 ・各種カバレッジ ・テスト対象観点に対する 網羅率 ・テスト設計のピンポイント性 テスト目的を必要最小限のテ スト領域で網羅しているかの 度合 ― ・工数当たりの各種カバ レッジ ・テスト設計の重複の少なさ 網羅すべき実行領域をどの 程度重複なく網羅できている かの度合 ― ・テスト対象観点に対する 重複率 品質モデル テスト対象コードの MC/DC Nスイッチカバレッジ 社内標準観点の網羅 率 品質モデルを参考に、テスト要求の達成を確 認するための指標と基準を設定