Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

CC By 4.0 This document is published under a CC Attribution 4.0 International license

XForms-Unit: the Framework to Test Them All

Eric van der Vlist (

February 2014

XML Prague 2014

XForms Unit logo


Do we need that?

Concours Lépine 1910

By Unattributed (Bibliothèque nationale de France) [Public domain], via Wikimedia Commons

Q: How do we test XForms?

Hyundai Tucson crash test

By Brady Holt (Own work) [CC-BY-3.0 (], via Wikimedia Commons

A: with software testing frameworks for web applications.

XForms apps are mostly tested with selenium.

Selenium logo

Selenium can only test the effects of the form

By Dhilung Kirat from Santa Barbara, CA

By Dhilung Kirat from Santa Barbara, CA (the way it is Uploaded by russavia) [CC-BY-2.0 (], via Wikimedia Commons

Like testing a C program with a test suite for assembly languages

Apple II Monitor screenshot

See page for author [Public domain], via Wikimedia Commons

XForms Unit is about testing XForms in, with and by XForms

XForms Unit logo

XForms Unit Markup Language

An implementation detail

Compiled into XForms updates applied to the target form to run the tests

As simple as possible

As close as possible to XForms terms and concepts

Is to XForms what Schematron is to XML...

Schematron logo

So, you like it?

Gift ideas for men - wrapping paper example.

By BlairSnow ( [CC-BY-SA-3.0], via Wikimedia Commons

There is still a lot to build

Daisy BB Gun Factory, facade wall and steel bracing. (Demolished November 18, 2013)

By Dwight Burdette (Own work) [CC-BY-3.0, via Wikimedia Commons

Missing but easy

Baby toys on the floor

By ParentingPatch (Own work) [CC-BY-SA-3.0], via Wikimedia Commons

More tricky

Still more tricky

wooden corded puzzles

By Matěj Baťha (Own work) [GFDL, CC-BY-SA-3.0 or CC-BY-2.5], via Wikimedia Commons

The nightmare

Horsemeat is a Healthy and Easily Digestible Food (Daumier)

Honoré Daumier [Public domain], via Wikimedia Commons

Worse than browsers wars

Web browser usage on Wikimedia

By A3e6u9 (Own work) [GFDL or CC-BY-SA-3.0], via Wikimedia Commons

Collateral damages from browsers wars are visible

Marines with 3rd Platoon, Company L, 3rd Battalion, 5th Marine Regiment, rehearse advance urban combat tactics at Camp Baharia, Iraq, Nov. 1, 2004. A combination of military operations in urban terrain (MOUT) and close quarter battle (CQB), AUC incorporates the collateral damage inflicted from MOUT with direct action and specificity of CQB. Patrolling urban hotspots such as Ramadi, Najaf and Fallujah, Marines fighting in Iraq are combating anti-Iraqi forces in buildings, apartments and rooms.

By English: Sgt. Luis R. Agostini [Public domain], via Wikimedia Commons

The cost of lack of interoperability between XForms implementations is less obvious

Magnifying glass

By Julo (Own work) [Public domain], via Wikimedia Commons

Langues d'oïl

XForms has become a dialect continuum...

Oil languages

By Fobos92 (Own work) [CC-BY-SA-3.0], via Wikimedia Commons

I need your help!

Use a spacebar or arrow keys to navigate