Woher wissen Sie, dass Ihr Code funktioniert, wenn Sie keine Tests haben?
Bearbeiten: Die Behauptung, dass Tests nicht beweisen können , dass der Code funktioniert , definiert keinen entscheidenden Begriff, nämlich funktioniert . Was bedeutet es für ein Programm zu arbeiten? Wenn Sie diesen Begriff vage halten, gibt es keine Möglichkeit, zu beweisen oder sicherzustellen, dass ein Programm funktioniert. Je.
Andererseits können Sie Arbeiten als "Verhalten gemäß einer Spezifikation" definieren. Jetzt können Sie nicht nur Tests verwenden, um zu zeigen, dass Code funktioniert, sondern die Tests selbst können als ausführbare Spezifikation des Verhaltens Ihres Codes dienen. Mit anderen Worten, eine gut geschriebene Testsuite definiert, was Arbeit bedeutet.
Diese Denkweise zwingt Sie auch dazu, die Bedeutung eines Fehlers erneut zu untersuchen . Wenn Ihr Code alle Tests besteht, enthält der Code keine Fehler. Wenn sich das System trotzdem nicht so verhält, wie es sollte, ist sein Verhalten nicht richtig spezifiziert. Ich e. Der Fehler befindet sich in der Spezifikation, die durch Tests definiert wurde.
Diese Herangehensweise an die Softwareentwicklung entkoppelt die funktionale Spezifikation eines Systems von seiner Implementierung, was laut jedem Softwareentwicklungsbuch der Welt eine sehr gute Sache ist. Gleichzeitig stellt dieser Ansatz sicher, dass Ihre Implementierung immer der funktionalen Spezifikation entspricht.