Contact
Oproep
Een van de meest gebruikte programmeertalen

Python op het gebied van testautomatisering

Python is een universeel toepasbare en eenvoudig te begrijpen programmeertaal. Het wordt vooral gekenmerkt door duidelijke en gemakkelijk te lezen programmacode, is gemakkelijk te leren en is toch een uitgebreid en krachtig programmeerhulpmiddel. Python is een platformonafhankelijke programmeertaal en kan op elk besturingssysteem worden uitgevoerd. Er is een groot aantal vrij beschikbare bibliotheken en frameworks beschikbaar voor het ontwikkelen van toepassingen, die voortdurend verder worden ontwikkeld door de Python-gemeenschap en ook worden gebruikt op het gebied van testautomatisering en testtechnologie. Het gebruik ervan maakt Python-ontwikkelaars productiever in vergelijking met gebruikers van veel andere talen, omdat ze een Python-programma kunnen schrijven met minder regels code. Python is ontwikkeld onder een open source licentie die is goedgekeurd door de OSI en is daarom vrij te gebruiken en te distribueren, zelfs voor commerciële doeleinden. Volgens de TIOBE Programming Community Index, die de populariteit van programmeertalen aangeeft, is Python sinds april 2022 wereldwijd de populairste en meest gebruikte programmeertaal.

Python Webprogrammering

Een van de vele gebieden waarin Python uitblinkt is de ontwikkeling van webapplicaties. Python kan worden gecombineerd met HTML, CSS en JavaScript als front-end talen. Of je nu een dashboard nodig hebt voor het beheer van interne systemen, extra functies voor de Microsoft Power BI-analyseservice, een centraal portaal voor een bedrijfsbrede webservice volgens de eisen van de klant of een API-eindpunt - Python kan worden gebruikt om de meest uiteenlopende eisen te realiseren. De juiste webapplicatie voor de individuele use case kan bijvoorbeeld een verstandige combinatie zijn van een basis HTTP applicatieserver, een opslagmechanisme zoals een database, een template engine, een request dispatcher, een authenticatiemodule en een AJAX toolkit. Dit kunnen individuele componenten zijn of ze kunnen samen worden aangeboden in een high-level framework. Voor verdere oriëntatie kun je een overzicht van beschikbare webframeworks vinden op wiki.python.org.

Perfecte grafische gebruikersinterfaces (GUI) maken met Python

Een grafische gebruikersinterface (GUI) is het eerste wat de gebruiker ziet en waar hij vaak dagelijks interactie mee heeft. Een goede GUI draagt daarom aanzienlijk bij aan de uitstraling en acceptatie van een nieuw testsysteem, een analyse-interface of een nieuwe website. Gelukkig zijn er veel frameworks voor Python die gespecialiseerd zijn in het ontwerpen van zeer aantrekkelijke en zeer intuïtieve gebruikersinterfaces. Onze ontwikkelaars kunnen zo een consistente en logische gebruikersinterface creëren voor verschillende gebruikersniveaus zoals Operator, Engineer en Admin. We kunnen niet genoeg benadrukken hoe belangrijk een minimalistische maar robuuste gebruikersinterface is, vooral op het gebied van testautomatisering, die alleen de informatie weergeeft die op een bepaald moment belangrijk is en die bedieningsfouten in het beste geval onmogelijk of in ieder geval minder waarschijnlijk maakt. De krachtige Python-frameworks stellen onze ontwikkelaars daarom in staat om zeer goede moderne gebruikersinterfaces te maken met een redelijke kosten-batenverhouding.

Een van de bekendste frameworks is PyQt, dat gebruikt wordt om grafische gebruikersinterfaces te maken. Het is een platformonafhankelijk framework, waardoor dezelfde programmacode kan worden uitgevoerd op verschillende hardwareplatforms en besturingssystemen, zoals typisch is voor Python. De afzonderlijke ontwerpelementen van een interface passen zich automatisch aan het uiterlijk van het betreffende besturingssysteem aan en maken zo een native ontwerp mogelijk dat er zelfs na een wijziging of update van het besturingssysteem nog geschikt uitziet.

Snelle Applicatieontwikkeling (RAD)

Dankzij het grote aantal reeds bestaande en uitvoerig geteste bibliotheken en frameworks is Python de eerste keuze als het gaat om rapid prototyping op het gebied van softwareontwikkeling. Door de snelle implementatie van uitvoerbare softwareprototypes kan een oplossingsaanpak snel worden geëvalueerd voordat er te veel tijd wordt besteed aan theoretische overwegingen. Bovendien kunnen problemen eerder worden geïdentificeerd en kunnen wijzigingsverzoeken tijdig worden herkend en geïmplementeerd.

