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
Automated testing
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Marc Tamlyn
July 12, 2013
Programming
210
3
Share
Automated testing
They why, what and how of automated testing for a mixed technical and non-technical audience.
Marc Tamlyn
July 12, 2013
More Decks by Marc Tamlyn
See All by Marc Tamlyn
Arousal and Anxiety
mjtamlyn
1
110
Working with Children
mjtamlyn
1
110
Wallingford Castle Archers Incorporation
mjtamlyn
0
230
Observation and Evaluation
mjtamlyn
0
150
Weird and Wonderful things to do with the ORM
mjtamlyn
3
1.5k
An Introduction to Graphene and Relay
mjtamlyn
6
1.2k
Tech Interviews that don't suck
mjtamlyn
4
1.2k
Data driven rendering
mjtamlyn
1
220
What's new in Django 1.9
mjtamlyn
1
220
Other Decks in Programming
See All in Programming
AIとRubyの静的型付け
ukin0k0
0
510
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
2
340
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
530
今さら聞けないCancellationToken
htkym
0
210
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
340
Inspired By RubyKaigi (EN)
atzzcokek
0
500
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
1.8k
Swiftのレキシカルスコープ管理
kntkymt
0
210
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
130
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
BBQ
matthewcrist
89
10k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
350
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The Cult of Friendly URLs
andyhume
79
6.9k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
Transcript
Automated Testing Lunch n Learn @incuna
What is it? • Unit tests • Integration tests •
Functional/acceptance tests • Visual tests • Regression tests
Why? • Trust in the code • Freedom to refactor
• Reduce number of bugs
What is it not? • A complete replacement for QA,
a useful tool for doing QA • For content
Types of test
Unit tests • Test small specific pieces of functionality •
Cover as many cases as possible • (Should be) quick and easy • Fragile but isolated • Mock out other layers • Coverage
Integration tests • Work across multiple layers of the program
• Ensure all the individual pieces fit together • Simulate real requests • Test only “normal” things • Should break less often
Functional or Acceptance tests • Test the whole system •
Test user stories • “Open up browser, go to home page, click on login link, fill in correct information, redirects to profile page, click on forum navigation, make a post, post appears on page...”
Functional or Acceptance tests • SLOW, and harder to write
• More likely part of the QA process than the development process • Immensely useful for front end logic
Visual tests • Does this page look like this screenshot?
• Cross browser • Needs research...
Regression testing
Regression tests • “AAAA this is broken we must fix
it now” • “I’ll write a test for it” • A bug is not a bug, it’s a missing test • Makes sure the bug doesn’t come back
Regression tests • Could be any one of the other
kinds of test • Never get written if the project didn’t have tests to start with
Continuous integration
Continuous integration • Runs test suite against changes and pull
requests • Warns us if someone breaks things • Runs in a production-like setting
Test driven development
Test driven development • Write the tests first • Add
code afterwards • (Refactor) • Check tests still pass • Repeat
Test driven development • Feels slower to start with •
More reliable than “refreshing the page to see if it worked” • Requires good tools • Saves time (and face) in the long run
Live demo time!