SlideShare a Scribd company logo
1 of 15
テスト技法の背景を考察する
WACATE 2021 夏
WACATE 2021 夏
2021/6/12 1
対象者
本セッションは以下のようなことでお悩みの方を対象としま
す
テスト技法をどう適用したらいいか分からない
プロダクトに対して最適なテスト技法が見つからない
WACATE 2021 夏
2021/6/12 2
目的・概要
テスト技法がどんな問題を解決するのかを考察する
ソフトウェアテストの歴史的背景を知る
テストに求められていたニーズを知る
テスト技法を、問題を解決するための道具としてとらえる
テスト技法を使うことが目的ではない
技法(テクニック)の利点を考える
WACATE 2021 夏
2021/6/12 3
自己紹介
氏名
◦ なかむら こうじ
あなたとテストの関わり
◦ 現在進行形で苦境に立たされています。
テストに関する資格
◦ JSTQB AL TM/TA, JCSQE 中級
派閥
◦ 猫派
WACATE 2021 夏 2021/6/12 4
目次
2021/6/12 WACATE 2021 夏 5
ソフトウェアテストの歴史と技法
技法について考える
まとめ
ソフトウェアテストの歴史と技法
ソフトウェアテストの歴史的成長の中で各種技法が生まれた
◦ 当時のソフトウェアテストには何が求められていたのか
◦ そのテスト技法が必要になったのには理由があるはず
技法の生まれた背景を考察する
◦ 技法がどういった問題を解決するために生まれたのかを考える
◦ 「解決したい問題」からテスト技法をとらえる
2021/6/12 WACATE 2021 夏 6
参考資料) 「ソフトウェアテスト・ヒストリーの学び方 ~ タメにならなければ学ばない。面白くなければ学ぶ資格がない。~」
https://www.slideshare.net/Bugler/wacate2010-20101219
WACATE2010冬の招待講演者、辰巳 敬三様
変遷
~1956年
デバッグ指向の時代
• デバッグとテスト
が区別されていな
かった
~1978年
論証指向の時代
• テストはプログラ
ムが仕様を満足し
ていることを 示す
ためのもの
~1982年
破壊指向の時代
• テストとは、エ
ラーをみつけるつ
もりでプログラム
を実行する過程
~1987年
評価指向の時代
• ライフサイクルを
通じた評価活動の
中にテストが位置
付けられた
1988年~
予防指向の時代
• ライフサイクルと
並行して進められ
る予防指向のテス
トプロセス
2021/6/12 WACATE 2021 夏 7
原因結果グラフ
デシジョンテーブル
同値分割
境界値分析
直交表
組み合わせ
Wモデル
XP
アジャイル
デバッグ指向の時代
求められていたこと
◦ デバッグとテストは区別されずテストに求められるものはない
課題
◦ 開発者が思った通りにできているか任意にチェックするだけなので
課題は存在しない
技法
◦ 体系化/汎用化されたテスト技法はない
2021/6/12 WACATE 2021 夏 8
論証指向の時代
求められていたこと
◦ プログラムが仕様を満足していることを示す
◦ 解決しようとした問題が解決されていることを確認する
課題
◦ 入力や条件に対して結果が正しいことをどのように論証するか
技法
◦ 原因結果グラフ
◦ 外部仕様の原因と結果の論理関係・制約条件をグラフィカルに表現
◦ デシジョンテーブル
◦ 仕様に対して起こり得るすべての条件と、それに対して実行すべき動作とを組み合わせた表
2021/6/12 WACATE 2021 夏 9
破壊指向の時代
求められていたこと
◦ 投資対効果の最大化(限られたテストで検出するバグの最大化)
課題
◦ バグがある箇所をいかに効率的にテストするか
◦ バグがない箇所のテストをどう省力化するか
技法
◦ 同値分割
◦ 同じ結果になる入力値のグループ化、有効/無効のグループ化による代表値のサンプリング
◦ 境界値分析
◦ バグの多い仕様境界(以下/未満など)に着目した入力値のサンプリング
2021/6/12 WACATE 2021 夏 10
評価指向の時代
求められていたこと
◦ 品質保証、品質を評価しバグによるリスクを許容範囲に制御する
課題
◦ 全網羅できない中で品質をどう推測・評価するか
◦ 無則(仕様上の因果関係がない)の組み合わせリスクの評価
(有則の品質はデシジョンテーブルなどの技法を併用して評価)
技法
◦ 組み合わせ技法(直交表、ペアワイズ)
◦ 2要素間の全網羅など組み合わせの網羅率を統計的にコントロール
◦ どの程度の組み合わせ網羅までの品質を保証するのかを説明
2021/6/12 WACATE 2021 夏 11
予防指向の時代
求められていたこと
◦ 開発サイクルと並行したテストサイクル
◦ 開発が終わってから品質の確認、評価、フィードバック、改善では遅い
課題
◦ 開発サイクルの上流からどうやって品質に寄与するか
技法(…の枠を超えてプロセスとそれに適した技法の選択・開発)
◦ Wモデル
◦ 設計レビューなどを通して上流からフィードバック
◦ XP,アジャイル
◦ 開発と並行してテストを実施して開発即フィードバック
◦ 例)回帰テストの自動化、ユーザストーリーテスト など
2021/6/12 WACATE 2021 夏 12
技法について考える
• 同じやり方を他の人と共有できる
• 分業が可能
体系的
• 類似の課題に対しても適用できる
• 技法の再利用が可能
汎用的
2021/6/12 WACATE 2021 夏 13
技法について考える
2021/6/12 WACATE 2021 夏 14
個人
プロジェクト B
プロジェクト C
チーム
プロジェクト A
World
汎用的
体系的
直面している課
題に対する個人
の解き方
他の人と同じ解
き方を共有
類似の課題にも
対応できる解き
方
個人的
な工夫
まとめ
2021/6/12 WACATE 2021 夏 15
世の中に技法があるから技法を使わない
といけない…というわけではない
直面している問題に対して先人の知恵(道具)として
役に立つものがあればラッキー
なければつくればいいじゃない!

More Related Content

What's hot

LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)Yasuharu Nishi
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようAkira Ikeda
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-takauji0522
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacateKinji Akemine
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptxkauji0522
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろうscarletplover
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateKinji Akemine
 
JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方崇 山﨑
 
テスト観点に基づくテスト開発方法論 VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要Yasuharu Nishi
 
WACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテストWACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテストmirer
 
The use of test design for organizing specifications
The use of test design for organizing specificationsThe use of test design for organizing specifications
The use of test design for organizing specificationsTetsuya Kouno
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門H Iseri
 
Re-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeRe-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeYasuharu Nishi
 
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメントISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント崇 山﨑
 
わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析scarletplover
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用Tsuyoshi Yumoto
 
クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門H Iseri
 

What's hot (20)

LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-ta
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptx
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
 
JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方
 
テスト観点に基づくテスト開発方法論 VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要
 
WACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテストWACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテスト
 
wacate2012s
wacate2012swacate2012s
wacate2012s
 
The use of test design for organizing specifications
The use of test design for organizing specificationsThe use of test design for organizing specifications
The use of test design for organizing specifications
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
Re-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeRe-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decade
 
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメントISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
 
わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門
 

テスト技法の背景を考察する - WACATE2021夏