良いテストを作るための
テスト設計チュートリアルを考える
おーだん
大段 智広(おおだん ともひろ)
自己紹介
名前
• 大段 智広(おおだん ともひろ)
お仕事
• テスト技術教育や自動テスト導入/開発/運用を主に行っています。
社外活動
• テスト設計コンテスト’16~19参加
• テスト設計コンテスト 実行委員
• テスト設計コンテスト U-30クラス審査委員
• テストプロセス改善技術研究会
• JSTQB技術委員
SNS
• Twitter:dandan_611
2
※ただし、今回は一個人として話すので、実行委員、審査委員全体の総意でないことはご了承ください。
発表の流れ
3
1. お伝えしたいこと
2. テスト設計コンテストの紹介
3. テスト設計とは
4. コンテストに関わっていて感じること
5. テスト設計で必要な知識やスキル
6. テスト設計チュートリアルでやっていること
7. まとめ
Appendix
• ディスカッションネタ
• 参考になりそうなイベント
お伝えしたいこと
テストで困っていること、難しいこと
を解決しよう!!
でも、そのためには
必要な知識やスキルがある
必要な知識やスキルを
適切な順番で習得していきましょう!
発表の流れ
8
1. お伝えしたいこと
2. テスト設計コンテストの紹介
3. テスト設計とは
4. コンテストに関わっていて感じること
5. テスト設計で必要な知識やスキル
6. テスト設計チュートリアルでやっていること
7. まとめ
Appendix
• ディスカッションネタ
• 参考になりそうなイベント
テスト設計コンテストとは
• テスト設計コンテストは、ソフトウェアテスト技術の向上と促進の機会を提供する
場としてNPO法人 ASTERが開催するコンテストです。
• 指定のテストベースに対するテスト設計を行い、優劣を競います。
• また、日本以外では、韓国、マレーシア、ベトナム、フィリピンなどの国でも開催(検
討含)されています。
テスト
ベース
テスト設計成果物
プレゼンテーション
テスト
要求分析
テスト
アーキテク
チャ設計
テスト
詳細設計
テスト
実装
テスト
実施
テスト目的(要求)
の抽出と整理
テスト目的(要求)
のテスト構造化
テスト条件・
テストケース作成
テストデータ/手順
作成や優先度づけ
テスト設計コンテストとは
成果物例
テスト要求
モデル
テスト要求
一覧
テスト
アーキテクチャ
テスト
要求分析
テスト
アーキテクチャ設計
テスト
詳細設計
テスト
実装
テスト
実施
テスト要求
分析結果
テスト
ケース
テスト
スクリプト
テスト設計
最終成果物
テスト
詳細設計
モデル
テスト設計コンテストとは
審査基準
http://www.aster.or.jp/business/contest.html
発表の流れ
12
1. お伝えしたいこと
2. テスト設計コンテストの紹介
3. テスト設計とは
4. コンテストに関わっていて感じること
5. テスト設計で必要な知識やスキル
6. テスト設計チュートリアルでやっていること
7. まとめ
Appendix
• ディスカッションネタ
• 参考になりそうなイベント
テスト設計とは
テスト条件から、
テストケースを導出し、
明確化する活動。
(ISTQBより)
もう少し、
やさしく言い換えると…
テストすべきこと
を考えて、
テストケースとして
具体化すること
テスト開発プロセスでのテスト設計
テスト開発プロセスの図は以下より:
テスト設計チュートリアル テスコン編 '21
http://www.aster.or.jp/business/contest/doc/2021_chibicon_V1.0.0.pdf
テスト開発プロセスでのテスト設計
「テストすべきことを考えて、テストケースとして具体化すること」
テスト対象で
テストすべきこと
バグ票
システム
モジュール
モジュール
考え・ノウハウ
テストケース
考えて
気にせずいつもやってますよね?
けれど…
テストすべきこと
を考えて、
テストケースとして
具体化すること
テストすべきこと
を考えて、
テストケースとして
具体化すること
テストすべきこと
を考えて、
テストケースとして
具体化すること
• テストすべきこと
• テストの実現方法
• テストの効率、性能
• 本当に欠陥がみつかるか
• テストをし続けられるか など
考えるべきことはたくさんある!
答えがすぐにわかることもある
でも・・・
すぐに答えが出ないこともある
「テスト設計」の知識やスキルは
テストで困ったり、
難しいと悩んだりしている
そんな時こそ必要!!
テキトーにこなして、
拙いテストを作ってしまわないように
「テスト設計」の知識やスキルを
習得して、
良いテストを作ろう
発表の流れ
29
1. お伝えしたいこと
2. テスト設計コンテストの紹介
3. テスト設計とは
4. コンテストに関わっていて感じること
5. テスト設計で必要な知識やスキル
6. テスト設計チュートリアルでやっていること
7. まとめ
Appendix
• ディスカッションネタ
• 参考になりそうなイベント
コンテストに関わっていて
感じること
なかなか上手くいかないテスト設計の問題Top3
• テストで困っていること、難しいことを明確にしていないことが多い。
• 単純にテストケースを作るだけでいいと思っているがそうではない。
• テストケースを作るときになってあらためて作れない(難しい)ことがわかり、手が止まることが多い。
• テストで困っていること、難しいことがぼんやりしすぎて、結局解決できていない。
• 本当に解決できておらず、思い付きの局所的な解決に留まってしまっている。
• テスト要求分析麻痺に陥っている。
• 実務では時間がないので、時間が来たら終わってしまうが、コンテストではすべての
テスト要求、テスト観点を満たすようなテストを作りたいと思ってしまう。
• 時間をかけすぎて、取り組み自体が破綻してしまう。
• テスト設計で必要な知識や(エンジニアリング)スキルが足りない。
• テストをエンジニアリングするプロセス、成果物がぼんやりしている。
• テスト要求⇒ テスト目的⇒テスト条件/観点⇒テストケース⇒テストスクリプト
• 仕様書の行間を読み取ってテストケースを暗黙的に作ることはできるが、体系的
に要求仕様を適切に網羅したテストケースが作れない。
発表の流れ
32
1. お伝えしたいこと
2. テスト設計コンテストの紹介
3. テスト設計とは
4. コンテストに関わっていて感じること
5. テスト設計で必要な知識やスキル
6. テスト設計チュートリアルでやっていること
7. まとめ
Appendix
• ディスカッションネタ
• 参考になりそうなイベント
テスト設計で必要な知識やスキル
① テスト開発プロセス知識
② モデリングスキル
• モデリング手法
• VSTeP
• オブジェクト指向分析・設計 などなど
③ テスト要求分析、管理方法
④ テスト技法
問題に対応するテスト設計で必要な知識やスキル
テストで困っていること、難しいことを明
確にしていないことが多い
テスト要求分析麻痺に陥っている
テスト設計で必要な知識や(エンジニア
リング)スキルが足りない
テスト設計の問題
テスト開発プロセス知識
モデリングスキル
テスト要求分析、管理方法
テスト技法
テスト設計の知識やスキル
独力での学習も可能だが時間がかかるので、少しでも体系的に学べる環境を提供したい!!
発表の流れ
35
1. お伝えしたいこと
2. テスト設計コンテストの紹介
3. テスト設計とは
4. コンテストに関わっていて感じること
5. テスト設計で必要な知識やスキル
6. テスト設計チュートリアルでやっていること
7. さいごに
Appendix
• ディスカッションネタ
• 参考になりそうなイベント
テスト設計チュートリアルでやっていること
それぞれを対象にテスト設計チュートリアルを少しずつ開発、実施しています。
レベル 内容 実施チュートリアル 実施 カバーする知識とスキル
レベル4 モデリング
(トップダウンアプローチ)
• テスト要求分析チュートリアル 単発
• 目指せテスト設計リーダー!! テスト設
計チュートリアル(予定)
22年
1月
レベル3 モデリング
(ボトムアップアプローチ)
• テスト設計初心者向けチュートリアル
(21年版)
21年
1月
レベル2 テスト技法適用 • テスト設計初心者向けチュートリアル
(20年版)
20年
1月
レベル1 テスト開発プロセス理解 • テスト設計チュートリアル テスコン編 毎年
• テスト設計チュートリアル ちびこん編
チュートリアルレベル
テスト開発プロセス知識
テスト要求分析、管理方法
テスト技法
モデリングスキル
テスト開発プロセスとの対応
レベル1:テスト開発プロセス理解
レベル2:テスト技法適用
レベル3:モデリング(ボトムアップアプローチ)
レベル4:モデリング(トップダウンアプローチ)
テスト開発プロセスとの対応
テスト要求分析からは、ソフトウェアエンジニアリングスキルの素地がないと難しいので、
テストケースをイメージしやすいテスト詳細設計から始めると良い
レベル2:テスト技法適用
レベル3:モデリング(ボトムアップアプローチ)
レベル4:モデリング(トップダウンアプローチ)
レベル1:テスト開発プロセス理解
レベル1:テスト開発プロセス解説
• チュートリアル名:テスト設計チュートリアル テスコン編
• 目的:テスト観点ベースでのテスト開発プロセスをイメージできるようになる
• 時間:2時間(120分)
• ワーク:なし
テスト設計チュートリアル ちびコン編 '21
http://www.aster.or.jp/business/contest/doc/2021_chibicon_V1.0.0.pdf
レベル1:テスト開発プロセス解説
• チュートリアル名:テスト設計チュートリアル テスコン編
• 目的:テスト観点ベースでの一歩進んだテスト開発プロセスの勘所がわかる
• 時間:2時間(120分)
• ワーク:なし
テスト設計チュートリアル テスコン編 '21
http://www.aster.or.jp/business/contest/doc/2021_tescon_V1.0.0.pdf
レベル2:テスト技法適用
• チュートリアル名:テスト設計初心者向けチュートリアル(20年版)
• 目的:基本的なテスト技法を理解して、一部の要求仕様からテストケースが作れる
• 時間:3時間5分(185分)
• ワーク:あり
ソフトウェアテストシンポジウム 2020 北陸
http://www.jasst.jp/symposium/jasst20hokuriku/report.html
レベル3:モデリング(ボトムアップアプローチ)
• チュートリアル名:テスト設計初心者向けチュートリアル(21年版)
• 目的:既存のテストケースからテストをリバースしてテスト全体を改善する
• 時間:2時間25分(145分)
• ワーク:あり
テスト設計初心者向けチュートリアル(21年版)
http://www.jasst.jp/symposium/jasst21hokuriku/pdf/B1.pdf
レベル4:モデリング(トップダウンアプローチ)
• チュートリアル名:テスト要求分析チュートリアル
• 目的:テスト要求分析の概要と手法を理解する
• 時間:2時間(120分)
• ワーク:なし
テスト要求分析チュートリアル
http://www.aster.or.jp/business/contest/doc/2020_TRA_1-3_V1.0.0.pdf
https://www.youtube.com/watch?v=KrMwXNtotbU
レベル4:モデリング(トップダウンアプローチ)
• チュートリアル名:目指せテスト設計リーダー!! テスト設計チュートリアル(予定)
• 目的:テストアーキテクチャを何となく作れるようにする
• 時間:2時間40分(160分)
• ワーク:あり
ソフトウェアテストシンポジウム
2022 北陸を
お楽しみに!!
ソフトウェアテストシンポジウム 2022 北陸
http://www.jasst.jp/symposium/jasst22hokuriku.html
発表の流れ
45
1. お伝えしたいこと
2. テスト設計コンテストの紹介
3. テスト設計とは
4. コンテストに関わっていて感じること
5. テスト設計で必要な知識やスキル
6. テスト設計チュートリアルでやっていること
7. さいごに
Appendix
• ディスカッションネタ
• 参考になりそうなイベント
さいごに
• テスト設計は、解決できない困ったこと、難しいことに焦点を当てることが大事。
• 解決できるように知識、スキルを習得し、実践することが一番の近道。
• まずはテスト詳細設計の知識、スキル領域から進めてみましょう。
• 今後は一気通貫するような長めのチュートリアルができれば…。
テスト開発チュートリアル(マイクロなテスコンの実施)
ご清聴ありがとうございました。
APPENDIX
ディスカッションネタ
• テスト設計しているか
• テストで困っていること
• テストで難しいこと
• テストで実現したいこと
今後 参考になりそうなイベント
• JaSST’21東海 【初心者向け】テストを導くためのテストアーキテクチャの組み立て方」
• 実施日 :2021年12月3日(金)
• 内容 :テストアーキテクチャ設計のワークがあります!
• JaSST’22北陸
• 実施日 :2022年1月22日(金)
• 内容 :テストアーキテクチャ設計のワークがあります!
• テスト設計チュートリアル
• 実施日 :2022年1~3月頃
• テスト開発プロセスの話がじっくり聞けます。
• テスト設計コンテスト’22
• 実施日 :2022年3~9月頃(※申し込みから決勝までの期間)
• テスト設計力向上間違いなし!みなさんでてください!
参考リンク
• ASTER
• HP
• 過去のテスト設計コンテスト

20211023 良いテストを作るためのテスト設計チュートリアルを考える