Ich habe eine Android-Anwendung geschrieben. Die Anwendung erfordert eine Bluetooth-Verbindung zu einer bestimmten Hardware, die derzeit ein Prototyp ist. Die einzige Möglichkeit, die App derzeit zu testen, besteht darin, Hunderte von Kilometern zu fahren, um zu sehen, ob sie funktioniert. Wenn ich mit einer ANR ende, kann es vor meinem Kunden sehr peinlich sein. Der Verbindungstyp und die Mechanik dieser App sind sehr eng auf diese Hardware zugeschnitten. Es ist mir nicht gestattet, einen Laptop mitzubringen, mein Telefon zu rooten oder eine Verbindung zu einem anderen Gerät auf dem Gelände herzustellen.
Gibt es eine Möglichkeit, diese Anwendung zu Hause zu testen oder die Aktivitäten zu durchlaufen, um sicherzustellen, dass ich bei der zweiten Aktivität keine weitere ANR habe, während der Kunde mich entsetzt ansieht?
Ich sollte darauf hinweisen, dass ich kein erfahrener Programmierer bin, und dies ist eine neue Idee, bei der ich jemandem helfe, da die Einstellung von Mitarbeitern derzeit nicht in Frage kommt. Daher fehlen mir zweifellos einige der grundlegenden Konzepte, um dies zu entwickeln.
Antworten:
Wie von @ MrSmith42 vorgeschlagen, sollten Sie das Beste tun, um die Benutzeroberfläche zu verspotten. Sie benötigen keine Bluetooth-Verbindung, um sich darüber lustig zu machen. Rufen Sie eine Schnittstelle auf. Diese Schnittstelle sendet beim Debuggen das, was Sie für eine bestimmte Eingabe erwarten würden. Wenn es nicht im Debugging ist, führt es die eigentliche Arbeit des Sendens und Empfangens der Daten aus. Sie stellen sicher, dass das, was Sie an die Schnittstelle senden und wie Sie mit der Ausgabe umgehen, funktioniert. Streuen Sie ein großzügiges Stück Fehlerbehandlung, verwalten Sie Fehler, die Sie verwalten und protokollieren können, und Sie haben selbst etwas, das Sie direkt beim Client testen können.
Die einzige Möglichkeit für Fehler zu diesem Zeitpunkt besteht in dem Unterschied zwischen der erwarteten Handhabung des Geräts und seinem tatsächlichen Verhalten. Nach meiner Erfahrung ist Hardware niemals vollständig zuverlässig. Stellen Sie also sicher, dass Sie einen umfassenden Mechanismus zur Fehlerbehandlung für etwas haben, von dem Sie nicht erwarten, dass es zumindest eine Art Protokoll ausgibt.
quelle
Ich denke, dies ist ein Problem des Projektmanagements, nicht so sehr ein Problem der Softwareentwicklung.
Sie sollten ein oder zwei Wochen Zeit haben, um auf das Gerät zuzugreifen (bei Ihrem Kunden oder in Ihrem Büro), um das grundlegende Verhalten des Geräts zu bewerten und festzustellen, wie es mit Ihrer Software interagiert. Anschließend können Sie die Benutzeroberfläche verspotten und die Funktionalität zu Hause und erneut eine Woche lang Integrationstests entwickeln.
Wenn Sie mit Hardware interagieren, sind der Bedarf und der Wert von Integrationstests nicht zu unterschätzen. Wenn Integrationstests nicht möglich sind, schlägt Ihr Projekt fehl. Das blinde Programmieren in Richtung einer Hardware, die Sie nicht testen können, funktioniert nicht.
Sie müssen dieses Problem mit Ihrem Kunden besprechen.
quelle