Onder de motorkap bij NETQ Healthcare

Het ontwikkelteam van NETQ Healthcare is altijd volop in beweging, maar in het afgelopen jaar heeft het wel hele grote stappen gezet. Stappen die misschien niet direct zichtbaar zijn aan de buitenkant, maar waar iedereen op termijn toch de vruchten van zal plukken. Product manager Jeroen Goosen en developer Daniël de Jong openen de motorkap en leggen uit welke verbeterslagen er zijn gemaakt.

Jeroen vertelt: “Eind 2018 kwamen we in contact met het BIRILI-team van Topicus. BIRILI staat voor “Build It, Run It, Love It”. Het BIRILI-team heeft als doel het leven van ontwikkelaars makkelijker te maken, door taken die steeds maar weer herhaald worden te automatiseren. Samen met hen hebben we meerdere sessies georganiseerd waarin we bepaalden waar we mogelijke verbeteringen zagen. Hieruit kwam naar voren dat vooral rondom testen en releasen nog veel te verbeteren en te automatiseren was, dat hier nog teveel herhalend handwerk nodig was. Het idee van BIRILI was ook om meer tijd te kunnen steken in het verder ontwikkelen van de applicatie en om de tijdrovende zaken als regressietesten zoveel mogelijk te automatiseren. Hier hebben we flink aan gewerkt, met als resultaat dat een groot aantal basisfunctionaliteiten in de applicatie door een robot worden getest.”

Daniël vult aan: “Elke ochtend wordt automatisch een test gestart en aan het einde van de test wordt automatisch een rapportje met testresultaten opgemaakt. In de toekomst willen we kijken of we bij elke wijziging die we in de code doorvoeren ook vanzelf het testscript kunnen laten draaien, dat deze wordt getriggerd op het moment dat de code is aangepast. Als er dan iets fout gaat, zien we dat meteen in plaats van in de laatste twee testweken, of erger nog: pas als de versie in productie is genomen. En daar is het ons allemaal om te doen.”

Jeroen Goosen | Product manager

Code schrijven is als een verhaal vertellen
Naast het werk rondom geautomatiseerd testen en sterke verbeteringen in het releaseproces, is ook hard gewerkt aan een nieuwe applicatie voor het afnemen van vragenlijsten. Momenteel wordt het afnemen van een vragenlijst uitgevoerd door de CAWI-applicatie. Dit is de software waarin NETQ Healthcare de vragenlijsten bouwt die vervolgens via NETQ Monitoring worden uitgezet. Jeroen: “In dat project hebben we ervoor gekozen om niet verder te bouwen of bij te schaven aan de bestaande CAWI- functionaliteit, maar hebben we een compleet nieuwe applicatie ontwikkeld voor het afnemen van vragenlijsten. Deze nieuwe applicatie maakt gebruik van de nieuwste technieken en is direct voorzien van geautomatiseerde tests. Bovendien is de nieuwe applicatie helemaal responsive. Deze applicatie ‘praat’ wel met de bestaande database, maar dat is ook het enige van de oude CAWI-applicatie dat is hergebruikt.”

Daniël: “De applicatie is stapje voor stapje herbouwd. We hebben onszelf afgevraagd: als ik deze vraag aanmaak, hoe ziet dat er in de database uit? Als ik deze vraag invul, hoe ziet dat er precies uit? En dat hebben we vertaald in nieuwe code. Deze code is daarmee veel cleaner dan de oude. Jeroen vult aan: “goede code schrijven is als een verhaal schrijven. Het moet een duidelijke kop, middenstuk en staart bevatten, en geen dubbele teksten of overbodige informatie.”

Daniël de Jong | Developer

Testcoverage van 90% ‘ongekend hoog’
Ook de nieuwe vragenlijstapplicatie wordt uiteraard onderworpen aan het geautomatiseerde testen. Daniël: “We hebben voor het testen nu een coverage van 90%. Dit betekent dat 90% van de code automatisch wordt getest en dat is ongekend hoog. De algemene richtlijn is minimaal 80%, dus wij zitten daar ruim boven. Het mooie is dat onze coverage zelfs steeds verder omhoog gaat per nieuw stuk functionaliteit dat er bij komt. Dit geeft de software een mate van stabiliteit die we nog niet eerder hebben gehad.”

Jeroen: “De ontwikkeling van de nieuwe vragenlijstapplicatie is een ontzettende learning voor onszelf. In dit geïsoleerde project hebben we veel gebruik kunnen maken van nieuwe technieken, nieuwe tooling en nieuwe methodieken. In het komende jaar zullen we deze nieuwe, meer uniforme aanpak ook toepassen op technische wijzigingen in NEQ Monitoring en daarmee maken we de software toekomstbestendiger.“