Python is daarom ook een populaire taal bij Merecs Engineering voor rapid application development, oftewel het snel maken van een eerste softwareontwerp. De snelle ontwikkeling van maatwerkoplossingen is bijzonder eenvoudig met Python. De pakketten voor gegevensanalyse(NumPy, SciPy, Pandas), gegevensvisualisatie(Matplotlib, seaborn, PyQtGraph) en beeldverwerking(OpenCV) verdienen een speciale vermelding. Naast de genoemde bibliotheken is het ook mogelijk om programmacode uit andere talen te integreren - bijvoorbeeld als de klant al code-modules heeft die gebruikt moeten blijven worden. Deze externe codemodules kunnen bijvoorbeeld ook expertise bevatten die onze ogen niet mogen zien. Het aanbieden van een dynamic link library (DLL) of vergelijkbare formaten kan dit mogelijk maken.

Software testen software

Softwaretests zijn een belangrijk onderdeel van moderne softwareontwikkeling en dienen niet alleen als ondersteuning tijdens de ontwikkelingsfase, maar kunnen ook achteraf worden gebruikt wanneer nieuwe eisen zijn geïmplementeerd als onderdeel van wijzigingsverzoeken. Softwaretesten kunnen worden gebruikt om ervoor te zorgen dat de volledige functionaliteit van de te testen software en de uitvoergegevens voldoen aan de gedefinieerde eisen.

Softwaretests leveren een belangrijke bijdrage aan de kwaliteitscontrole van de ontwikkelingsstatus van een software. Uitgebreide tests kunnen ook helpen om ondoordachte interacties met andere softwarecomponenten aan het licht te brengen. Vergeleken met het handmatig testen van afzonderlijke functies door de ontwikkelaar, kunnen geautomatiseerde softwaretests regelmatig en op elk moment worden uitgevoerd, zijn ze over het algemeen veel uitgebreider en zorgen ze er dus voor dat fouten in een vroeg stadium worden herkend en tijdig kunnen worden verholpen. Ze optimaliseren dus niet alleen de ontwikkelingsactiviteiten, maar stellen een testsysteem ook in staat zichzelf regelmatig te testen en het relevante personeel te informeren in geval van een fout. Het uitvoeren van geautomatiseerde softwaretests is vooral populair in de context van Continuous Integration (CI), waarbij regelmatig tests worden uitgevoerd zodra er een wijziging wordt aangebracht in de doelapplicatie.

Zelfs als de eigenlijke software niet in Python is ontwikkeld, kunnen grote delen van een softwaretest met Python worden afgedekt. Python kan worden gebruikt om testomgevingen te genereren, testgegevens te extraheren, testresultaten te analyseren en testrapporten te maken. Interfaces kunnen ook eenvoudig getest worden als er bijvoorbeeld een REST-interface beschikbaar is. De werking van software kan ook worden geautomatiseerd door het gebruik van verschillende bibliotheken. Handmatige systeemtests kunnen zo volledig worden geautomatiseerd en zelfs het testen van websites kan worden geautomatiseerd met Python dankzij Selenium.

Bussystemen & Hardwareverbinding met Python

Python biedt talrijke pakketten en stuurprogramma's voor algemene toepassingen in de industriële omgeving (EtherNet/IP, ProfiNet IO, Modbus), de automobielsector (CAN, FlexRay, LIN) en de medische technologie en nog veel meer. Het PyVISA-pakket kan worden gebruikt om meetapparatuur en testhardware aan te sturen via GPIB, RS232 of USB. Python doet dus niet onder voor andere programmeertalen als het gaat om connectiviteit met betrekking tot hardware aansturing en device drivers. NI heeft ook bibliotheken gepubliceerd die de aansturing van NI hardware zoals PXI, CompactDAQ en CompactRIO met Python mogelijk maken. Apparaten van alle fabrikanten kunnen meestal direct in Python worden geïntegreerd via Modbus en andere vergelijkbare bussystemen. Het aanbod van beschikbare apparaatstuurprogramma's wordt enerzijds bepaald door de apparaatleveranciers zelf en wordt anderzijds uitgebreid en onderhouden door de brede Python gemeenschap.

 

Aan de slag met
Python - bezoek python.org
National Instruments - Systeemintegrator

Merecs maakt sinds 2014 deel uit van de gemeenschap van gecertificeerde NI-partners. We laten ons leiden door algemeen geldende ontwerprichtlijnen en werken nauw samen met NI.

Kwaliteitsbeheer volgens DIN EN ISO 9001

Merecs voldoet aan de eisen van de norm en heeft een kwaliteitsmanagementsysteem dat voortdurend wordt verbeterd.