Frage

Ich bin auf ein gedrucktes Exemplar gestoßen Artikel von Bertrand Meyer Dort gibt er an, dass Tests aus Spezifikationen generiert werden können.Mein Entwicklungsteam macht nichts dergleichen, aber es scheint eine gute Technik zu sein, die man in Betracht ziehen sollte.Wie generieren Sie Tests aus Spezifikationen?Wie würden Sie den Erfolg beschreiben, den Sie mit dieser Methode bei der Entdeckung von Programmfehlern haben?

War es hilfreich?

Lösung

Es gibt viele Möglichkeiten, dies zu tun, von dem, was ich als „Kunstform“ bezeichnen würde (und nicht unbedingt als gute Kunst), bis hin zu mathematisch abgeleiteten Tests aus formalen Spezifikationen.Am Ende des Tages muss Ihr Entwicklungsteam basierend auf dem Zeitplan, mit dem es arbeitet, entscheiden, was es tun kann.Dennoch ist es eine gute Sache, Software anhand von Spezifikationen testen zu können.

Nur Ihr Team kann die „Tiefe“ Ihrer Tests einschätzen, und das hängt wahrscheinlich davon ab, wie gut Ihre Spezifikationen sind.Wenn sie etwas sagen wie: „Die Anmelde-Benutzeroberfläche muss eine Abbrechen-Schaltfläche und eine Anmelde-Schaltfläche bieten und sie müssen funktionieren“, werden Ihre Tests ziemlich allgemein sein.Aber denken Sie daran: Auch sehr allgemeine Tests sind eine gute Sache.Testen ist eine gute Sache.Zu viele Entwickler haben eine schlechte Einstellung, wenn es ums Testen geht, aber am Ende liefern Sie Software aus, die funktionieren sollte, und das bedeutet mir sehr viel.

Die Wirksamkeit Ihrer Tests bei der Suche nach Programmfehlern hängt von der Detailliertheit ab, die Sie in sie einfließen lassen.Das Besondere daran, Testprozeduren nach Spezifikationen zu schreiben, ist, dass Sie jeden Build mit der gleichen Detailgenauigkeit wie den vorherigen Build testen können (normalerweise als Regressionstest bezeichnet).

Andere Tipps

Dies könnte ein Hinweis auf sein RSpec, was eine wirklich clevere Möglichkeit ist, Tests als eine Reihe von Anforderungen zu entwickeln.Ich gewöhne mich immer noch daran, aber es war sehr praktisch, sowohl um zu definieren, was ich tun muss, als auch um sicherzustellen, dass ich es tue.

@Tim Sullivan von Bertrand Meyer, es kann nur mit Eiffel zusammenhängen :)

Ich glaube, er redet davon ESpec.Angesichts des Namens RSpec von Ruby Folk denke ich, dass wir ihnen die Bezeichnung „stark inspiriert“ geben können.

Ich würde sagen, es hängt von Ihren Spezifikationen ab.Ich habe noch nirgendwo gearbeitet, wo die Spezifikationen gut genug waren, um vollständige Unit-Tests aus den Spezifikationen zu erstellen – der Detaillierungsgrad war einfach nicht vorhanden.Meine Vorgesetzten sagten uns immer, dass sie die Spezifikationen einfach nach Indien verschicken und günstig codieren lassen könnten, wenn wir diese Spezifikation erreichen würden ;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top