4 Stimmen

Wie man sicherstellt, dass Entwickler ihren Code als Einheit testen

Wie können Sie sicherstellen, dass alle Entwickler in Ihrem Team ihren Code Unit-Tests unterziehen? Code-Coverage-Metriken sind die einzige Möglichkeit, die ich mir vorstellen kann, um dies objektiv zu messen. Gibt es eine andere Möglichkeit?

(Natürlich, wenn Sie wirklich nach TDD dann sollte dies nicht ein Problem sein. Aber nehmen wir mal an, Sie haben einige Entwickler, die TDD noch nicht ganz "verstanden" haben).

1voto

Mark Renouf Punkte 30149

Gehen Sie hinein und ändern Sie eine Zufallsvariable oder übergeben Sie irgendwo eine Null, und Sie sollten erwarten, dass Sie einen Haufen Rot sehen =D

1voto

George Stocker Punkte 56164

Eine Möglichkeit wäre, ein Skript zu schreiben, das alle Checkins nach dem Begriff "test" oder "testfixture" durchsucht (natürlich abhängig von Ihrer Umgebung). Wenn es ein Commit-Protokoll oder eine E-Mail an den Manager gibt, die Details zu den vorgenommenen Änderungen enthält, dann wäre es trivial, mit Ihrer bevorzugten Textverarbeitungssprache die Codedateien nach Anzeichen von Unit-Tests zu durchsuchen (die Assert Schlüsselwort wäre wahrscheinlich die beste Wahl).

Wenn es keine Unit-Tests gibt, dann nehmen Sie bei Ihrer nächsten Code-Überprüfung ein Beispiel eines kürzlich durchgeführten Check-Ins und verbringen Sie zehn Minuten damit, über die Möglichkeiten zu sprechen, wie es "schiefgehen" könnte und wie Unit-Tests den Fehler schneller gefunden hätten.

0voto

Ryan Guill Punkte 13188

Lassen Sie sie regelmäßig einen Bericht oder eine Art Bildschirmfoto der Ergebnisse ihrer Einheitstests einreichen. Sie können dies entweder vortäuschen (was wahrscheinlich mehr Zeit in Anspruch nehmen würde, als die Tests tatsächlich durchzuführen) oder sie tatsächlich durchführen.

Am Ende werden Sie diejenigen kennen, die die Tests nicht durchführen, denn sie sind diejenigen, die die Fehler haben, die mit den Unit-Tests leicht hätten gefunden werden können.

0voto

Abie Punkte 10855

Das Problem ist sowohl ein soziales als auch ein technisches. Wenn Sie Entwickler haben, die TDD noch nicht ganz "kapieren", dann kann es langfristig eine bessere Lösung sein, ihnen zu helfen, die Vorteile von TDD zu verstehen, als technische Maßnahmen, die sie "zwingen", Tests zu schreiben, weil es vorgeschrieben ist. Zurückhaltende Entwickler können leicht Tests schreiben, die die Codeabdeckungskriterien erfüllen und dennoch keine wertvollen Tests sind.

0voto

Steve Rowe Punkte 19335

Eine Sache, die hier erwähnt werden sollte, ist, dass Sie ein System für die regelmäßige Durchführung der Unit-Tests benötigen. Sie sollten Teil Ihres Checkin-Guantlet oder Ihres nächtlichen Build-Systems sein. Die bloße Tatsache, dass die Unit-Tests geschrieben werden, stellt nicht sicher, dass Sie einen Nutzen aus ihnen ziehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X