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

テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptxkauji0522
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろうscarletplover
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateKinji Akemine
 
How to let them in house of quality
How to let them in house of qualityHow to let them in house of quality
How to let them in house of qualityTakahiro Toku
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏Naoki Nakano
 
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用Tetsuya Kouno
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightkyon mm
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようAkira Ikeda
 
20211023 良いテストを作るためのテスト設計チュートリアルを考える
20211023 良いテストを作るためのテスト設計チュートリアルを考える20211023 良いテストを作るためのテスト設計チュートリアルを考える
20211023 良いテストを作るためのテスト設計チュートリアルを考えるtomohiro odan
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからYasuharu Nishi
 
品質とは何か.pdf
品質とは何か.pdf品質とは何か.pdf
品質とは何か.pdfkauji0522
 
WACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテストWACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテストmirer
 
テスト観点に関する取り組み事例
テスト観点に関する取り組み事例テスト観点に関する取り組み事例
テスト観点に関する取り組み事例NaokiKashiwagura
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1Yasuharu Nishi
 
What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?Yasuharu Nishi
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用Tsuyoshi Yumoto
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜Tetsuya Kouno
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
 

What's hot (20)

テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptx
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
 
How to let them in house of quality
How to let them in house of qualityHow to let them in house of quality
How to let them in house of quality
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏
 
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 
20211023 良いテストを作るためのテスト設計チュートリアルを考える
20211023 良いテストを作るためのテスト設計チュートリアルを考える20211023 良いテストを作るためのテスト設計チュートリアルを考える
20211023 良いテストを作るためのテスト設計チュートリアルを考える
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
品質とは何か.pdf
品質とは何か.pdf品質とは何か.pdf
品質とは何か.pdf
 
WACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテストWACATE2016 冬 組み合わせテスト
WACATE2016 冬 組み合わせテスト
 
テスト観点に関する取り組み事例
テスト観点に関する取り組み事例テスト観点に関する取り組み事例
テスト観点に関する取り組み事例
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1
 
What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
 

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