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
UCSC Web Development Talk
Search
Mat Malone
November 15, 2011
60
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UCSC Web Development Talk
Mat Malone
November 15, 2011
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
How to train your dragon (web standard)
notwaldorf
96
6.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
YesSQL, Process and Tooling at Scale
rocio
174
15k
Google's AI Overviews - The New Search
badams
0
1.6k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Transcript
Shipping Software in the Real World Paulo Franca, President and
CTO Mat Malone, Director of Engineering
testing testing testing testing @ monitoring monitoring monitoring monitoring @
shipping shipping shipping shipping @
Who is DataCare?
TESTING IS ABOUT TRUST: customers trusting you. you trusting your
code.
ACCEPTANCE TESTING Solve the customer’s problem! AUTOMATED TESTING Does my
code do what I think it does?
ACCEPTANCE TESTING @ DataCare HOW WE DO THINGS.
ACCEPTANCE TESTING @ DataCare HUMANS
ACCEPTANCE TESTING @ DataCare HUMANS DOMAIN EXPERTS
ACCEPTANCE TESTING @ DataCare HUMANS DOMAIN EXPERTS USER CENTRIC
ACCEPTANCE TESTING @ DataCare HUMANS DOMAIN EXPERTS USER CENTRIC INDEPENDENT
ACCEPTANCE TESTING @ DataCare HUMANS DOMAIN EXPERTS USER CENTRIC INDEPENDENT
COMPLIANCE
WHAT’S WRONG WITH THIS?
I WOULD RATHER BE SHIPPING.
QUALITY IS NOT MYJOB.
automated testing work in progress
Software development is hard. Automated testing makes it easier.
every organization must ask themselves: make somebody else write tests
OR do it yourself?
TEST DRIVEN DEVELOPMENT
write test first watch test fail code see test pass
refactorcode
None
WHY TDD IS AWESOME: REASONS
WHY TDD IS AWESOME: CONFIDENCE Refactor as much as you
want. Avoid regressions during development.
WHY TDD IS AWESOME: SELF-DOCUMENTING Tests describe what the code
does. If the code passes, you know the spec is true.
WHY TDD IS AWESOME: DESIGN Forces you to think about
your design before you code.
WHY TDD IS AWESOME: EFFICIENT Catch bugs early. Before acceptance
testing. Before a customer complains.
OMG!! TDD IS SO RAD what could possibly be wrong?
WE ARE AUTOMATED TESTING IS THE FIRST CORNER YOU CUT.
RUN TIME If the tests take 2 days to run
no one will use them. DISCIPLINE If test coverage is bad you won’t trust your tests results.
PHPUnit JUnit Test::Unit RSpec Selenium C++Unit
TESTING RECAP ACCEPTANCE TESTING SOLVE THE CUSTOMER’S PROBLEM AUTOMATED TESTING
NO BUG LEFT BEHIND, EVER
TESTING RECAP questions on testing?
monitoring andtelemetry
IS YOUR APPLICATION UP? RIGHT NOW? HOW ABOUT NOW? HOW
DO YOU KNOW?
How DataCareMonitors Ahshay
How DataCareMonitors Ahshay HARDWARE CPU, HARD DRIVES/RAID, POWER SUPPLY
How DataCareMonitors Ahshay HARDWARE CPU, HARD DRIVES/RAID, POWER SUPPLY SERVICES
APACHE, MYSQL, NFS, POSTFIX
the is what really matters login click • click •click
search •download •upload
Your automated test suite comes in handy here.
No one likes waking up at 3am for a false-positive.
No one likes waking up at 3am for a flapping
service.
No one likes waking up at 3am for an unreliable
host.
StillAlive Nagios CloudWatch Cacti Pager Duty Zenoss
MONITORING RECAP ACCURACY: DON’T BUG ME FOR NO REASON THE
APP: MONITOR WHAT REALLY MATTERS
MONITORING RECAP questions on monitoring?
shipping web based software in the real world
BUILDING ENTERPRISE SOFTWAREMEANS… BUSINESS ANALYSIS ONE SIZE DOES NOT FIT
ALL CUSTOMIZATION vs.CONFIGURATION
Customers need the same features, but all want them a
little different: Customer A calls it a “case” Customer B calls it a “claim” Customer C calls it a “worker” Standard software is more profitablebut more difficultto sell.
business vs. academia LIKE BEFORE BUT DIFFERENT DON’T SPECIALIZE YOUR
CODE TOO MUCH
business vs. academia DATABASE INTENSIVE PROGRAMMING
business vs. academia DID YOU KNOW RECURSION IS USEFUL?
business vs. academia data structures UNSUAL DATA STRUCTURES
BIG RECAP test •monitor •reality check
thank you! Slides available at: http://speakerdeck.com/u/matmalone/p/ucsc-web-development-talk