Ich arbeite an einem kleinen Spaß Projekte, die einen Roboter baut. Wir als Programmierer arbeiten parallel zu den Menschen, die den Roboter bauen. Es ist sehr oft der Fall, dass wir versuchen, geänderte Software auszuführen und die Erbauer die Hardware geändert haben. Wenn die Softwaretests nicht ausgeführt werden, ist es immer schwierig, herauszufinden, ob die Software oder die Hardware ausfällt oder, noch schlimmer, wenn die Integration fehlschlägt. Es gibt einige harte Teile mit einem automatischen Test für diese Probleme.Wie Integration/Unit Test Software Hardware-Schnittstellen
Wir haben einige Wege gefunden, die Dinge aufzulösen, also haben wir RC-Kontrolle, um den Roboter einige Bewegungen ohne Software durchgehen zu lassen, um sicherzustellen, dass er immer noch funktioniert. Dann starten wir einige Softwaretests, die den Roboter dazu bringen, einige definierte Zahlen zu machen, um zu zeigen, dass sich die Software auf die gleiche Weise verhält wie zuvor. Aber das kommt immer auf eine sehr zeitraubende Aufgabe an, weil Sie es nicht automatisieren können und jemand den Test beginnen muss, den Test beobachten und versuchen muss, herauszufinden, ob der Roboter getan hat, was er tun sollte.
Ein anderes Problem ist, dass das ständige Testen mit unserer realen Hardware Teile unserer Hardware, Gelenke, Motoren, Zahnräder und so weiter verschleißt.
Aber das Testen hat nicht so viel Ärger verursacht und kostet so viel Zeit, dass ich gerne wissen würde, welche Art von Techniken in anderen Projekten verwendet werden, die sich mit Hardware-Software-Interaktionen befassen und ob es Werkzeuge gibt verwendet werden.