Steht euch auch eine Testphase eures Projektes bevor? Hier findest du alles von Vorbereitung über Durchführung bis hin zum Protokoll.
Unsere Mission: Höhenregelung zum laufen, beziehungsweise fliegen bringen.
Da Schlaf und Freizeit im Maturajahr überbewertet wird, hat sich ein Teil des Teams dazu entschieden die Osterferien 2016 sinnvoll zu Nutzen. Wir haben uns getroffen, 4 Tage lang getestet und nach Bugs in der Firmware des Hexacopters gesucht.In den 4 Tagen ist viel passiert. Wir haben alle am selben Ort übernachtet und konnten somit den vollen Tag zum Testen und Mission erfüllen ausnutzen.

Das Resumee kommt bei uns am Anfang

Der Plan für die Testphase wurde im 10. KaTeCo, bei unserem Sponsor OFI, erstellt und bei der Easter Testing Session in den Osterferien 2016 verwendet. Durch ihn wurde ein Überblick über die zu testenden Funktionen und die Ziele beim Testen geschaffen.

Definition „Testen“

  • Debugging: für einzelne Codeteile: Überprüfen des Programmcodes unter schrittweiser oder abschnittsweiser Kontrolle und ggf. Modifikation des Entwicklers.
  • Modultest, Unittest oder Komponententest: Testen kleinst-möglicher testbarer Funktionalitäten isoliert von anderen; gilt auch als eine Teststufe.
  • Integrationstest: Test der Funktionalität bei der Zusammenarbeit voneinander unabhängiger Komponenten; wird auch Interoperabilitätstest genannt; gilt auch als eine Teststufe.Systemtest: Teststufe mit Tests über das gesamte System.
  • Schnittstellentest: Testen ob die Schnittstellen zwischen sich gegenseitig aufrufenden Komponenten korrekt (d. h. insbesondere bzgl. der möglichen Parameter-Kombinationen) implementiert sind; meist gem. der Spezifikation, beispielsweise mit Hilfe von Mock-Objekten.
  • Batchtest / Dialogtest: werden Tests von Stapelprogrammen bzw. Tests für Dialogprogramme genannt.
  • Web-Test: Test von Internet- oder Intranet-Funktionen; auch Browsertest genannt.
  • Hardwaretest: Testen konkreter, Hardwarekomponenten betreffender Last- und anderer Kriterien – wie Netzlast, Zugriffszeit, Parallelspeichertechniken etc.

– Wikipedia de.wikipedia.org/wiki/Softwaretest 12.04.2017

Vorbereitung der Testphase

Zur Übersicht wurde für die Testphase ebenfalls ein Projektmanagementplan erstellt. Er enthält einerseits die Funktionen, die getestet werden müssen und andererseits den Ablauf beziehungsweise das Ziel des Tests. Die einzelnen Elemente wurden mittels Brainstorming bestimmt. Jeder hatte 10 Minuten Zeit, seine zu testenden Funktionen aufzuschreiben. Danach gab es eine weitere Phase, in der definiert wurde wie der Test aussieht. Jede Funktion und jeder dazupassende Ablauf bekommt ein eigenes Post-It, das mit Anfangsbuchstaben des Vornamens versehen und durchnummerriert ist. Schlussendlich präsentiert jedes Teammitglied sein Ergebnis.

Dafür bennötigt ihr:

  • 1 Flipchart
  • Post-Its
  • Flipchartmarker
  • Projektziele

Unser Ergebnis sieht wie folgt aus:

Projektmanagementplan für die Testphase
Projektmanagementplan für die Testphase

Um Ideen für die zu testenden Funktionen zu bekommen, ist es sinnvoll, sich seine Projektziele und den Projektstrukturplan vor Augen zu halten.

Entwicklertagebuch der Testphase

Die Höhenregelung, mit Beschriftung L1 (Lucas 1), hatte priorität, weswegen wir uns gleich auf sie gestürmt haben. Der Hexacopter wollte zunächst aber nicht abheben, was wir mit dem Ultraschallsensor in Verbindung gebracht haben.

Verbindung zwischen Laptop und Hexacopter

Um das Problem zu analysieren mussten wir erst einmal eine Verbindung zwischen Hexacopter und Laptop aufbauen. Wir konnten somit die Daten des Ultraschallsensors einfach auslesen. Es hat leider ziemlich lange gedauert, bis wir auf das eigentliche Problem gestoßen sind. Zwischenzeitlich gab es Gedanken ans Aufgeben, weswegen zur Ablenkung der LC-Display mit dem Microcontroller verbunden wurde Er wurde so programmiert, dass er zum Beispiel “Guten Appetit Hovi” ausgeben konnte.

LCD um Gästen "Guten Appetit" zu wünschen und Fehlermeldungen auszugeben
LC-Display

Das Problem mit dem Ultraschallsensor, war nicht die Firmware, sondern der Ultraschallsensor selbst. Durch die Vibration der Rotoren des Hexacopters wurde der Ultraschallsensor so stark gestört, dass er keine vernünftigen Werte messen konnte. Das Problem wurde mit dämpfung der Platine und aufhängen des Ultraschallsensors minimiert. Statt fest mit der Ultraschall-vorrichtung verbunden zu sein, wurde er mit Schnüren am Hexacopter befestigt.

Kurz vorm ersten Flugversuch

Ab diesem Zeitpunkt wurden Bugs in der Software gesucht, da der Hexacopter zunächst wie ein Känguru auf und ab gesprungen ist, also stark beschleunigt hat und ab einer gewissen Höhe die Motoren abgeschalten hat.

Die Freude war groß, als der Hexacopter endlich in der Luft war und seine Höhe halbwegs halten konnte, die nächsten Schritte sind nun Filter zu programmieren und den Regler anzupassen, um einen ruhigen Flug zu gewährleisten.

Protokoll

Was bei uns verloren gegangen ist, war die Protokollierung der Testergebnisse. Eine Vorlage, die folgende Punkte enthält, wurde allerdings zuvor erstellt: Testfall, Testart, SOLL, IST.

Testphase „Easter Testing Session“

Teilen


Author: Hovi


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.