2009-05-20 11 views
2

Also haben wir an diesem Punkt viele Monate lang unser aktuelles Projekt täglich aufgebaut. Die Rauchtests, die mit diesem täglichen Build einhergehen, sind jedoch nicht sehr komplex - wir führen einige nUnit-Tests für unsere Hauptklassenbibliothek durch (die zugegebenermaßen keine gute Codeabdeckung bietet), und wir sorgen dafür, dass Dinge kompiliert werden und bauen. Bei der fraglichen Anwendung handelt es sich um eine ASP.NET-Site, die einige Geschäftsobjekte (einschließlich LINQ-to-SQL) verwendet.Wie komplex sollten Rauchversuche sein?

Gibt es komplexere Rauchtests, die wir ausführen sollten, insbesondere auf den ASP.NET-Sites? Wie würden wir einen Rauchtest für eine ASP.NET-Site entwickeln?

Antwort

3

Neben Unit-Tests kann es auch sinnvoll sein, die Site mit einigen Beispieldaten auf einem Staging-Server zu starten. So nah wie möglich leben. Verwenden Sie dann ein HTTP-Traffic-Generierungsskript, um Benutzerdatenverkehr und Sitzungen zu simulieren. Sie können Debug-Protokollierung, Ausnahmen und anderen Testcode auf dem Back-End überwachen. Sie können hier auch Leistungsmessungen vornehmen.

Ähnlich wie eine intensivere, iterative Version des Spiels mit ihm im Browser selbst.

Sie können dies tun, indem Sie Ihre öffentlichen Ressourcen und ihre Eingaben definieren (oder durch Inspektion). Die Skripts können dann versuchen, Validierungsprobleme zu verursachen, seltsame Permutationen des Site-Flusses und andere Dinge, die den gesamten Kontext der Site in einer Live-Umgebung testen.

Wenn das Testen nicht abgeschlossen ist ... vom Komponententest bis zum "Spielt es mit echten Daten und Verkehr", dann werden Sie letztendlich herumlaufen wie ein kopfloses Huhn, das Fehler später repariert.

0

Sie sollten keine Rauchtests machen. Kennen Sie die Etymologie dieses Begriffs? Ein "Rauchtest" in der Elektronik ist, wenn Sie den Strom einschalten und sehen, ob Rauch austritt.

Sie sollten umfassendere Komponententests durchführen; genug, um Ihnen eine gute Codeabdeckung zu geben. Das sollten Sie bei jedem Build tun. Sie sollten auch versuchen, eine Bereitstellung durchzuführen und einige "Installationsverifizierungstests" auszuführen.

1

Rauch Tests, von Natur aus, sollte oberflächlich sein: Kompiliert es? Bereitstellen? Wird die Begrüßungsseite geladen? Vielleicht laden Sie eine Testseite, die eine Anfrage an die Datenbank stellt, um zu sehen, dass diese Verbindung auch funktioniert. Das ist es.