• Share
  • Email
  • Embed
  • Like
  • Private Content
Dotnetpro 2 2012_käfer_in_komponenten_windows_ce_kraaz
 

Dotnetpro 2 2012_käfer_in_komponenten_windows_ce_kraaz

on

  • 734 views

Qualitätssicherung von Windows-Embedded-Compact-Projekten. Der Komponentendschungel, dem sich der Programmierer beim Entwickeln von und mitWindows Embedded Compact gegenübersieht, kann sehr schnell ...

Qualitätssicherung von Windows-Embedded-Compact-Projekten. Der Komponentendschungel, dem sich der Programmierer beim Entwickeln von und mitWindows Embedded Compact gegenübersieht, kann sehr schnell sehr unübersichtlich werden. Da kann so mancher Fehler unbemerkt überleben.

Statistics

Views

Total Views
734
Views on SlideShare
716
Embed Views
18

Actions

Likes
0
Downloads
6
Comments
0

1 Embed 18

http://bitly.com 18

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Dotnetpro 2 2012_käfer_in_komponenten_windows_ce_kraaz Dotnetpro 2 2012_käfer_in_komponenten_windows_ce_kraaz Document Transcript

    • PRAXISQualitätssicherung von Windows-Embedded-Compact-ProjektenKäfer in KomponentenDer Komponentendschungel, dem sich der Programmierer beim Entwickeln von und mit Windows Embedded Compactgegenübersieht, kann sehr schnell sehr unübersichtlich werden. Da kann so mancher Fehler unbemerkt überleben. W indows Embedded Compact, der ware. Im BSP erfolgt die Anpassung an den ver- Auf einen Blick Nachfolger von Windows CE, ist Mi- wendeten Prozessor, an spezielle Funktionen ei- crosofts „kleinstes“ Betriebssystem nes Geräts und generell an das Board, also die für Embedded-Devices. Neben Intel-Prozessoren Platine. Den größten Teil des BSP dürften die Ge- unterstützt das System auch MIPS- und ARM- rätetreiber ausmachen. Prozessoren, und vor allem letztere erfreuen sich einer weiten Verbreitung. Das echtzeitfähige Be- Vom Evaluations-Kit zum fertigen triebssystem wird für internetfähige Geräte, Device MP3-Player, Kameras, aber auch für Industrie- Auf dem Markt gibt es zahlreiche Evaluations- Matthias Kraaz beschäftigt Controller, medizinische Geräte und Heimauto- Kits für Prozessoren oder Hardwarekomponen- sich bei Zühlke mit dem auto- mation verwendet – oder auch für Nähmaschi- ten, die ein Image mit Windows Embedded Com- matisierten Testen von Medizin- nen, wie Abbildung 1 bezeugt. Dabei wird Win- pact enthalten. Mit diesen Evaluations-Kits lässt technik-Geräten und anderen dows Embedded Compact gleichermaßen für sich innerhalb von Minuten das Betriebssystem Embedded-Systemen. Sie erreichen ihn über Systeme mit Display wie auch für solche ohne auf der Hardware installieren und starten und matthias.kraaz@zuehlke.com. Anzeige eingesetzt [1]. das Zusammenspiel von Hardware und Software Durch die Modularisierung lässt sich das Be- testen. Verläuft der Test der jeweiligen Hardware- Inhalt triebssystem genau auf den Anwendungsszweck komponenten zur Zufriedenheit, kann die Ent- zurechtschneidern. In einer Minimalkonfigura- wicklung der eigenen Hardware beginnen: Der U Mit dem Board Support tion benötigt es weniger als je 1 Megabyte Ar- Formfaktor wird angepasst; Prozessoren und Package arbeiten. U Das Test-Framework TUX. beits- und Flash-Speicher. Eine typische Konfigu- Speicher werden vergrößert, um mehr Leistung U Evaluations-Kits und automa- ration für ein berührungsempfindliches Bedien- herauszuholen, oder verkleinert, um Kosten zu tisierte Tests. terminal bewegt sich im Bereich von 8 bis 16 Me- sparen; und auch die Anschlüsse zu Peripherie U Externe Dienstleister. gabyte Flash-Speicher; die Konfiguration eines und Spannungsversorgung müssen angepasst Geräts heißt in der Fachsprache „OS-Design“. Die werden. Serie Entwicklung am Betriebssystem erfolgt mit dem Meist lassen sich die benötigten Anwendun- 1. Qualitätssicherung von Visual-Studio-Plug-in Platform Builder. gen bereits auf dem Evaluations-Kit vorentwi- Windows-Embedded-Projek- Windows Embedded Compact muss aber ckeln, bis die endgültige Hardware verfügbar ist. ten nicht nur im Funktionsumfang, sondern auch Und natürlich ist das BSP an die veränderte 2. BSPs für Windows CE bei der Unterstützung verwendeter Hardware Hardware anzupassen. Sobald Hardware, BSP entwickeln große Variabilität beweisen. Dazu dient das soge- und Anwendung entwickelt und getestet sind, nannte Board Support Package (BSP). Der Begriff kann das fertige Gerät ausgeliefert werden. So dnpCode bezeichnet die Zwischenschicht zwischen dem weit zumindest der Plan. A1202Embedded allgemeinen Betriebssystemkern und der Hard- Wer bis hierhin aufmerksam gelesen hat, wird zumindest einem verbreiteten Irrtum nicht mehr aufsitzen: Windows Embedded Compact kommt nicht fix und fertig von Microsoft – das wäre bei dem Variantenreichtum von Hardware für Em- bedded-Systeme schlichtweg unmöglich. Insbe- sondere die eigene entwickelte Hardware wird wahrscheinlich nicht ohne Programmierauf- wand sofort mit der Unterstützung aller Hard- waremerkmale laufen. Wie bereits angedeutet, muss ein Board Sup- port Package für die Hardware entwickelt werden, damit Windows Embedded Compact auf der Hardware laufen kann. Es spricht nichts dagegen, ein fertiges BSP für eine ähnliche Hardware anzu- passen; auch der reichhaltige Beispiel- und Bi- [Abb. 1] Gar kein ungewöhnliches Anwendungsbeispiel: bliothekscode von Microsoft kann als Grundlage eine Nähmaschine mit Windows CE. dafür dienen (Abbildung 2).72 2. 2012 www.dotnetpro.de
    • PRAXIS[Abb. 2] Windows Embedded Compact besteht aus Micro- [Abb. 3] Einesofts Betriebssystemkern, dem teilweise selbst geschriebe- schematischenen BSP und den selbst geschriebenen Applikationen. Darstellung der Verzeichnisstruk- tur des Platform Builders und eine grobe Einschätzung des Reifegrads des Inhalts. Die Hardware für Embedded-Windows Bei einschlägigen Anbietern gibt es BSPs stimmte Evaluations-Kit-Hardware erstelltbeherrscht in der Regel einige für sie einzig- schon für wenige Tausend Euro. Sie sind auf wurde. Abbildung 3 zeigt den Aufbau desartige Funktionen, die von den Applikatio- eine bestimmte Hardware, meist die eines PLATFORM-Verzeichnisses und den unge-nen aus benutzt werden sollen. Diese Funk- Evaluations-Kits, abgestimmt und dienen in fähren Reifegrad der verschiedenen Be-tionen werden den Anwendungen dann oft der Regel als Basis für die eigene Entwick- standteile des Platform Builders, die darinüber ein speziell entworfenes Plattform-API lung. Dieser günstige Preis ist normalerweise zu finden sind.zur Verfügung gestellt. mit dem Hinweis verbunden, dass das BSP Selbst wenn das übernommene BSP aus- Wenn das BSP fertig ist, wird das OS-De- für Lehre, Evaluation oder Prototypentwick- reichend getestet worden ist, sollten sich beisign erstellt, das Image gebaut und auf die lung gedacht ist. Dieser Hinweis ist sehr ernst einer Anpassung die eigenen Tests nicht nurHardware gespielt. Dieser Schritt erfolgt zu nehmen: Er bedeutet, dass für die Pro- auf die neuen oder geänderten Funktionenwährend der Entwicklungsphase meist be- duktentwicklung noch einiges an Arbeit in beschränken. Eine Anpassung des BSP an ei-quem aus dem Platform Builder heraus mit die Stabilisierung und Qualitätssicherung zu ner bestimmten Stelle kann ganz andere Tei-Unterstützung durch den Bootloader, der investieren ist, bis der übernommene Code le des Pakets in Mitleidenschaft ziehen. Amebenfalls zum BSP gehört. Produktionsqualität erreicht hat. In diesem besten ist es, alle verwendeten Teile des BSP Es empfiehlt sich, frühzeitig über die Zusammenhang empfiehlt es sich allerdings wie schon oben beschrieben zu testen.Handhabung in der Geräteproduktion und immer, eine detaillierte Dokumentation derüber Updates im Feld nachzudenken. Die Interna des BSP inklusive einer Liste von Unter Windows EmbeddedProduktion muss in die Lage versetzt wer- Schwächen und Lücken zu verlangen. Compact testenden, mit ihren Mitteln das Image effizient Auch wenn das gleiche BSP schon mehr- Beim Test eines BSP ist das Test-Kit von Mi-auf die Hardware zu überspielen. Auch das fach anderen Firmen als Ausgangsbasis ge- crosoft immens hilfreich, insbesondere dasAktualisieren von Geräten „draußen“ beim dient hat, muss das nicht zur Verbesserung enthaltene Framework TUX, das die großenNutzer sollte robust und einfach sein. Dazu der Qualität des Layers geführt haben. Dies Test-Suiten von Microsoft unterstützt. Damuss eventuell das Format des Images geän- ist wahrscheinlich nur dann der Fall, wenn diese Suiten enormen Speicherbedarf ha-dert oder ein zusätzlicher Mechanismus der Hersteller des BSP über Fehler infor- ben, der Speicher auf einem Test-Kit aberzum Aufspielen entwickelt werden. miert wurde und diese behoben hat. Daher beschränkt ist, lädt das Framework die Tests empfiehlt es sich, genauestens zu prüfen, einzeln auf das Gerät, führt sie aus und ent-Komponenten wollen geprüft sein welche Teile davon in welchem Umfang fernt sie wieder. Vor allem enthält das Test-Die von Microsoft gelieferten allgemeinen, der Qualitätskontrolle unterliegen. Kit schon eine große Menge von TUX-Testshardwareunabhängigen Merkmale von Die meisten BSPs enthalten Code aus für Gerätetreiber verbreiteter Hardwareklas-Windows Embedded Compact haben die dreierlei Herkunft: sen wie Display, Flash-Speicher, Ethernet-größte Verbreitung. Dieser Code wird von T hardwareunabhängiger Framework-Code Anschluss und viele mehr. Das Schreiben ei-den meisten Entwicklern auf den meisten von Microsoft, gener Tests gestaltet sich nicht schwierigerGeräten verwendet, und so sind hier die T Code für eine bestimmte CPU-Familie als bei den gängigen Test-Frameworks.wenigsten Fehler zu erwarten. Nichtsdesto- wie x86, ARM et cetera, oder einen Pro- Außerdem enthält das Test-Kit noch einetrotz vergeht kaum ein Monat, in dem Mi- zessortyp wie etwa eine System-on-a- Reihe von Werkzeugen :crosoft nicht zahlreiche Korrekturen für Chip-CPU, sowie T Der Application Verifier prüft die Frei-diesen Teil des Systems bereitstellt. Diese T Code, der eigens für ein bestimmtes Board gabe von Speicher und anderen System-monatlichen Fehlerbereinigungen werden entwickelt wurde. ressourcen.als Quick Fix Engineering (QFE) bezeich- T Das Windows CE Stress Tool lässt Testsnet. Es lohnt sich, die Veröffentlichung der Je spezieller der Code, desto ausführli- im Dauerbetrieb laufen.QFEs auf Fehler hin zu beobachten, die die cher sollten die Tests sein. Am kritischsten T CPU Monitor zeigt die CPU- und Spei-eigene Entwicklung betreffen könnten [2]. zu betrachten ist der Code, der für eine be- cher-Auslastung an.www.dotnetpro.de 2. 2012 73
    • PRAXIS _ Qualitätssicherung von Windows-Embedded-Compact-Projekten Funktionale Tests sind notwendig, rei- Die vorgetesteten Einheiten werden Auf jeder „tieferen“ Testebene ist es nochchen aber nicht aus. Besser ist es, wenn bei- schrittweise zusammengeführt und getes- möglich, von der Hardwareumgebung zuspielsweise Langzeittests mit einer Überwa- tet. Bei den Integrationstests dieser Units abstrahieren; spätestens auf der Ebene derchung des Speicherverbrauchs einherge- kommt es dann zu wesentlich weniger Systemtests ist die Peripherie, die von derhen, um Speicherlecks zu finden; Stresstests Fehlern als bei noch ungetesteten Einhei- untersuchten Software kontrolliert wird,wie die gleichzeitige Belastung aller Treiber ten. Diese Fehler ergeben sich dann meis- nicht mehr herauszuhalten: Beim System-oder die dauerhafte starke Belastung eines tens aus dem Zusammenspiel der Einhei- test lassen sich die Treiber für die Kommu-Treibers sind ebenfalls sinnvoll. ten und nicht aus deren intrinsischen Feh- nikation mit der Peripherie per definitio- Wird einmal ein Fehler gefunden, ist ein lern. Mit diesem Wissen lassen sich in den nem nicht weglassen. Als System gilt hier-Regressionstest für ihn ebenfalls sehr sinn- Integrationstests die meisten Fehler we- bei das Board mit der darauf laufendenvoll. Die Erfahrung zeigt, dass schon die sentlich schneller finden und beheben. Firmware.nächste Fehlerbehebung (am selben Trei- Dieses Vorgehen setzt sich schrittweise Die Peripherie macht das Automatisie-ber) einen bereits behobenen Fehler wie- fort, bis das System zusammengestellt ist. ren der Softwaretests gleichzeitig schwieri-der einführen kann. Die letzte Stufe dieser Integrationstests ist ger und lohnenswerter. Denken Sie nur an dann der Systemtest. Durch die vorherge- eine Heizungssteuerung : Sie direkt zu tes-Schnittstellenprobleme zwischen henden Testläufe lässt sich der Aufwand für ten – und damit in Echtzeit – hieße ja, tat-Applikation und Hardware die Systemtests dramatisch reduzieren (Ab- sächlich die Raumtemperatur anzuhebenRegelmäßig gibt es Missverständnisse bei bildung 4). und zu senken. Mit diesem TestverfahrenderVereinbarung der Schnittstelle zwischen würde die Entwicklung der Heizungssteue-Applikation und Hardware, also dem Platt- rung ewig dauern.form-API. Eine Möglichkeit, dem vorzubeu- Auch aus anderen Gründen kommt dergen, ist das Erstellen einer Spezifikation in Automatisierung von Systemtests eine be-Form von ausführbaren Schnittstellentests, sondere Bedeutung zu: Sie sind die einzi-die das gewünschte Verhalten der Schnitt- gen Tests, die immer ausgeführt werden.stelle prüfen. Diese Tests dienen gleichzeitig Alle anderen Tests fallen aus verschiedens-auch als Dokumentation der Schnittstelle ten Gründen schon mal unter den Tisch.und ebenso der Qualitätssicherung. Systemtests sind sozusagen die Nagelpro- Es gibt zwei Möglichkeiten, diese Tests be, ob das System funktioniert und ausge-zu erstellen. In der einen Variante schrei- liefert werden kann.ben die Autoren, die BSP und Schnittstel- Systemtests sollten zudem so früh wielenspezifikation erstellen, auch die Tests möglich erfolgen. Nur dann besteht diedafür. In der anderen Variante schreiben [Abb. 4] Die Ebenen der Testpyramide bauen Chance, Fehler in der Hardwarearchitekturdie Entwickler der Anwendungen, die auf aufeinander auf und ergeben zusammen die oder der Software so rechtzeitig zu erken-das BSP zugreifen, die Schnittstellentests nötige Testabdeckung. nen, dass sie sich noch beheben lassen.und spiegeln auf diese Weise ihr Verständ- Jede noch so komplizierte Peripherie lässtnis der Schnittstellenspezifikation wider. sich glücklicherweise auf die elektrischen Nicht zuletzt verdienen Plattform-APIs ei- Wie bei der Pyramide muss aber jede Signale an der Schnittstelle zum Board re-nen besonders hohen Testaufwand, da hier „Testschicht“ sorgsam gelegt werden, sonst duzieren. Tests, die sonst die Peripherie ein-naturgemäß der meiste neue Code entsteht. bricht das ganze Bauwerk zusammen. Nur bezögen, werden mittels Simulation und Unit-Tests mit einer hochgradigen Testab- Messung der entsprechenden elektrischenDie Testpyramide: Unit-Tests deckung ermöglichen es tatsächlich, sich Signale automatisiert. Für diese Simula-Sehr effizient ist das agile Konzept der Test- bei den Integrationstests auf die Probleme tions- und Messaufgaben gibt es auf dempyramide auch bei Embedded-Projekten; des Zusammenspiels der verschiedenen Markt ein reichhaltiges Angebot von Lösun-der Autor des Artikels wendet es mit gro- Teile zu konzentrieren. gen der Mess- und Automatisierungstech-ßem Erfolg in der täglichen Arbeit an [3] [4]. nik, mit deren Hilfe sich ein passendes Test-Dieses Konzept sieht vor, dass der größte Tests automatisieren system komplett aus fertiger Hardware undTeil der Tests auf der Ebene der Unit-Tests Auf allen Stufen der Testpyramide ein- Software zusammenstellen lässt. Dabeierfolgt. Hier werden die kleinsten, nicht schließlich der Ebene der Systemtests ist ei- empfiehlt es sich, auf PXI-Systeme zu set-weiter sinnvoll zerlegbaren Einheiten des ne Automatisierung der Tests sinnvoll. Sie zen: PXI (PCI eXtensions for Instrumenta-Systems getestet, zum Beispiel ein einzel- hat zwei Effekte: Zum einen verringert sie tion [5]) ist ein modulares System für Steck-ner, nicht allzu komplexer Treiber. Der Vor- den Testaufwand, da der höhere Aufwand zu karten mit Mess- und Automatisierungsauf-teil von Unit-Tests gegenüber Tests von Beginn sich nach ein paar Wiederholungen gaben. In der Regel bieten die Hersteller zurgrößeren Einheiten ist der geringe Auf- der Tests amortisiert; zum anderen können PXI-Steckkarte eine Testumgebung, die diewand bei der Suche und Behebung des automatisierte Tests wesentlich häufiger lau- Steckkarten ansteuert und die Tests aus-Fehlers im Code. Gleichzeitig ist die Stimu- fen, sodass Fehler viel schneller gefunden führt. Das fertige Testsystem bestünde dannlation der zu testenden Einheit einfacher werden. Je früher aber ein Fehler gefunden beispielsweise aus einem Standard-PC mitund es sind beispielsweise Grenzwerttests wird, nachdem er sich in die Software einge- der Testumgebung, einem PXI-Chassis undmöglich, ohne dass andere Komponenten schlichen hat, desto einfacher haben es die den passenden PXI-Steckkarten.die eventuell ungültigen Werte vom Test- Entwickler mit der Fehlersuche, weil der Auf- Allerdings ist meistens noch eine Signal-kandidaten fernhalten. wand pro Fehlerbehebung sinkt. anpassung zwischen Testsystem und Board74 2. 2012 www.dotnetpro.de
    • PRAXIS Das Display testen Eine weitere Hürde auf dem Weg zur Test- automatisierung stellen Displays dar, die auf dem Board eines Evaluations-Kits an- gebracht sind. Hier stellt sich die Frage, wie sich die Prüfung so automatisieren lässt, dass die Software während des Tests kor- rekte Anzeigen produziert. Hierzu ist entweder das Signal auf sei- nem Weg zum Display abzugreifen oder aber das Display mit einer Kamera zu fil- men. Das Filmen ist am einfachsten, setzt aber eine entsprechend komplizierte Bild- erkennung voraus, um falsche von richti- gen Anzeigen zu unterscheiden. Je nach Projekt kann dieses Verfahren aber durch- aus sinnvoll sein. Am einfachsten ist die Prüfung der An-[Abb. 5] Hier ist die getestete Hardware per Adapterplatine am Testsystem angeschlossen. zeige, wenn die Bildschirmausgabe von der zu testenden Software parallel auf eine Da- tenschnittstelle übertragen wird. Hierbeierforderlich. Diese Adaption erfolgt am neu entwickelte Hardware links im Bild zu stellen sich allerdings schnell Probleme mitbesten mit einer Adapterplatine, die wäh- sehen, die Adapterplatinen rechts im Bild. der Bandbreite ein.rend der Hardwareentwicklung mit gerin- Die Tests mit der simulierten Peripherie Eine weitere Möglichkeit ist, das Signalgem Zusatzaufwand gleich mitentwickelt können natürlich nicht die Tests mit der direkt vor dem Display abzugreifen und diewerden kann. Ein Beispiel für solch einen echten Peripherie ersetzen, aber ihre An- Logik des Displays nachträglich zu imple-Testaufbau zeigt Abbildung 5; hier ist die zahl drastisch reduzieren. mentieren.
    • PRAXIS _ Qualitätssicherung von Windows-Embedded-Compact-ProjektenFehler im PUBLIC-Verzeichnis leister immer wieder zu denselben Proble- die zu begutachten sind. In jedem Fall soll-Tests werden unweigerlich Fehler finden – men kommt, die sich aber durchaus lösen te die Aufgabenverteilung vorab geklärtdas ist nun mal ihr Zweck. Solange diese im lassen. In erster Linie ist eine klare Aufga- und nicht den Annahmen der beteiligtenBoard Support Pack lokalisiert sind, ist ih- benverteilung sicherzustellen. Dies be- Parteien überlassen werden.re Korrektur nicht sonderlich schwierig. ginnt mit der Frage, in welchem Umfang Und noch ein Punkt ist zu bedenken.Mitunter ergeben sich jedoch Fehler in den der Dienstleister selbst testet. Stehen meh- Probleme mit fremderstellten ArtefaktenMicrosoft-Komponenten im PUBLIC-Ver- rere Dienstleister zur Auswahl, empfiehlt tauchen nicht immer sofort auf, sondernzeichnis. Dann ist zuerst zu prüfen, ob es sich gerade bei wesentlich günstigeren oft erst, wenn die eigenen Entwickler dieMicrosoft schon einen Patch, also einen Angeboten zu prüfen, inwieweit Qualitäts- entsprechenden Funktionen in BetriebQFE (siehe oben), dafür bereitstellt. Diese sicherung dabei inbegriffen ist. nehmen. Eventuell sind die Mitarbeiter desKorrekturen fasst Microsoft monatlich und Es mag zwar für den Auftraggeber selbst- Dienstleisters dann aber schon mit einemjährlich zu sogenannten Roll-ups zusam- verständlich sein, nur intensiv getestete ganz anderen Projekt beschäftigt und diemen, die das Aktualisieren einer Platform- Software auszuliefern. Allerdings ist auch Fehlerbehebung verzögert sich. Daher soll-Builder-Installation beschleunigen. Ist die Ansicht anzutreffen, dass man ja sowie- te mit dem Dienstleister ein Service Levelnoch kein QFE verfügbar, ist ein Fehlerbe- so erst dann richtig testen kann, wenn Agreement vereinbart werden, wie schnellricht an Microsoft mit einer Anleitung zur Hardware, Peripherie, BSP und Applikatio- er nach der Meldung eines Fehlers mit des-Reproduktion durchaus sinnvoll, um eine nen verfügbar sind, also auf Systemebene. sen Behebung beginnt oder wie schnell erFehlerbehebung zu erreichen. Dementsprechend könnte ein Dienstleis- Unterstützung anbietet, wenn der Auftrag- Für viele PUBLIC-Komponenten ist der ter davon ausgehen – und tut es mitunter geber mit dem BSP des Dienstleisters nichtQuellcode vorhanden, sodass der Entwick- auch –, dass hauptsächlich der Auftragge- zurechtkommt. Eine solche Vereinbarungler selbst den Fehler beheben kann. Dazu ber testet, weil ja ohnehin nur bei ihm alle muss der Dienstleister natürlich in seinerist die Komponente zunächst unter dem Komponenten verfügbar sind. Kalkulation berücksichtigen, ist damit aberVerzeichnis PLATFORM als Kopie anzule- Der Auftraggeber sollte Einblick in die allemal günstiger als ein blockiertes Teamgen. In der „geklonten“ Komponente lässt Tests des Dienstleisters erhalten. Zum ei- oder stillstehende Produktionsbänder.sich dann der Fehler ohne Gefahr von Kon- nen ist dies wichtig, um die Qualitätssiche-flikten ausbügeln, wenn später neue QFEs rung zu überwachen. Zum anderen kann Resümeeunter PUBLIC eingespielt werden. der Review der Tests des Dienstleisters Beim Entwickeln eines Geräts mit Win- Dieser Weg funktioniert allerdings nicht, Missverständnisse bei der Schnittstellen- dows Embedded Compact sind eine ange-wenn die fehlerhafte Datei nicht zu einer vereinbarung aufdecken. Die Tests des messene Qualitätssicherung und eine klareKomponente gehört – das betrifft zum Bei- Dienstleisters können zudem als Grundla- Aufgabenverteilung essentiell für den Er-spiel die Build-Skripte unter PUBLIC – oder ge für eigene Tests dienen. folg des Projekts. Dazu muss klar sein, wel-wenn die Komponente nicht kopierbar ist. Die Erfahrung zeigt, dass eine BSP-An- che Softwarekomponenten in unterschied-Dann führt nichts an einer Änderung di- passung meist in wesentlich mehr Versio- lichen Reifegraden in das Endprodukt ein-rekt im PUBLIC-Verzeichnis vorbei. nen als ursprünglich geplant erfolgt, sodass gehen. Entsprechend ist eine Teststrategie Bei Fehlerbehebungen unter PUBLIC, sei sich auch hier der Aufwand für die Automa- gemäß dem aktuellen Stand der Technik zues per QFE oder durch eigene Änderungen, tisierung der BSP-Tests schnell amortisiert. entwickeln, basierend auf dem Konzeptmuss sichergestellt sein, dass die Korrektur Dazu eignet sich beispielsweise das schon der Pyramide. Tests sollten auf allen Ebe-alle Arbeitsplätze im Unternehmen mit ei- genannte TUX-Framework von Microsoft. nen der Testpyramide automatisiert wer-ner Platform-Builder-Installation erreicht. Findet der Auftraggeber einen Fehler im den, auf Integrations- und Systemtest-Ebe-Nicht allein zu diesem Zweck empfiehlt es BSP empfiehlt es sich, den Bug mithilfe ei- , ne und mithilfe von entsprechenden Test-sich, den gesamten WINCEx00-Dateibaum nes kleinen Testfalls dem Dienstleister zu systemen, welche die Peripherie simulie-(das Wurzelverzeichnis einer Platform- demonstrieren und um Behebung zu bit- ren. Finden diese Punkte Beachtung, soBuilder-Installation) inklusive des PUBLIC- ten. Dieser Testfall kann dann auch gleich sollte es kein Problem sein, die Leistungs-Verzeichnisses trotz der beachtlichen Grö- in die – mittlerweile hoffentlich große – fähigkeit von Windows Embedded Com-ße von mehreren Gigabyte unter Versions- Suite von BSP-Regressionstests aufgenom- pact in den Produkten auszureizen und sieverwaltung zu stellen. Meist schreckt dieser men werden. im geplanten Zeit- und Budgetrahmen aufSchritt zunächst ab, die Erfahrung hat je- Dienstleister, die BSPs erstellen, nehmen den Markt zu bringen. [jp]doch gezeigt, dass die Vorteile langfristig al- oft ganz natürlich an, dass sich der Auftrag-le Unannehmlichkeiten aufwiegen. geber selbst um das OS-Design kümmert, [1] Windows Embedded, Ein Teil des Codes ist noch im PRIVATE- weil dazu die genaue Kenntnis nötig ist, was www.dotnetpro.de/SL1201Embedded1Verzeichnis zu finden. Zwar wären die die Applikationen von Windows Embedded [2] Windows Embedded, Monthly Updates formeisten Komponenten dort übersetzbar, Compact benötigen. Technisch gesehen ist Compact 7 - What’s New,prinzipiell dient der Code jedoch nur zum es gar nicht falsch, dass das Erstellen des www.dotnetpro.de/SL1201Embedded2Verständnis und zum Debugging. Ände- OS-Designs beim Auftraggeber stattfindet, [3] The Tar Pit, Test Automation Pyramid,rungen hier sind unwirksam. dazu muss dieser aber entsprechendes www.dotnetpro.de/SL1201Embedded3 Know-how aufbauen. Im anderen Fall, also [4] Mike Cohn, Succeeding While Agile,Vergabe des BSP an einen wenn sich das Erstellen des OS-Designs Software Development Using Scrum,externen Dienstleister und des Images zum Dienstleister verlagert, ISBN 978-0-321-57936-4Die Erfahrung hat gezeigt, dass es bei der kommt es erfahrungsgemäß regelmäßig zu [5] Wikipedia, PCI eXtensions for Instrumentation,Vergabe des BSP an einen externen Dienst- ungeplanten Extralieferungen des Systems, www.dotnetpro.de/SL1201Embedded476 2. 2012 www.dotnetpro.de