Toggle menu
x

 

Blog

 
 

Verschil tussen software & hardware testen

Senior test consultant
I test the shit out of your software!

Steve Westhoek
  s.westhoek@advanced.nl
   

''Softwaretesten kunnen worden gekopieerd en hergebruikt. Hardware? No''

Het verschil tussen software en hardware testen
 
Producten evolueren om ervoor te zorgen dat een bedrijf aan haar doelstellingen voldoet en haar klanten tevreden houdt. Hardware en software zijn een noodzakelijk onderdeel van vrijwel elk bedrijf en huishouden geworden. En de leveranciers die dit publiek bedienen moeten ervoor zorgen dat hun producten werken zoals ze zouden moeten.  
Sommige bedrijven bieden alleen software aan en anderen uitsluitend hardware. Echter, er zijn ook bedrijven die zowel de hardware als de software maken. Enexis bijvoorbeeld biedt haar klanten zowel software als hardware aan in de vorm van slimme elektriciteits- & gasmeters. Het is door deze combinatie dat dit soort organisaties, maar ook ik als tester, het verschil moet kennen tussen het testen van software in tegenstelling tot het testen van hardware en hoe deze producten effectief te evalueren. Ik heb als software- en hardware tester aan den levende lijve ondervonden hoe dit in zijn werk gaat.  
Software is flexibel
 
Een van de grootste verschillen tussen het testen van software en hardware is dat softwaretesten kunnen worden gekopieerd en hergebruikt, terwijl processen die worden gebruikt voor het testen van hardware dat niet zijn. Daarnaast kan software gemakkelijk worden veranderd en evolueert deze door meerdere versies, terwijl hardware hoge kosten voor verandering heeft en na de fabricage niet meer kan worden herzien. Met agile testmethodieken heb ik bij Enexis softwaretesten kunnen schrijven, toewijzen, plannen en automatiseren waar nodig. Dit zorgde voor een constante flow van software updates en heeft geholpen bij het behoud van de kwaliteitsnormen over tijd.  
Hardware is log
 
In tegenstelling tot software hebben hardware testen niet de luxe om zich flexibel aan te passen. Als je bedenkt hoe een product als een elektriciteitsmeter is gemaakt, dan zou je jezelf een assemblagelijn kunnen voorstellen waar bijvoorbeeld alle gelijke onderdelen op dezelfde manier zijn bevestigd. Eventuele afwijkingen hierin kunnen onregelmatigheden veroorzaken zodra het product aan de gebruiker wordt toegekend. Om deze reden moeten testers begrijpen dat wanneer producten wordt gemaakt, zij achteraf geen nieuwe verbeteringen kunnen toevoegen. Testen zullen daarom alleen goed zijn voor die specifieke uitvoering van de hardware. Er zal een andere set testcriteria gemaakt moeten worden voor het volgende product.  
Hardware ontwerpen zijn ook aanzienlijk meer beperkt door industrie richtlijnen of specifieke onderdelen. Zo heb ik ervaren dat een batch meters van de nieuwste revisie moest worden uitgesteld omdat de 4G modem module (wegens wegvallende verbindingen) nog niet beschikbaar was gesteld door een toeleverancier van de leverancier van Enexis. Dit heeft een verschuiving van mijn testfocus en de algehele planning als gevolg gehad.  
Als gevolg van het eerste verschil zijn er variaties voor de manier waarop testgevalstappen ontleed kunnen worden voor software in tegenstelling tot hardware. Met software testgevallen kunnen er naar mijn ervaring wel 100 stappen nodig zijn voor het uitvoeren van alle beoogde tests. Dit is een resultaat van het overwegen van talloze zaken en het hoge niveau van testautomatisering die betrokken zijn bij de flexibele softwareontwikkeling. Teams kunnen kwalitatieve testinstrumenten gebruiken om deze activiteiten te volgen en ervoor te zorgen dat alles naar verwachting vordert. Aan de andere kant van deze vergelijking zijn de hardware-teststappen veel korter en eenvoudiger, waarbij soms slechts een paar stappen bestaan om te controleren of een product werkt. Ten eerste kan de firmware voor functionele correctheid worden getest. Vervolgens wordt de hardware geëvalueerd om ervoor te zorgen dat het goed met andere systemen integreert en correct werkt. Een voorbeeld hiervan is de Toon app en de gelijknamige fysieke thermostaat van Eneco die meetstanden doorgestuurd moet krijgen van de elektriciteitsmeter. Tenslotte wordt het gehele systeem beoordeeld op hoe goed het voldoet aan de eisen van de klant en de hoge niveauspecificaties zoals compliance. Hardware kan niet veel veranderd worden voor de release. Het is daarom essentieel dat teams volledige tests uitvoeren om eventuele zwakke punten die inherent zijn in een product te identificeren.  
Als softwaretester heb ik ruime ervaring met het testen van zeer flexibele software en snelle iteraties van nieuwe opleveringen. Als hardwaretester heb ik geleerd hoe veel van de hedendaagse agile testmethodieken niet van toepassing zijn op hardwaretesten. Door het verschil tussen hardware- en software testen te begrijpen, heb ik mij beter kunnen focussen op succes.  

 

© AdVanced. Alle rechten voorbehouden.