Python & XML – een test-caseSpreker: Leo Maris AbstractNet als in de wereld van de technische documentatie kent de juridische wereld “semi-gestructureerde” documenten die op een vaste manier vormgegeven moeten worden. De vaste structuur borgt de volledigheid van de inhoud en een aan de structuur gekoppelde opmaak zorgt voor snelle toegang tot relevante onderdelen van het document. Denk hierbij bijvoorbeeld aan een contract of aan man-pages. Die koppeling van structuur en opmaak, maakt het mogelijk (en in ons geval gewenst) het vastleggen en onderhouden van inhoud en opmaak van deze documenten te scheiden, en in verschillende applicaties onder te brengen. In de projecten waar het hier over gaat zijn we hiermee ruim 10 jaar geleden mee begonnen en hebben ervoor gekozen de interface tussen de applicaties in xml vast te leggen. De inhoud van de documenten wordt in ons geval door verschillende applicaties opgesteld. De vorm moet, ook voor juridische documenten, voldoen aan een huisstijl die van tijd tot tijd wordt aangepast. Dat vraagt om een generieke oplossing voor de interface. Testen is een essentieel onderdeel bij systeemontwikkeling, en des te meer bij koppeling van applicaties die ontwikkeld worden door verschillende leveranciers. Daarbij gaat het zowel om het testen van het aanbod aan de interface als om een correcte opmaak van alle variaties in de documenten die volgens de definitie aan de acceptatiekant van de interface aangeboden mogen worden. Die kunnen complex zijn en bijv. ook tabellen bevatten. Voor de aanbodkant wordt een xml-schema gebruikt in combinatie met een korte handmatige checklist. Voor de acceptatiekant zijn in de loop van de tijd testsets ontwikkeld die per aspect van de opmaak van het document een controle uitvoeren. Bij dit testen hebben sinds 2005, met dank aan de community, python-scripts een steeds grote rol gekregen. In ons verhaal volgen we de historische ontwikkeling waarbij de rol van python steeds groter is geworden, tot aan de huidige situatie waar we lxml gebruiken voor validatie tegen de xml-schema's en de xslt-transformatie en we suds gebruiken voor de verwerking van SOAP. We bespreken daarbij welke mogelijkheden eerder zijn overwogen en soms ook in gebruik geweest en wat de overwegingen daarbij waren. Het tonen van code wordt daarbij niet geschuwd. BiografieLeo Maris is sinds begin tachtiger jaren professioneel werkzaam in de automatisering. Begonnen bij BAZIS, heeft hij verder onder meer gewerkt bij Nixdorf Office Software Production, de vakgroep Informatica van de Universiteit Wageningen, Elsevier Science Publishers en Rijkswaterstaat. De laatste 10 jaar is hij zelfstandig adviseur. Hij is o.a. lid van de ACM (sinds 1988), de IEEE Computer Society en de NLUUG. Leo Maris is te vinden op LinkedIn. |
Najaar 2012
| |||||||
2024-11-06 | ||||||||
|