Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ここが変だよ。このテスト〜テストケース爆発と戦う〜
Search
はない
February 11, 2017
Technology
1.7k
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
550
組み合わせテストを簡単にするgemを作った話
hanahiroaze
0
280
MySQLとデッドロックの話
hanahiroaze
1
1.4k
Symfony Best Practiceを読もう!(ついでに翻訳した話)
hanahiroaze
2
950
E2E Test Tips
hanahiroaze
0
180
テストことはじめ
hanahiroaze
0
520
Symfony2のi18n対応
hanahiroaze
0
860
開発合宿に行ってきました
hanahiroaze
0
160
GitHubよちよち会#3
hanahiroaze
0
180
Other Decks in Technology
See All in Technology
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
510
The seven pitfalls of AI (revised version)
ufried
0
230
Futexes the good, the bad, the ugly
ennael
PRO
0
100
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
560
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
260
[2026 Oracle Technical Deep Dive] OCI AI Resilience -OCIのセキュリティ対策機能をきちんと使いこなす- (2026年9月17日開催)
oracle4engineer
PRO
0
110
KanaAI
shreyas1009
0
150
大阪オフィスに Unitree Go2 がやってきたので Physical AI やってみた
dafujii
0
270
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
170
並行性の問題を防げ!実践トランザクション入門
occhi
0
250
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
260
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
Six Lessons from altMBA
skipperchong
29
4.5k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Un-Boring Meetings
codingconduct
0
440
Believing is Seeing
oripsolob
1
240
Scaling GitHub
holman
464
140k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Speed Design
sergeychernyshev
33
2.1k
Mind Mapping
helmedeiros
1
390
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