Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Software >> Engineering Software >> Content
Wat zijn de gebruikelijke tools die worden gebruikt voor softwaretestautomatisering op het gebied van embedded technologie en gebruiken systeembedrijven deze?
De tools die worden gebruikt voor softwaretestautomatisering in embedded systemen zijn divers, vaak afhankelijk van de specifieke hardware, softwarearchitectuur en testbehoeften. Systeembedrijven maken absoluut gebruik van deze tools, omdat het handmatig testen van embedded systemen ongelooflijk tijdrovend en foutgevoelig is, vooral gezien de vaak complexe hardware-software-interacties.

Hier volgt een overzicht van veelvoorkomende gereedschapscategorieën en voorbeelden:

1. Testframeworks: Deze bieden de structuur en organisatie voor geautomatiseerde tests.

* Google-test (gtest): Een veelgebruikt C++-testframework dat bekend staat om zijn eenvoud en uitbreidbaarheid. Vaak gebruikt in ingebedde projecten die C++ gebruiken.

* Eenheid: Een lichtgewicht, platformonafhankelijk raamwerk voor het testen van eenheden, geschikt voor C- en C++-projecten. Populair in embedded systemen vanwege de kleine footprint.

* CppUTest: Nog een C++ unit-testframework dat speciaal is ontworpen voor embedded systemen, waarbij de nadruk ligt op minimaal bronnengebruik.

* CUnit: Een unit-testframework voor C.

* Test voltooid: Een commercieel raamwerk dat scripting in verschillende talen ondersteunt en GUI-tests kan automatiseren (hoewel dit minder gebruikelijk is in bare-metal embedded systemen)

2. Testuitvoeringsomgevingen/hardlopers: Deze beheren de uitvoering van testsuites en de rapportage van resultaten.

* Veel IDE's bevatten testlopers: Eclipse CDT kan bijvoorbeeld worden geïntegreerd met frameworks zoals Google Test.

* Aangepaste scripts: Vaak schrijven embedded-systeemteams hun eigen scripts (bijvoorbeeld met behulp van Python of Bash) om de testuitvoering te orkestreren, met name voor integratie- en tests op systeemniveau.

* Systemen voor continue integratie/continue implementatie (CI/CD): Jenkins, GitLab CI, Azure DevOps, enz. worden vaak gebruikt om het bouw- en testproces te automatiseren, ook voor embedded systemen. Deze integreren vaak met de testframeworks en runners.

3. Hardwarespecifieke tools: Deze tools overbruggen vaak de kloof tussen de testautomatiseringssoftware en de embedded hardware.

* JTAG-foutopsporingsprogramma's: Tools zoals die van Segger, Lauterbach of ARM bieden interfaces om de hardware op een laag niveau te debuggen en te testen. Ze kunnen ook tests activeren en resultaten vastleggen.

* In-Circuit-emulators (ICE's): ICE's maken geavanceerdere testscenario's mogelijk dan JTAG, vaak inclusief realtime tracerings- en emulatiemogelijkheden. Dit zijn doorgaans high-end oplossingen.

* Hardware-in-the-loop (HIL)-simulators: Dit zijn geavanceerde systemen die de externe omgeving van het ingebedde systeem simuleren, waardoor de interactie van het systeem met de echte wereld grondig kan worden getest zonder dat er fysieke componenten of potentieel gevaarlijke situaties nodig zijn.

* CAN/LIN/Ethernet-busanalysatoren: Deze tools registreren en analyseren de communicatie op auto- en industriële bussen, wat cruciaal is voor het testen van ingebedde systemen die via deze protocollen communiceren.

* Oscilloscoop/Logische analysers: Voor direct onderzoek van hardwaresignalen.

4. Hulpmiddelen voor analyse van dekking testen: Deze meten hoe grondig de testsuite de code afdekt.

* gcov (GCC): Een ingebouwde tool binnen de GCC-compiler die informatie over de codedekking biedt.

* Commerciële hulpmiddelen: Geavanceerdere tools bieden gedetailleerde dekkingsrapporten, waaronder filiaaldekking, conditiedekking en MC/DC (Modified Condition/Decision Coverage), wat vaak verplicht wordt gesteld door veiligheidsnormen (zoals ISO 26262).

5. Testbeheertools: Deze helpen bij het organiseren en beheren van het testproces.

* Jira, Azure DevOps, TestRail: Dit zijn veelgebruikte hulpmiddelen voor het beheren van testgevallen, het opsporen van bugs en het rapporteren van testresultaten.

Welke tools bedrijven gebruiken: De keuze is sterk afhankelijk van factoren als:

* Begroting: Open-sourcetools zoals Google Test en Unity zijn vanwege de kosten aantrekkelijk. Commerciële tools bieden meer geavanceerde functies, maar hebben een prijskaartje.

* Projectcomplexiteit: Eenvoudige projecten hebben wellicht alleen een unit-testframework nodig, terwijl complexe systemen een uitgebreider pakket aan tools vereisen.

* Veiligheidsnormen: Veiligheidskritische toepassingen (automobiel, lucht- en ruimtevaart, medisch) vereisen vaak het gebruik van tools die voldoen aan specifieke normen en geavanceerde dekkingsanalyses bieden.

* Hardwareplatform: De beschikbare debugging-interfaces en hardware zullen de keuze van de tools beïnvloeden.

* Teamexpertise: De vaardigheden van het technische team zullen de haalbaarheid van het adopteren en gebruiken van bepaalde tools bepalen.

Samenvattend maken systeembedrijven die betrokken zijn bij de ontwikkeling van embedded systemen gebruik van een breed scala aan tools, waarbij ze vaak open source en commerciële opties combineren om een ​​op maat gemaakte testinfrastructuur te bouwen die voldoet aan hun specifieke behoeften en projectvereisten. De trend is richting meer automatisering en integratie met CI/CD-pijplijnen.

Previous: Next:
  Engineering Software
·Hoe te Arrows maken in AutoCAD…
·Wat is het verschil tussen CAT…
·Wat identificeert software doo…
·Waar verwijst de term vertical…
·Wat is de volledige vorm van S…
·Hoe Microsoft Embedded Visual …
·Hoe te Signaal Verandering in …
·Belang van Numerieke Wiskunde …
·Lijst van Software Onderhoud G…
  Related Articles
Welke maatregelen kunnen worden genomen …
Wat is de worst-case tijdscomplexiteit v…
Wat is de tijdscomplexiteit van vectorin…
Wat is de tijdscomplexiteit van het back…
Wat is de tijdscomplexiteit van het back…
Wat is de tijdscomplexiteit van quicksor…
Wat is de tijdscomplexiteit van het quic…
Wat is de tijdscomplexiteit van het verw…
Wat is de tijdscomplexiteit van backtrac…
  Software Articles
·Hoe om te gaan op WordPad & bewerken a P…
·Hoe maak je een Zune Driver Uninstall 
·Hoe lijn ik de content-placeholder uit i…
·Handmatig verwijderen van een Silent Key…
·Bij het converteren van een open kantoor…
·Code voor video-opname in matlab? 
·U kunt wijzigen van een JPG naar een Wor…
·Wat voor soort multiprocessing doen Wind…
·Hoe maak je een staafdiagram in Excel 20…
Copyright © Computer Kennis https://www.nldit.com