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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
はない
February 11, 2017
Technology
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ここが変だよ。このテスト〜テストケース爆発と戦う〜
Laravelもくもく会#4
はない
February 11, 2017
More Decks by はない
See All by はない
2018年目標を達成できなかった私が 今年こそ達成するためにしていること
hanahiroaze
3
540
組み合わせテストを簡単にするgemを作った話
hanahiroaze
0
270
MySQLとデッドロックの話
hanahiroaze
1
1.4k
Symfony Best Practiceを読もう!(ついでに翻訳した話)
hanahiroaze
2
950
E2E Test Tips
hanahiroaze
0
180
テストことはじめ
hanahiroaze
0
510
Symfony2のi18n対応
hanahiroaze
0
840
開発合宿に行ってきました
hanahiroaze
0
160
GitHubよちよち会#3
hanahiroaze
0
180
Other Decks in Technology
See All in Technology
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
4
1.1k
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
310
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
150
GMOフィナンシャルゲートが挑む、「止まらない」決済インフラ構築の裏側【SORACOM Discovery 2026】
soracom
PRO
0
100
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
380
現場をAIで動かす「フィジカル AI」の組み込み設計の考え方【SORACOM Discovery 2026】
soracom
PRO
0
140
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
180
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
400
カメラ×AIで挑む「ホワイト物流」― 車両管理、自動化の壁と突破口【SORACOM Discovery 2026】
soracom
PRO
0
160
文字起こし基盤の信頼性
abnoumaru
0
150
WEBフロントエンド研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
610
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
520
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
380
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
470
It's Worth the Effort
3n
188
29k
Six Lessons from altMBA
skipperchong
29
4.4k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
Technical Leadership for Architectural Decision Making
baasie
3
450
First, design no harm
axbom
PRO
2
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The agentic SEO stack - context over prompts
schlessera
0
850
Transcript
͕͜͜มͩΑɻ͜ͷςετ ʙςετέʔεരൃͱઓ͏ʙ !IBOBIJSP@B[F
ͳ·͑ɿՖҪɹߦ UXJUUFSɿ!IBOBIJSP@B[F ॴଐɿIJUPNFEJB
継続的デリバリー p129 技術視点 ビジネス視点 支 援 評 価 機能の受け入れ テスト ユニットテスト
インテグレーションテスト システムテスト ショーケース(デモなど) ユーザビリティテスト 探索的テスト 非機能の受け入れテスト (キャパシティ/セキュリティなど) リグレッション テスト
継続的デリバリー p129 技術視点 ビジネス視点 支 援 評 価 機能の受け入れ テスト ユニットテスト
インテグレーションテスト システムテスト ショーケース(デモなど) ユーザビリティテスト 探索的テスト 非機能の受け入れテスト (キャパシティ/セキュリティなど) リグレッション テスト
こんな光景 このパターン全部テストします。 お客さん いっぱいあるじゃないですか。 どうやってやるんですか? 画面から入力してください。 手伝いますから頑張りましょう!!! お客さん ・・・はい。。
こんな光景~次の日~ 新しいバグが見つかりました!! お客さん ごめんなさい直します。 テストやり直しです。今回のバグのパターンが漏れて ました。さらに30パターン追加です。頑張りましょう! お客さん ひぇ!?
http://bit.ly/2ebuOOi
ここが変だよ。このテスト ・ 最初からデータのパターン網羅が考えられていない。 ->パターン漏れによるバグ発生。 ・ テストするパターンの数が多すぎる? ->自動化できる範囲と、実際に動かして確認したい部分の 切り分けがない。 ・
仕様変更のたびにテストが増え続ける可能性がある。
ここが変だよ。このテスト ~対策~ ・ データのパターン網羅を考える。 例) user_id : メールアドレス(必須) password :
半角英数字(必須) agreement : ラジオボタン(必須)
ここが変だよ。このテスト ~対策~ user_id password agreement 入力なし 入力なし 入力なし 正しい 正しい
同意する メールアドレスっぽく ない 正しくない 同意しない 存在しない - - 入力されるデータの種類を考えると、こんな感じ
ここが変だよ。このテスト ~対策~ user_id password agreement 入力なし 入力なし 入力なし 正しい 正しい
同意する メールアドレスっぽく ない 正しくない 同意しない 存在しない - - 4 3 3 ✖ ✖ これだけのパターンでも網羅するために必要なテスト回数は36回
ここが変だよ。このテスト ~対策~ 実際にはもっとデータの種類も、 フォームの数も多いということは・・・
ここが変だよ。このテスト ~対策~ ・先人の知恵に頼る。 http://csrc.nist.gov/acts/kuhn-reilly-02.pdf
ここが変だよ。このテスト ~対策~ user_id password agreement 入力なし 入力なし 入力なし 正しい 正しい
同意する メールアドレスっぽく ない 正しくない 同意しない 存在しない - - 因子 水 準
ここが変だよ。このテスト ~対策~ 2因子間網羅率100パーセントを実現する! ・直交表 ・All-Pair(ペアワイズ)法 - Pairwiser ・カバリングアレイ - Microsoft
pict
ここが変だよ。このテスト ~対策~ デモ
ここが変だよ。このテスト ~注意~ ・ ビジネスルールの考慮(ありえない選択など) ・ ユニットテストのデータパターンとして 活用するのが良い? ・ テストパターンの自動生成というよりは、
テストパターンの参考にする頼り過ぎない。
参考資料 - PICTでテストケースの組み合わせ爆発にさよならを http://yoshiko.hatenablog.jp/entry/pict - テストの数を減らそう!プリキュアで学ぶPICT http://qiita.com/greymd/items/ad18aa44d4159067a627#fnref18 - Pairwise Testing
in the Real World: Practical Extensions to Test-Case Scenarios https://msdn.microsoft.com/en-us/library/cc150619.aspx - Microsoft/pict https://github.com/Microsoft/pict - Pairwiser https://inductive.no/pairwiser/ - 直交表とオールペア法の平行運用によるソフトウェアテスト http://jasst.jp/symposium/jasst14tokyo/pdf/C4-1-1.pdf - テストことはじめ https://speakerdeck.com/hanahiroaze/tesutokotohazime