Ga naar de inhoud

Hoe houden testmethoden de steeds complexer wordende implementaties bij?

Digital twins bieden een prachtige mogelijkheid voor het simuleren van fysieke producten zelfs voordat het werkelijke product überhaupt bestaat. Omdat productontwikkeling in dit soort digitale omgevingen plaatsvindt, moeten in deze omgevingen tools en methoden aanwezig zijn die producten kunnen testen en bij voorkeur ook nog op een effectieve manier. Het testen van een product door een menselijke operator is natuurlijk mogelijk, maar in veel gevallen niet haalbaar. Mensen hebben de neiging fouten te maken, de herhaalbaarheid is niet identiek en natuurlijk is de snelheid van het testen doorgaans lager, en dan hebben we het nog niet eens over het werk zelf, dat behoorlijk eentonig kan zijn als dezelfde producten herhaaldelijk moeten worden getest.

IN HET KORT

Dit is de kop

Omdat de wereld steeds complexer wordt met producten die bestuurd worden door uiteenlopende software-implementaties, moeten testmethoden het wel kunnen bijhouden.

Dit is de kop

Digital twins bieden een prachtige mogelijkheid voor het simuleren van fysieke producten zelfs voordat het werkelijke product überhaupt bestaat.

Dit is de kop

De kracht van moderne geautomatiseerde tools en technologieën voor het testen van software ligt in het feit dat ze in uiteenlopende omgevingen kunnen worden geïntegreerd.

Om deze redenen biedt automatisering een oplossing voor het testen van software. Met geautomatiseerd testen heeft de software ontwerp industrie een krachtige tool in handen die de productkwaliteit op een hoog niveau kan houden. Tegenwoordig zijn veel industriële machines afhankelijk van PLC-technologie (Programmable Logic Controller). PLC’s zijn in vele industriële sectoren in talloze verschillende toepassingen aanwezig. Uiteindelijk komt het ontwikkelen van PLC-software vrij dicht in de buurt van traditionele softwareontwikkeling, hoewel dit misschien geen vaardigheden op het gebied van coderen van de ontwikkelaar vereist. Met betrekking tot kwaliteit bestaat bij beide hetzelfde probleem van het hoge niveau – softwareregressie. Softwareregressie verwijst naar een probleem of bug in het programma dat eerder wel heeft gewerkt maar niet langer werkt als gevolg van de ontwikkeling van nieuwe functies. Deze nieuwe functies hebben doorgaans, om verschillende redenen, de werking van de oudere delen van de softwarecode aangetast. Het belangrijkste doel van het geautomatiseerd testen van software is om deze regressiebugs op te sporen door constant verschillende testen uit te voeren. Enkele andere gebieden waarin het geautomatiseerd testen van software zeer krachtig kan werken, zijn niet-functionele testscenario’s, zoals het testen van prestaties of belasting.

“Softwareregressie verwijst naar een probleem of bug in het programma dat eerder wel heeft gewerkt maar niet langer werkt als gevolg van de ontwikkeling van nieuwe functies.”

Het geautomatiseerd testen van software is geschikt voor vele gebieden

De kracht van moderne geautomatiseerde tools en technologieën voor het testen van software ligt in het feit dat ze in uiteenlopende omgevingen kunnen worden geïntegreerd. Etteplan biedt bijvoorbeeld ontwerpdiensten voor software en hardware en oplossingen op het gebied van automatiseringstechnologieën voor geïntegreerde, cloud-, internet-, mobiele en industriële toepassingen. Daarom is het voor ons logisch dat we ongeacht het technologische gebied de best mogelijke regressietestwerkwijzen toepassen.

Een poosje geleden zijn we op zoek gegaan naar de beste manier om het testen van PLC-software te automatiseren en deze testen in een digital twin-simulator uit te voeren. Zodra we wisten dat onze digital twin-partner Mevea een API (Application Programming Interface) in zijn product aanbiedt en dat deze een geschikte demomachine in zijn simulator beschikbaar heeft, een graafmachine om precies te zijn, was het snel duidelijk dat we een demo wilden bouwen voor het geautomatiseerd testen van de PLC-software die de graafmachine bestuurt.

Met behulp van Python-scripts en Robot Framework stelden we een testprocedure op die de besturingscommando’s voor de graafmachine automatisch naar in de PLD-hardware draaiende PLC-software stuurt en vervolgens vanuit de simulator controleert of de gegeven besturingscommando’s tot de juiste respons bij het gesimuleerde graafmachinemodel leiden. Deze oplossing biedt de mogelijkheid om een menselijke tester door een computer te vervangen en zo het testen zeer betrouwbaar, effectief en snel te maken.

“Deze oplossing biedt de mogelijkheid om een menselijke tester door een computer te vervangen en zo het testen zeer betrouwbaar, effectief en snel te maken.”

Het geautomatiseerd testen van software is geschikt voor vele gebieden

Soms vereist het geautomatiseerd testen van software nog eens extra automatisering om volledig autonome processen mogelijk te maken. Stelt u zich eens voor dat u een PLC-automatiseringsontwikkelaar bent die PLC-programma’s ontwerpt. Bij traditionele softwareontwikkeling houdt de ontwerper de verschillende codeversies onder versiebeheer. Om de nieuwe versies van de code te kunnen traceren, wordt standaard een soort CI/CD-proces (Continuous Integration / Continuous Delivery) of tool toegepast. Het doel van deze tool is het automatiseren van verschillende processtappen, zoals het bouwen, gericht programmeren en het inzetten van de nieuwe codeversies. Natuurlijk kan geautomatiseerd testen ook slechts een stap in een dergelijk proces zijn.

Op dezelfde manier als bij traditionele softwareontwikkeling kan het ontwerpen van PLC-software ook van dit soort CI/CD-werkwijzen en tools profiteren. Dus wellicht wordt het volgende doel van onze demo het geautomatiseerd programmeren van een nieuwe PLC-softwareversie voor PLC-hardware nadat de nieuwe programmaversie op een locatie beschikbaar is gekomen met aanvullend het geautomatiseerd uitvoeren van testen.

Bron: https://www.etteplan.com/nl/kennisportaal/wereld-van-digital-twins-en-programmable-logic-controllers-plcs

TIPS

Dit is de kop

Het testen van een product door een menselijke operator is in veel gevallen niet haalbaar. Mensen hebben de neiging fouten te maken, de herhaalbaarheid is niet identiek, het werk vaak eentonig en de snelheid is doorgaans lager.

Dit is de kop

Automatisering biedt een oplossing voor het testen van software. Met geautomatiseerd testen heeft de software-ontwerpindustrie een krachtige tool in handen die de productkwaliteit op een hoog niveau kan houden.

Dit is de kop

Soms vereist het geautomatiseerd testen van software nog eens extra automatisering om volledig autonome processen mogelijk te maken.

Weidmüller

Weidmüller

Weidmüller biedt toegewijde technologie en oplossingen in hardware & software rondom de Industriële Automatisering & IoT. Zo brengen we uitgebreide industriële expertise in zowel hardwarecomponenten als software oplossingen.

Bekijk Bedrijf
Schrijf je in voor onze nieuwsbrief en ontvang updates.