Qualitätssicherung MapTrip GPS-Navigation
Die MapTrip-Navigationssoftware wurde 2005 erstmals vorgestellt. Seitdem hat sie ihre hohe Qualität in Hunderttausenden von Geräten bewiesen, von Verbraucherprodukten über Speditionsfahrzeuge bis hin zu Polizei- und Feuerwehrfahrzeugen.
Professionelle Software auf die Sie sich verlassen können
MapTrip wurde von Anfang an für den Einsatz in einem professionenellen Umfeld konzipiert. Anders als im Consumer-Bereich ist eine Navigationssoftware im professionellen Umfeld nicht nur ein Nice-to-have-Gadget, sondern ein unverzichtbares, unternehmenskritisches Werkzeug. Die Navigationssoftware muss daher absolut zuverlässig sein. Das ist die Herausforderung, der sich MapTrip von Anfang an gestellt hat.
Unsere Navigationssoftware wird von den Kunden auf einer Vielzahl von Hardware-Geräten eingesetzt. MapTrip muss auf jeder Hardware laufen, von sehr preiswerten Geräten mit sehr begrenzten Hardwareressourcen über robuste professionelle Hardware bis hin zu High-End-Smartphones. Meistens läuft MapTrip nicht allein auf dem Gerät, sondern muss sich die verfügbaren Ressourcen mit einer anderen Anwendung teilen. Normalerweise kommunizieren beide Anwendungen über die Schnittstelle von MapTrip miteinander. Dies führt zu einem weiteren Grad an Komplexität.
Dies ist ein anspruchsvolles Umfeld, indem sich MapTrip seit mehr als einem Jahrzent entwickelt hat. Es ist ein bewährtes Stück professioneller Software, auf das Sie sich verlassen können.
Software-Entwicklungsprozess
Die Qualität von MapTrip ist von vornherein in das System eingebaut. Der Entwicklungsprozess von infoware folgt einem achtstufigen Arbeitsablauf. Er lässt sich wie folgt zusammen fassen:
Die Entwicklung jeder neuen Funktion beginnt mit einem sorgfältigen Planungsprozess. Die gewünschte Funktionalität wird beschrieben und auf mögliche Auswirkungen auf das System, seine Stabilität und Wartbarkeit hin analysiert.
Sobald eine gewünschte neue Funktion spezifiziert ist, muss sie vom Entwicklungsteam bewertet werden. Die Bewertung konzentriert sich unter anderem auf eine Risikobewertung, um die Auswirkungen der Entwicklung auf die Komplexität und Stabilität der Navigationssoftware und der angrenzenden Systeme zu verstehen.
Wenn die Aufgabe dann freigegeben wird, kann die eigentliche Entwicklung beginnen. Jede Nacht wird der Code eines jeden Entwicklers automatisch eingecheckt, gesichert und auf Fehler getestet. Fehler werden so fast sofort erkannt und können am nächsten Morgen behoben werden.
Wenn ein Entwickler seine Aufgabe abgeschlossen hat, wird der neue Code zur Überprüfung durch Kollegen vorgelegt. Nach erfolgreicher Prüfung wird die neue Funktion dann an die Testabteilung weitergeleitet.
Hier wird ein manueller Test durchgeführt, um zu prüfen, ob die angegebene Funktionalität erreicht wurde. Diese Tests werden sowohl in einer simulierten stationären Umgebung als uch unter realre Fahrbedingung durchgeführt.
Eine neu entwickelte Funktion wird erst dann als vollständig gekennzeichent, wenn sie diese Tests bestanden hat.
Automatisierte Tests und Bereitstellung
Während des Entwicklungsprozesses wird der Code jedes Entwicklers in einem nächtlichen Testverfahren, das über 100 Einzeltests umfasst, automatisch überprüft. Fehler können so vom jeweiligen Entwickler sofort erkannt und behoben werden.
Der Entwicklung neuer Features geht immer die Entwicklung der entsprechenden automatisierten Tests voraus. Die Testsuite und deren Abdeckung wächst also mit der Software.
Der Speicherverbrauch der MapTrip Navigationssoftware wird automatisch überprüft. Er ist ein wichtiger Indikator für die Qualität der Software und ihre Stabilität.
Diese Grafik zeigt die Speichernutzung während des Routing-Prozesses und die Zeit, die vergeht, bis die neue Route verfügbar ist.
Eine Kultur der Qualität - Testing Friday
So etwas wie fehlerfreie Software gibt es nicht. Das Beste, was ein Softwareentwickler tun kann, ist, einen Entwicklungsprozess zu befolgen, der die Wahrscheinlichkeit, dass Fehler überhaupt entstehen, minimiert und es einfach macht, sie zu identifizieren und zu beheben und die Qualität des Codes zu erhalten, um ihn zukunftssicher zu machen.
Für unserer MapTrip-Navigationssoftware verwenden wir Jira als Tool der Fehlerverfolgung und zur Verwaltung unserer Entwicklungsaufgaben. Die Liste der Aufgaben wird regelmäßig überprüft und nach Prioritäten geordnet, um die Ressourcen unserer Entwickler zu steuern.
Um in einer geschäftigen Umgebung Platz für solche Aufgaben zu schaffen, haben wir den so genannten "Testing Friday" eingeführt. Bei infoware sind die Freitage für die Verbesserung der Testabdeckung, die Überarbeitung von Teilen der Software - und für die Behebung von Fehlern - reserviert.
Überwachung der Leistung der Software nach der Bereitstellung
Auch nach dem strengen Testverfahren und der Freigabe der Software wird die Leistung ausgewählter MapTrip-Installationen überwacht.
- Genauigkeit der Fahrzeitberechnung
- Leistung des Kartenabgleichs, der zu einer Umleitung führen kann
- Die Menge der übertragenen Daten
Ausgewählte MapTrip-Installationen nutzen Google Firebase, um über Probleme zu berichten, die bei der Software im Feld aufgetreten sind. Diese Ferndiagnosen ermöglichen es uns, potenzielle Probleme zu erkennen, bevor sie zu tatsächlichen Problemen werden.
Tests auf der Straße
Wir bemühen uns zwar ständig, den Abdeckungsgrad unserer automatisierten Tests zu verbessern, aber nichts kann echte Tests auf der Straße ersetzen. GPS-Navigationssoftware ist äußerst komplex. Die zugrunde liegenden Straßenkarten stimmen nicht zu 100 % mit der Realität überein, die GPS-Sensoren weisen immer eine Fehlerspanne auf, die Betriebssysteme ändern sich von Version zu Version, die Hardwaregeräte haben ihren eigenen Kopf und die Mobilfunknetze bieten nicht immer eine optimale Verbindung zu den Servern.
Diese Vielzahl von Umwelteinflüssen kann nicht simuliert werden. Deshalb ist das Fahren auf der Straße ein integraler Bestandteil unserer Prüfroutine. Unser Testfahrzeug ist ein voll funktionsfähiges Büro. Während der Fahrer das Fahrzeug steuert, sitzt der Testingenieur im Fond, folgt vordefinierten Testskripten, dokumentiert die Ergebnisse oder folgt manchmal einer Ahnung, immer mit dem Ziel, die Software an ihre Grenzen zu bringen.