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
ソフトウェアテストを助ける発想支援ツール
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Akira Ikeda
August 31, 2007
Technology
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ソフトウェアテストを助ける発想支援ツール
SWEST9での講演資料。
http://swest.toppers.jp/SWEST9/report.html
Akira Ikeda
August 31, 2007
More Decks by Akira Ikeda
See All by Akira Ikeda
JaSST'24 Kyushu 基調講演 「一周まわって考えるソフトウェアテストへのマインドマップの利用」
ikedon
0
1.1k
それって技術の仕事!? 仕様の輻輳問題(SS2023in仙台 FPセッション)
ikedon
0
55
長崎ビジネスDX "SAIZENSEN" 長崎の未来 ~私達の活動の先にあるもの~ ポジショントーク資料
ikedon
0
29
米国修士課程ベストセラーに学ぶ体系的ソフトウェアエンジニアリングの必要性
ikedon
0
61
テスト設計技法、その前に ~フェイスアップ、次にビルドアップ、その先にマインドアップ~
ikedon
0
27
単なる仕様チェックを卒業してテスト技術力を高めていくために ~押さえておきたいキホンのキ~
ikedon
0
56
IV&Vの概要 ~JAXA様発行「IV&Vガイド【虎の巻】」第1~2部の要約~
ikedon
1
490
OSGi概要
ikedon
1
1.3k
親子で使おうマインドマップ
ikedon
0
34
Other Decks in Technology
See All in Technology
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
1.5k
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
270
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
980
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
2.5k
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.1k
Dynamic Workersについて
yusukebe
2
590
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
250
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.5k
EventBridge Connection
_kensh
4
520
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
210
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
480
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
How to Talk to Developers About Accessibility
jct
2
220
Information Architects: The Missing Link in Design Systems
soysaucechin
0
960
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
310
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Designing for Timeless Needs
cassininazir
1
250
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Transcript
© Akira Ikeda SWEST9 ソフトウェアテストを助ける 発想支援ツール 池田 暁
© Akira Ikeda SWEST9 2 普段テストをどのように行っていますか? • テストは頭を使う作業である – テストベースは設計者が検討を重ね作りこまれた仕様書など
– 静的テストでは,作り込まれた仕様書をテスト対象とする – 静的テストを合格したテストベースをもとに,実現されたソフトウェアのどこ にバグが潜んでいるかを考える • テスト初心者にありがちなケース – 仕様書から直接Excelシートの表にテストケースを書く • 多くの場合、文言の変換しか行われない • 転記作業に陥り,仕様書の内容を吟味しない • 表を埋めるために,適当に数値を変えて水増し(境界値テストの意識なし) • ベテランはどうしているか – 仕様書を分析し,最適なテスト戦略を考え,最終的にテストケースに落とし 込む – この際,過去の経験の再利用や,網羅性の確保と観点の抜けの防止の努 力をする テストはいかに深く考え,多くの発想を得るかが勝負である
© Akira Ikeda SWEST9 3 テストには,より高い発想力・想像力が必要 • テストの作業は次のように進められる – 仕様分析
• 仕様書等のテストベースを分析する • 実施すべきテストの種類,テストの終了/判断基準,人員/環境など – テスト計画 • 仕様分析での情報を,具体的な計画に起こしていく – テスト設計 • テストの計画にしたがって,テスト項目に作成する – テスト実装 • テスト設計にしたがって,テストケースを作成する – テスト実行 • テストケースを実際に実行し,テストログを作成するとともに,必要があればイ ンシデントレポートを発行し,管理する – テスト報告 • テストが終了したら,テストドキュメントをもとに報告書を作成し,報告を行う 各作業品質の向上には,より高い発想力・想像力が必要
© Akira Ikeda SWEST9 4 発想支援ツールは何を使っていますか? • ツールはたくさんあるけれど – 石川ダイアグラム
• どちらかというと情報の分析や整理? • 不良やその根本原因の分析に有効だろう – 系統図 • これも石川ダイアグラムと同様,どちらかというと分析や整理だろう – マンダラート • 3*3のマトリクスを埋めていく • マスが空いていると気持ち悪いから,なんとしても埋めたくなる(発想を促す) – マインドマップ • 思考を描きとめ,全体を俯瞰できることで,新たな気付きや発想を促す • あらゆる可能性を考えなければならないテストと相性が良い – 他にも,付箋紙とかいろいろ 不良の分析はQC七つ道具などを活用すればよいが, テスト設計や戦略の検討にはマンダラートやマインドマップが有効
© Akira Ikeda SWEST9 5 テストとマインドマップのちょっとイイ関係 • マインドマップを使うメリットを3つほど挙げてみる – 一覧性,バードビューという特性が,網羅性の検討を支援する
• テストは常に“網羅”を意識する →ドキュメントに関する網羅,コードに関する網羅,機能に対する網羅,要求 に対する網羅,それぞれの組み合わせにおける網羅etc… – マインドマップに描かれたキーワードから新たな発想や気付きを得られる • キーワード間の関連に気がつきやすい →関連を見つけ出すことで,さらなる関連や新たな観点を獲得できる • 本来描かれるはずであるキーワードが無いことに気がつく →これが仕様や観点の“抜け”であることが多い – 自然と情報が整理されていく(本当に必要な情報のみが抽出できる) • 紙のスペース上,自然とキーワード,しかも重要なものが描かれていく • また,描く際にそのキーワードが本当に必要なのか自然と検討している マインドマップは、テストに対し様々な発想支援を行う (ある種のモデリングツールとして機能する)
© Akira Ikeda SWEST9 6 自由記述かテンプレートか • マインドマップには利用スタイルがある – 自由記述型
• ルール無しに自由に描いていく • ひたすら思考を発散させながら思いつくままに描いていく – ブレーンストーミング向き – 探索型テスティング向き • 抽象レベルを特に意識しなくても良い(いくらでも詳細化できる) • 発散した思考は,別プロセスで収束させる必要がある – テンプレート型 • メイン・ブランチ,ブランチのひな形を使う • ゆるやかなルールが存在していることが多い – 情報の分析や整理に使われることが多い(系統図っぽく使われる) – カテゴリ型テスト向き(ISO9126品質特性など) • 抽象レベルが固定されることが多い • 思考がテンプレートに縛られるため,自由記述型に比べて発想力は落ちる 何をどう検討するかで,スタイルを選択する
© Akira Ikeda SWEST9 7 マインドマップを使う上での注意 • 思考を際限なく発散させない – 無秩序に発散させていくと巨大なマインドマップができあがる
– どこかで立ち止まって見直す必要あり • マインドマップは客観的には描かれない – 完成したマインドマップの内容は,他の人とは確実に異なる – 他の人のマインドマップを馬鹿にしない(人格否定に受け取られる) • マインドマップに正解はない • マインドマップを描くことを目的化しない – 綺麗な絵がかけても気づきがなければ意味が無い – 汚くても沢山の気づきが描かれているほうが良い ツールは使いよう マインドマップを上手に描けることと,テストをうまくやれることは違う
© Akira Ikeda SWEST9 8 まとめ1 テストには発想力が必要 • テスト設計は発想力・想像力が必要である –
したがって,発想力・想像力を刺激するツールの活用は重要 • マインドマップ,マンダラート,などなど • ソフトウェアテストは実行だけじゃない – 実行前と実行後に行うべき作業がある – 装備やルートの確認を行わないままに登山するようなものだ →遭難してあたりまえ,遭難しないように事前にしっかりと戦略を立てる – うまく実行するために,すべての可能性を考え,漏れがないように準備を行う →漏れの防止にマインドマップが有効 • マインドマップには利用スタイルがある – 自由記述型かテンプレート型か – 発想を得たいのか,物事をまとめたいのか – 手書きかツールか – 自分のみが見るのか,誰かと共有するのか テストは発想力が必要とされ,発想力を促進するために マインドマップを発想支援ツールとして使う
© Akira Ikeda SWEST9 9 まとめ2 テスト・モデリングを意識する • マインドマップを使うことはテスト・モデリングをおこなっているようなもの –
コーディングの前にはUML,フローチャート,PADなどを使ってモデリングしている • これがちゃんとやられていなければ,質の悪いコードができあがる – テストも,テストケースを書く前にしっかりとモデリングする必要がある • モデリングされずに作成されたテストケースの質ははたして? • マインドマップをモデリングツールとして利用する • 他の記法と連携させる – 他の記法を組み合わせても良い • マインドマップの中に他の図を埋め込む • デシジョンテーブルや状態遷移図・表など – 他の記法の前処理に使う • マインドマップでテスト観点を洗い出し(発散),NGTに落とし込む(収束)のもいいだろう • レビューにも生かす – 自分の考え,他人の考えを可視化することで,レビュー品質が向上する • 適切な指摘が可能に,また,部下の指導ツールとしてもいいだろう 発想支援ツールとしてだけではなく,テスト・モデリングの 1ツールとして意識することで,より高レベルのテスト設計が行える
© Akira Ikeda SWEST9 ご静聴ありがとうございました 是非,テスト設計に マインドマップを使ってみてください!