Today while fighting the undead for BLITEOTW day, I managed to fix about 491 failing unit tests for the W3C XPath 2.0 test suite. Formatting of XSDouble and XSFloat values were causing some of the biggest pain. However the big nightmare was getting xs:gDay, xs:gMonth, and xs:gMonthDay date creation setup right. This is where the importance of tests, and a guide test suite comes in. With out the tests, it would have been a crap shoot making sure we had things setup correctly. With out tests that can be re-run time and again, you have no way to know that you aren't doing more harm than good when changing your code. Reading specifications, and coding to how you think it should be done, is not the same as actually running that code against a test suite.
Testing Status for PsychoPath against the XPath 2.0 Test Suite is as follows:
Tests: 8139
Failures: 2500
Errors: 87
Code Coverage: 75.2%
As I've mentioned before, when I started out testing, we only had about 20% code coverage, and we failed nearly 6000 of the tests. If you are writing against a specification and it has a test suite that is commonly used to check compliance, take the extra time to run your implementation against the test suite. It helps to make sure your implementation is interoperable with others. It will make your consumers happier, as well as any adopters that may be building off your implementation. Oh and Publish your results.
It takes time. It isn't glorious. The effort can pay dividends later. Oh and thanks to Nick Boldt for letting me know about BLITEOTW.
Importance of Tests
About Me
- David Carver
- My technical interests include XML, agile development, open source projects, and improving business to business standards development. At Eclipse.org I serve on the Architecture Council, and I'm a committer on the WTP Source Editing project focusing on XPath 2.0, XSLT, XML, and DTD development. I also help with the WTP Incubator VEX, XQuery, and RelaxNG development. View my linkedin profile.

Intellectual Cramps by David Carver is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
Based on a work at intellectualcramps.blogspot.com.
Archives
-
▼
2009
(205)
-
►
December
(13)
- Hudson at Eclipse
- Refactoring: Leveraging Polymorphism
- Embracing Change
- PsychoPath XPath 2.0 Processor 1.1M4
- Hudson RESTFul API
- Hudson v1.337 installed
- Just the Facts.
- Traffic Jam
- Build Failures on Test Slave on Hudson
- Adding FindBugs to Athena Common Builder
- Tag/Build, Build/Tag..How about Both
- +2 Broadsword
- EclipseCon: Testing Panel
-
►
November
(15)
- How to Diversify
- Project Diversification Sucks
- Say What?!?!!!
- Testing Cramps
- eXist 1.4, Love It...Hate it...Love it!
- Individuals 149, IBM 132
- Functional Testing Builds
- PsychoPath 1.1M3 a Java 5 (1.5) or greater XPath 2...
- Do Eclipse Projects need to roll out Patches faste...
- Performance Tuning an Athena/Hudson build
- Eclipse XSL Tools gets SAXON Debugging Support
- SWARM for the Community
- XPath 2: Collections and PsychoPath
- Eclipse Documentation on the Wiki
- Making it Easy for Contributors to Contribute
-
►
October
(14)
- VEX (Visual Editor for XML) gets some life
- Bad Habit in Design: Concentrating on the 20%
- IDs Need to be Published
- Eclipse DemoCamp - Columbus, OH
- Model the Data not the Form
- API Design is easy...Good API Design is HARD
- XQDT now at Eclipse
- The Problem of Exporting Everything
- User Defined Schema Types and PsychoPath
- XSL Aware Outline Part II
- XSL Aware Outline
- Yellow Does Not Equal Green/Blue
- Vendor Lock In
- Small Bits and Pieces
-
▼
June
(18)
- Eclipse: RelaxNG Tools
- The Number One Perma-Bug on Eclipse
- It Figures...
- Eclipse Galileo: Get it using the torrents
- Eclipse Galileo: XML gets some love!
- Some Cramps on Commercial Open Source software
- WTP Source Editing has New Committers
- Kicking the Tires of FireFox 3.5RC1
- Should PsychoPath support JRE 1.3
- Learning about Eclipse Processes
- Ineffective XML Design
- Importance of Tests
- Zombies Live in DecimalFormat
- Architecture Council: Bugzilla Best Practices
- W3C XPath 2.0 Test Suite Implemented
- OSGI Test Suite and Equinox
- Joomla, Agora Forum and RSS feeds
- How Modularized should Bundles be?
-
►
December
(13)
Categories
- agile (64)
- agora (1)
- ant (2)
- bliteotw (2)
- bugday (2)
- build (29)
- cms (1)
- css (1)
- dita (12)
- docbook (25)
- docman (1)
- documentation (16)
- dr horrible (1)
- dvcs (2)
- e4 (1)
- eclipse (357)
- eclipsecon (1)
- encryption (1)
- galileo (1)
- git (1)
- home theater (1)
- hudson (1)
- java (1)
- joomla (3)
- linux (2)
- mantis (5)
- mono (1)
- mylyn (6)
- netflix (1)
- open source (10)
- osgi (3)
- pde (4)
- pdt (1)
- performance (3)
- php (5)
- refactoring (23)
- referring (1)
- relaxng (3)
- release engineering (25)
- reviews (1)
- schematron (1)
- scrum (6)
- security (3)
- silverlight (1)
- soccer (1)
- standards (32)
- standards. (2)
- summer of code (2)
- testing (40)
- testing. (1)
- ubuntu (2)
- web services (3)
- wiki (1)
- wsdl (1)
- wsi (1)
- xforms (2)
- xml (224)
- xpath (25)
- xquery (14)
- xsd (1)
- xsl (50)
- xslt (45)
- xtext (3)
- year end review (1)
- zombies (1)
0 Comments Received
Post a Comment