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
Web testing strategy
Search
Masafumi Okura
June 26, 2019
Programming
4
1.5k
Web testing strategy
Masafumi Okura
June 26, 2019
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
90
Developing static sites with Ruby
okuramasafumi
1
370
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
370
Reading Rails 1.0 Source Code
okuramasafumi
0
340
RDoc meets YARD
okuramasafumi
4
210
Why doesn't Ruby have Boolean class?
okuramasafumi
0
42
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
92
Writing documentation can be fun with plugin system
okuramasafumi
0
240
Alba: Why, How and What's So Interesting
okuramasafumi
0
480
Other Decks in Programming
See All in Programming
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
710
Architectural Extensions
denyspoltorak
0
280
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
300
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
CSC307 Lecture 02
javiergs
PRO
1
780
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
AI時代の認知負荷との向き合い方
optfit
0
160
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
CSC307 Lecture 05
javiergs
PRO
0
500
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
How to Talk to Developers About Accessibility
jct
2
130
Believing is Seeing
oripsolob
1
53
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
84
sira's awesome portfolio website redesign presentation
elsirapls
0
150
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Testing 201, or: Great Expectations
jmmastey
46
8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
54
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Transcript
Web։ൃʹ͓͚Δ ςετઓུ Place: ΏΔͪ.it Date: 2019-06-26 Speaker: େխ࢙
͡Ίʹ
ςετͷ༻ޠΛཧͯ͠ΈΔ
ࢲՈ൛ςετ༻ޠू • E2EςετɿϢʔβʔΠϯλʔϑΣΠε͔Β σʔλϕʔε·ͰΛҰ؏͢ΔςετɺγφϦΦ Λ༻ҙͯ͠ਐΊΔ߹͕ଟ͍ɺผ໊γεςϜς ετ • ݁߹ςετɿෳͷίϯϙʔωϯτΛ݁߹͠ ͯߦ͏ςετɺػೳ୯ҐͰߦΘΕΔ߹͕ଟ ͘ϑΟʔνϟʔςετ͜ͷҰछ
ࢲՈ൛ςετ༻ޠूʢଓʣ • Ϣχοτςετɿ୯ҰͷιϑτΣΞίϯϙʔ ωϯτͷΈΛରͱͨ͠ςετɺݱ࣮తʹ୯ ҰͷϑΝΠϧΛରͱ͢Δ߹͕ଟ͘ɺରʹ Αͬͯݺͼ໊มΘΔʢϞσϧςετɾϏϡʔ ςετͳͲʣ • ςετμϒϧɿςετதʹίϯϙʔωϯτΛஔ ͖͑Δ༻ʢελϒɾϞοΫɾεύΠͳͲʣ
ςετΛॻ͍ͯԿ͕خ͍͠ Ͱ͔͢ʁ
όάͷݮগʁ
҆৺ײʁ
։ൃऀͷʁ
։ൃऀͷʂ
ͲͷΑ͏ʹςετΛॻ͘ͱɺ ։ൃऀͷ͕ͤ࠷େԽ͞ΕΔ ͷ͔
ϓϩάϥϚͷࡾେඒಙ
ϓϩάϥϚͷࡾେඒಙ • ؾ • ၗຫ • ଵଦ
ςετͷࡾେඒಙ • ͍ • ίʔυͷઃܭΛิॿ͢Δ • ϓϩμΫγϣϯίʔυͷมߋʹৼΓճ͞Εͳ ͍
͍ςετ
͍ςετͷͨΊͷํ • E2Eςετਖ਼ৗܥͷΈʢҟৗܥϢχοτς ετͰΧόʔ͢Δʣ • DBͷΞΫηεΛՄೳͳݶΓݮΒ͢ • ͱͯॏ͍ॲཧςετμϒϧʹஔ͖͑Δ
ϖʔδωʔγϣϯͷ۩ମྫ # Bad @books = create_list(:book, 11) visit books_url expect(page).not_to
have_content(‘Book11’) # Good @book = create_list(:book, 2) PER_PAGE = 1 # తͳͭ visit books_url expect(page).not_to have_content(‘Book2’)
ઃܭπʔϧͱͯ͠ͷςετ
ςετͰઃܭ͢ΔͨΊʹ • ݪଇɺςετΛઌʹॻ͘ʢςετϑΝʔετʣ • ςετ͕͗͢Δɾෳࡶ͗͢Δɾ͗͢͠Δ ߹ϓϩμΫγϣϯίʔυͷ࠶ઃܭΛݕ౼ • ςετʹςετμϒϧ͕ଟ͗͢Δ߹ґ ଘؔΛݟ͢
ςετ͕ࠔͳίʔυྫ # foo.rb class Foo def do_something(arg1, arg2, arg3 =
nil, params = {}) end end # foo_spec.rb context ‘when arg1 is :hoge’ do context ‘when arg2 is…
ςετ͕༰қͳίʔυྫ # foo.rb class Foo def do_something(arg1) bar.do_another(arg2) end end
# foo_spec.rb context ‘when arg1 is :hoge’ do before { allow(bar).to receive(:do_another) { hoge }
มߋʹڧ͍ςετ
ςετίʔυ • ݪଇɺύϒϦοΫͳΠϯλʔϑΣΠεͷΈΛ ςετ͢Δ • Ϗϡʔςετ͠ͳ͍ʢมԽ͕͍͔ΒɺͲ ͏͚ͯͨ͠͠ΕE2EͰʣ • ςετରͷ෦ঢ়ଶ͍͚ͬͯͳ͍ ʢΠϯελϯεมͱ͔ʣ
͍͞͝ʹ
ࣗಈςετ։ൃऀͷͨΊͷ πʔϧ
ςετ͕ͨΒ͢Λ ࠷େԽ͍͖·͠ΐ͏
ͱ͜ΖͰɿ
͋Μͨ୭ʁ
ࣗݾհ • ໊લɿେխ࢙ • ॴଐɿϑϦʔϥϯε • ͖ͳݴޠɿRuby • ͖ͳΤσΟλɿVim