SlideShare a Scribd company logo
Testing
Steve Loughran
HP Laboratories
Thursday November 17th, 2005
your code doesn't work
I know this because...
my code doesn't work
you are allowed to write code
that doesn’t work
just don’t ship it
how do you get from "broken" to
"go live"?
Device Drivers
ship and see
test it!
Test-Driven
∃x:
(∀y∈[1..x]:
f(y)>0)
Formal Methods
prove it works
proofs of correctness
+ shows an algorithm really works
+ good for concurrency
+ and distributed things
- makes assumptions about system
- needs lots of maths/CS skills
(Pi-Calculus, The HOL System)
- regression proofs?
Test Driven Development
any feature without a test
doesn’t exist
JUnit
* unit test framework in Java
(or C++, Python, Ruby, C#, ...)
* simple to learn
* good tool support
* somewhat low-level
* extensions for system testing
Testing
public class LessSimpleTest extends TestCase {
public LessSimpleTest(String s) {
super(s);
}
public void testAssignment() {
final Date date = new Date();
Event event = new Event(UUID.randomUUID(),
date, "now", "Text");
assertEquals("self equality failed",
event, event);
assertEquals(date, event.getDate());
assertNotNull(date.getID());
}
}
System Testing
* deploy, then:
HttpUnit, XmlUnit, Cactus
* needs automated deployment
* Distributed Testing still a research topic
* performance testing by comparing timings w.r.t.
old runs
Ant-generated report
scales better; reports published
Continuous Integration
Apache Gump gump.apache.org
Nightly build of OSS Java apps.
For any project with public CVS/SVN
Interop Testing
* Your client against my server
* My client against your server
Issues:
* Blame assignment: a formal test suite makes
blame easier to assign
* Dependent libraries: what if your WS-A doesn’t
interop with others?
Test Driven Standards?
any standard without a test
doesn’t exist

More Related Content

PDF
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
PDF
Scaffolding with JMock
PDF
How and what to unit test
PDF
Golang dot-testing-lite
PDF
Testing in a microcontroller world
PPT
Presentation_C++UnitTest
PPTX
The Use of Static Code Analysis When Teaching or Developing Open-Source Software
PDF
Is this how you hate unit testing?
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
Scaffolding with JMock
How and what to unit test
Golang dot-testing-lite
Testing in a microcontroller world
Presentation_C++UnitTest
The Use of Static Code Analysis When Teaching or Developing Open-Source Software
Is this how you hate unit testing?

What's hot (20)

ODP
Grails unit testing
ODP
Python unit testing
PPT
Core java day4
PDF
Java Testing With Spock - Ken Sipe (Trexin Consulting)
PDF
Unit Test + Functional Programming = Love
PPT
Stopping the Rot - Putting Legacy C++ Under Test
PDF
Unit test-using-spock in Grails
PPTX
Grails Spock Testing
PPTX
Unit Testing with Python
PPT
N Unit Presentation
PDF
Unit testing.pptx [repaired]
PPTX
Introduction to JUnit testing in OpenDaylight
PPTX
An Introduction to Unit Testing
PPTX
Test your tests with PIT framework
PPTX
PPTX
unittest in 5 minutes
PPTX
Selenium TestNG
PDF
An Introduction to Unit Test Using NUnit
PPTX
Unit testing with NUnit
PDF
Microsoft Pex
Grails unit testing
Python unit testing
Core java day4
Java Testing With Spock - Ken Sipe (Trexin Consulting)
Unit Test + Functional Programming = Love
Stopping the Rot - Putting Legacy C++ Under Test
Unit test-using-spock in Grails
Grails Spock Testing
Unit Testing with Python
N Unit Presentation
Unit testing.pptx [repaired]
Introduction to JUnit testing in OpenDaylight
An Introduction to Unit Testing
Test your tests with PIT framework
unittest in 5 minutes
Selenium TestNG
An Introduction to Unit Test Using NUnit
Unit testing with NUnit
Microsoft Pex
Ad

Similar to Testing (20)

PPT
PDF
DSR Testing (Part 1)
PPTX
Write tests, please
PPT
Test Driven Development
PDF
Agile mobile
PPT
Testing And Drupal
PPT
Google test training
PDF
Unit Testing in R with Testthat - HRUG
PDF
IntroTestMore
PDF
IntroTestMore
PPTX
Advances in Unit Testing: Theory and Practice
PDF
Testing for software engineers
PPTX
IoT Best Practices: Unit Testing
PPT
Unit testing php-unit - phing - selenium_v2
PDF
Effective Unit Testing
PPTX
Unit Testing with JUnit4 by Ravikiran Janardhana
PPTX
utPLSQL: Unit Testing for Oracle PL/SQL
PDF
PresentationqwertyuiopasdfghUnittest.pdf
PDF
Никита Галкин "Testing in Frontend World"
PPTX
VT.NET 20160411: An Intro to Test Driven Development (TDD)
DSR Testing (Part 1)
Write tests, please
Test Driven Development
Agile mobile
Testing And Drupal
Google test training
Unit Testing in R with Testthat - HRUG
IntroTestMore
IntroTestMore
Advances in Unit Testing: Theory and Practice
Testing for software engineers
IoT Best Practices: Unit Testing
Unit testing php-unit - phing - selenium_v2
Effective Unit Testing
Unit Testing with JUnit4 by Ravikiran Janardhana
utPLSQL: Unit Testing for Oracle PL/SQL
PresentationqwertyuiopasdfghUnittest.pdf
Никита Галкин "Testing in Frontend World"
VT.NET 20160411: An Intro to Test Driven Development (TDD)
Ad

More from Steve Loughran (20)

PPTX
Hadoop Vectored IO
PPTX
The age of rename() is over
PPTX
What does Rename Do: (detailed version)
PPTX
Put is the new rename: San Jose Summit Edition
PPTX
@Dissidentbot: dissent will be automated!
PPTX
PUT is the new rename()
PPT
Extreme Programming Deployed
PPTX
I hate mocking
PPTX
What does rename() do?
PPTX
Dancing Elephants: Working with Object Storage in Apache Spark and Hive
PPTX
Apache Spark and Object Stores —for London Spark User Group
PPTX
Spark Summit East 2017: Apache spark and object stores
PPTX
Hadoop, Hive, Spark and Object Stores
PPTX
Apache Spark and Object Stores
PPTX
Household INFOSEC in a Post-Sony Era
PPTX
Hadoop and Kerberos: the Madness Beyond the Gate: January 2016 edition
PPTX
Hadoop and Kerberos: the Madness Beyond the Gate
PPTX
Slider: Applications on YARN
PPTX
YARN Services
PPTX
Datacentre stack
Hadoop Vectored IO
The age of rename() is over
What does Rename Do: (detailed version)
Put is the new rename: San Jose Summit Edition
@Dissidentbot: dissent will be automated!
PUT is the new rename()
Extreme Programming Deployed
I hate mocking
What does rename() do?
Dancing Elephants: Working with Object Storage in Apache Spark and Hive
Apache Spark and Object Stores —for London Spark User Group
Spark Summit East 2017: Apache spark and object stores
Hadoop, Hive, Spark and Object Stores
Apache Spark and Object Stores
Household INFOSEC in a Post-Sony Era
Hadoop and Kerberos: the Madness Beyond the Gate: January 2016 edition
Hadoop and Kerberos: the Madness Beyond the Gate
Slider: Applications on YARN
YARN Services
Datacentre stack

Recently uploaded (20)

PPTX
ai tools demonstartion for schools and inter college
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
AI in Product Development-omnex systems
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
medical staffing services at VALiNTRY
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
history of c programming in notes for students .pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
ai tools demonstartion for schools and inter college
How Creative Agencies Leverage Project Management Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
CHAPTER 2 - PM Management and IT Context
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How to Migrate SBCGlobal Email to Yahoo Easily
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Reimagine Home Health with the Power of Agentic AI​
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
medical staffing services at VALiNTRY
Odoo POS Development Services by CandidRoot Solutions
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PTS Company Brochure 2025 (1).pdf.......
history of c programming in notes for students .pptx
Operating system designcfffgfgggggggvggggggggg

Testing

Editor's Notes

  • #5: Nor does anyone else's. Not first time, anyway.
  • #6: Welcome to low-quality-coders anonymous
  • #7: This Bluescreen is courtesy of Sony's 'enhanced' CD. Music that can toast your PC. Whatever next?
  • #8: One of the big problems of Software Engineering. The others are -scale -change
  • #10: I'm not going to deny the value of formal proofs of things. I mean, how do you know quicksort works? However, they are hard to do, and a skill that is not broadly known in the sw eng community. If you have the skill, use it when appropriate.
  • #17: This is cruise control. see also gump.apache.org These are machines that