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
Functional Testing A to Z
Search
Jim Holmes
October 21, 2013
Technology
0
260
Functional Testing A to Z
Slides from a full-day workshop on Functional Testing.
Updated for presentation at CodeMash 2015.
Jim Holmes
October 21, 2013
Tweet
Share
More Decks by Jim Holmes
See All by Jim Holmes
Adapting to Change in Software Delivery
jimholmes
0
55
Public_Speaking.pdf
jimholmes
0
70
Trusted System Boundaries
jimholmes
0
72
What's Worse? Zombies or Brittle UI Tests?
jimholmes
0
90
Odd Parallels Between Weightlifting and Software Delivery
jimholmes
0
45
Is Quality The Bottleneck?
jimholmes
0
100
Don't Fear Leadership
jimholmes
0
72
Intro To TDD
jimholmes
1
60
Honor Flight #20 (Bay Area) Recap
jimholmes
0
100
Other Decks in Technology
See All in Technology
やさしい認証認可
minorun365
PRO
29
12k
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
8
5.4k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
770
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
1
190
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
2k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.5k
これならできる!Kotlin・Spring・DDDを活用したAll in oneのマイクロサービス開発術
demaecan
0
260
データベースの引越しを Ora2Pg でスマートにやろう
jri_narita
0
200
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
1
750
大失敗しないための Web API 開発レシピ / A recipe for not making a big failure on WebAPI development
yokawasa
1
250
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Unsuck your backbone
ammeep
671
58k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Speed Design
sergeychernyshev
30
990
Balancing Empowerment & Direction
lara
1
240
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Transcript
Functional Testing from Acceptance Criteria to Zip Files
Me
[email protected]
@aJimHolmes FrazzledDad.com Bit.ly/leadershipjourney
Today’s Goal: Get you pointed in the right direction for
learning more
What We’re Covering What’s automated functional testing? Get your expectations
right at the start Tools for automating functional tests Writing your tests Common pitfalls (and how to avoid them)
Workshop Format
Eight hours
Breaks, FTW
Talks Demos Hands On
~ four – six hours of content
After that YOU pick stuff to play with!
What’s Automated Functional Testing?
(and how’s it differ from web to desktop?)
Set your expectations early
(or you will #FAIL)
“Let’s automate all our 3,495 Excel test cases!”
None
Focus on value Look and feel
“How many UI tests?”
“As few as possible.”
UI tests are part of your automation strategery
Tools for automated functional testing
UI Automation Architecture Driver Test Framework Automation Framework
Free / Open Source Selenium / WebDriver Watir WatiN Telerik
Testing Framework
What’s the fuss about Record / Playback?
Commercial QuickTest Pro Visual Studio’s Web Test Telerik Test Studio
None
First Test: Just get it going
Second Test: Let’s talk locators
Third Test: More locators
Fourth Test: Refactoring
Dealing With AJAX (or any async action)
Fifth Test: AJAX in Action
Sixth Test: More refactoring
Page Object Pattern
Looking Back at Our Earlier Tests
Practical Problems and Solutions
Word-wheel type searches (AJAXy stuff)
Flexible Find Logic
Me
[email protected]
@aJimHolmes FrazzledDad.com
This deck is licensed Creative Commons 3.0 BY-SA-NC