Access Keys:
Skip to content (Access Key - 0)


Literate Testing: Justifying APIs Makes Them Better

Abstract

Everyone writing a library function is designing an API. But do we always take the necessary care? Literate testing is an approach that gently guides you towards that care. You will create usable APIs, with better documentation and the most important tests: code examples. Design becomes a dialogue between documentation, examples-turned-tests and implementation sketches.

Literate testing is not new, but deserves wider usage in the Java world. In the talk, I'll present the approach in detail as well as a supporting tool called JCite.

More information, references and links to actual APIs designed this way at http://arrenbrecht.ch/testing/.

Speaker


View talk on Parleys.com

retweet

Do you like this talk?


Related Presentations

Agile ALM in a nutshell
Continuous Deployment - automated build pipelines with Maven, Nexus and Hudson
Continuous integration essentials
Fractal TDD - Using tests to drive system design
Getting Things Done for Programmers
Implementing Emergent Design
Literate Testing Justifying APIs Makes Them Better
Productive Programmer

Search by Tag

Below are the 190 labels used in Devoxx 2010 listed alphabetically. Click on a label to see its associated content.
activiti, actors, adobe, agile, air, ajax, akka, alm, amazon, analysis, android, animations, annotations, apache, ast, asynchronous, atomsphere, authentication, authorization, authz, azure bayeux, birt, blackberry, bof, bpm caching, camel, cassandra, cdi, ci, clojure, closures, cloud, clusters, collaboration, collections, comet, conference
design, devops, dsl, duchess, dvcs, ec2, eclipse, ehcache, ejb3, ejb31 faces, fantom, findbugs, flash, flex, flex4, foss gae, gaelyk, gis, git, glassfish, google, grails, groovy, gui, guice, gwt
hadoop, hazelcast, hbase, hdfs, hibernate, hive, html, html5, http, hudson, infinispan, ioc, iphone, itext, izpack j2ee, java7, java8, javaee, javaee6, javafx, javaposse, javascript, javase, javase7, javase8, jax-rs, jax-ws, jdk, jdk7, jdk8, jms, jmx, jpa, jpa2, jquery, jsf, jsf2, jsonp, jsr299, jsr330, jug, jvm labs, lambda, loadui, lombok, mahout, mapreduce, maven, methodology, microsoft, mobile, modules, mongodb, morlocks, multicore, mylyn
news, nexus, no-sidebar, nosql, oauth, oltp, openam, openid, openjdk, openoffice, osgi parleys, patterns, pdf, performance, prototype, puzzlers, quickie, rails, repl, reporting, rest, ria, roo scala, scalable, seam, search, servlet, servlet3, soa, soloist, speakers, spock, spring, springmvc, sql, stm, struts, svn, symbian
tapestry, tdd, testing, tools, tools_in_action, twitter, uma, uml, university, url, visualvm, voldemort w3c, web20, webos, websockets, websphere, weld, wicket, ws-addressing, wtp, xfa, xhr, xml
Adaptavist Theme Builder Powered by Atlassian Confluence