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
Marc Tamlyn
July 12, 2013
Programming
220
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
130
Working with Children
mjtamlyn
1
120
Wallingford Castle Archers Incorporation
mjtamlyn
0
240
Observation and Evaluation
mjtamlyn
0
160
Weird and Wonderful things to do with the ORM
mjtamlyn
3
1.5k
An Introduction to Graphene and Relay
mjtamlyn
6
1.3k
Tech Interviews that don't suck
mjtamlyn
4
1.2k
Data driven rendering
mjtamlyn
1
230
What's new in Django 1.9
mjtamlyn
1
230
Other Decks in Programming
See All in Programming
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.9k
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
130
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
530
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
120
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
220
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
140
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
170
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
210
30年振りにコンパイラの定数整数除算を改善した
herumi
2
520
「人を評価する AI」の設計と実装
ryoyanara
0
220
FastAPI の並行処理モデルを完全に理解する
hoto17296
1
630
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
350
So, you think you're a good person
axbom
PRO
2
2.1k
From π to Pie charts
rasagy
0
310
Technical Leadership for Architectural Decision Making
baasie
3
510
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Embracing the Ebb and Flow
colly
88
5.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
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!