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
はない
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
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
160
時期が悪い!それでもRaspberry Piを買って遊んで活用するには / 20260627-osc26do-rpi-jikigawarui
akkiesoft
1
960
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.3k
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
160
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
330
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
210
WebGIS AI Agentの紹介
_shimizu
0
610
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
480
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
210
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
340
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
230
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
160
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
570
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
A Tale of Four Properties
chriscoyier
163
24k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Marketing to machines
jonoalderson
1
5.5k
The Language of Interfaces
destraynor
162
27k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
760
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
180
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
160
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