2009-08-06 9 views
7

Ich habe ein sehr altes Projekt in (klassischen) ASP und SQL Server 2000 implementiert. Wegen der Qualität Bedenken habe ich über die Möglichkeit, eine Form der automatisierten Qualität zu implementieren testen. Obwohl die Webseiten ASP sind, ist das Projekt wirklich 85% SQL Server gespeicherte Prozedur, Funktionen, Ansichten und DTS. (Viele Abhängigkeit von DTS) Eine Menge Code-Generierung erfolgt von SQL Server.Unit Testing für VBScript, ASP-Code und SQL Server 2000

In Bezug auf die DTS hoffen wir möglicherweise upgrade the database to SQL Server 2005 - Wenn Unit-Test nicht auf DTS eingerichtet werden kann, was ist mit SSIS?

Ich habe ASPUnit gefunden, aber es scheint nicht mehr gehalten werden ...

Was meine Frage, es ist wirklich eine mehrteilige Frage.

  1. Ist es möglich und praktisch zu Unit Test ASP?
  2. Ist es möglich und praktisch, Unit SQL Server-Objekte zu testen? (Ich habe einige Erfolge auf diesem, aber auch einige Entmutigung gesehen)
  3. Gibt es ein derzeit unterstützt Test Framework, das mit ASP und SQL Server verwendbar ist?
  4. Gibt es alternative Software-Qualitätskontrollmethoden zum Komponententest dieser Codebasis? (Irgendwelche allgemeinen Ratschläge wären auch hilfreich. Danke.)
  5. Außerdem habe ich den ROI über die Implementierung von automatisierten Tests in einem Projekt wie diesem erwogen. Das Projekt ist groß. Ich weiß nicht, wie viel Code, aber Hunderte von Dateien, Tausende (wenn nicht Millionen) von Codezeilen. Angesichts dieser Tatsache lässt gehen zurück auf 1 und 3.

Ich bin wirklich in einer schlechten Situation mit diesem Projekt; jede allgemeine Qualitätskontrolle würde sehr geschätzt werden ...

+0

In diesem Post ändert jemand das Tag 'asp' in' asp-classic', für einen anderen Beitrag hat jemand 'asp-classic' in' asp' geändert. Ich kann nicht gewinnen. :-) –

Antwort

3

Es klingt wie Ihre Probleme sind tatsächlich auf einem höheren Niveau als Unit-Tests. Ich würde argumentieren, dass Ihre Hauptprobleme am besten auf einem Integrationstestniveau gelöst werden.

Da Ihre Seiten größtenteils mit SQL generiert werden, werden ASP-Unit-Tests nur einen kleinen Prozentsatz der Probleme abdecken. Sie können die Endseiten besser mit einem automatisierten Tool wie watin oder ieunit/ testen.

Sie können sich diese in Bezug auf Komponententests vorstellen, aber sie testen wirklich das Endergebnis nach der Integration, anstatt die Ergebnisse kleinerer Funktionen zu testen. Obwohl Sie möglicherweise Änderungen auf niedrigerer Ebene übersehen, umgehen Sie die zugrunde liegenden Designprobleme.

Solange Ihr Endergebnis gleich bleibt, ist es für Ihren Test nicht wichtig, ob der Inhalt des Bereichs aus ASP oder SQL stammt.

+0

Die Frage wird also, ob WatiN mit klassischem ASP arbeitet? Ich sehe keinen Hinweis darauf, es zu sagen. Ich sehe diese Einheit als eine große Möglichkeit. Wir könnten damit einen guten Prozentsatz testen ... –

+0

Oh, und danke für deine Antwort. –

+0

Mit der Unterstützung von Leslie denke ich, dass dies die Antwort ist, die ich brauche. Nochmals vielen Dank. –

1

Sie können sich ajaxed unit tests ansehen. (Die Bibliothek ist immer noch gepflegt)

+0

Könnte eine mögliche Lösung neben den anderen auch sein. Vielen Dank. –

5

WATiN wird gut funktionieren. Es manipuliert den Browser, es ist also egal, in welcher Sprache der Code geschrieben ist, ob der Code gut oder schlecht ist oder ob er für die Testbarkeit ausgelegt ist oder nicht. Es ist Regressionstests, keine Unit-Tests. Aber das ist ein ausgezeichneter Ausgangspunkt.

Sie können Ihr Gerätestudentool der Wahl verwenden: nUnit, mbUnit, MSTest usw.

+0

Vielen Dank für die zusätzlichen Informationen. –

0

Für die SQL-Upgrade selbst (und alle anderen Änderungen an SQL-Code), würde ich einen Blick auf Sql-Unit (habe es nicht verwendet) oder etwas ähnliches Unit-Tests nur auf der Datenbank zu implementieren.

Sie können dies zusammen mit anderen ausgewählten Teststrategien tun.

Beachten Sie die Nachteile des Testens über die Benutzeroberfläche: http://blog.objectmentor.com/articles/2010/01/04/ui-test-automation-tools-are-snake-oil. Verstehen Sie, dass Tests über die Benutzeroberfläche im Allgemeinen fragil sind, wenn Designer Änderungen vornehmen möchten, die für sie in Ordnung sein sollten. Für die strikte Aktualisierung von SQL-Versionen sollten Sie jedoch in Ordnung sein.