1

Wir sind ein MSFT Geschäft mit einer weit reichenden MSDN Lizenz.MsTest noob - wie man Testinfrastruktur den richtigen Weg einrichtet

Nachdem wir viele Jahre lang falsch gearbeitet haben, müssen wir endlich mit automatisierten Tests beginnen. Meine Gruppe ist die Meerschweinchen bei diesem. Wir müssen schaffen, was vorher nicht da war. Wir haben uns die Vielzahl der Möglichkeiten angesehen. Einige Leute kommen gut mit Open-Source-Alternativen wie CC.Net, Bamboo, MbUnit, etc. Wir wollen geben MsTest, CodedUI, Team Build einen guten Versuch ... könnte auch wegen MSDN-Lizenzierung und MSFT konzentrieren.

Das Plus und Minus der MSFT-Methode ist, dass MSFT monolithische Dinge macht. Du musst verschiedene Tools installieren, die gut miteinander spielen, aber mit Außenseitern - nicht unbedingt. Das Plus ist, dass wenn alles richtig gemacht wird, alles reibungslos funktionieren sollte. Es gibt die Möglichkeit von Gated Check-Ins, TFS zu verwenden, um die Berichte usw. zu speichern.

Ehrlich gesagt, bin ich durch alle Optionen verwirrt. Unser traditionelles Build-System wurde zusammen mit Perl, Batch-Skripten und ausführbaren Dateien gehackt, aber jetzt wechselte das Build-Team zu Team Build, das sauberer sein sollte, aber größtenteils ist es nur ein Wrapper für denselben alten Perl-Mist .

Ich bin geneigt, Dinge auch zum Testen zu hacken, weil ich zumindest sehen kann, was die Stücke sind. Also stelle ich mir die Version des armen Mannes vor als: * Ein dedizierter schneller Computer, um Tests zu laufen * Irgendein Skript, zum der Erstellungsdateien (Testcode sowie Produktcode) über zu diesem Computer zu kopieren. * Ein Batch/Perl-Skript, das mstest.exe von der Kommandozeile aus ausführen und ein paar Testbatches auf einigen Kategoriefiltern innerhalb einiger Testdlls ausführen würde (das Produkt ist so riesig, dass wir Tests nach verschiedenen Kategorien organisieren wollen) . * Einige Skripte, die das letzte Skript remote vom Build-Server mit psexec.exe aufrufen (http://technet.microsoft.com/en-us/sysinternals/bb897553), sowie die XML-Ausgabe von einem freigegebenen Laufwerk greifen und dann eine E-Mail mit Ergebnissen an diejenigen senden, die interessiert sind.

Das kann wahrscheinlich funktionieren, aber dann muss ich mir Gedanken darüber machen, wie gut die Fehlerbehandlung mit so vielen potentiellen Fehlerquellen funktionieren kann. Es wäre schön, die Dinge auf den "richtigen Weg" zu bringen und die Vorteile von MSFT zu nutzen. Ich bin mir einfach nicht sicher, wo ich mich für einen guten Führer entscheiden soll. Hast du so etwas gemacht?

Schließlich werden wir eine Farm von Testcomputern haben wollen, wenn wir aus der zugeteilten Zeit ausgehen sollen. Etwas anderes ist problematisch - für verschlüsselte ui-Tests, um erfolgreich zu sein, denke ich, dass ein Benutzer eingeloggt sein muss, so dass ich nicht sicher bin, ob psexec hier sehr hilfreich sein wird.

Können Sie Ihre positiven/negativen Erfahrungen teilen, weisen Sie mich vielleicht auf eine gute Anleitung hin? Vielen Dank!

Antwort

1

Hier sind einige Tipps aus der Spitze von meinem Kopf, wenn Sie mit dem Testen mit den MS-Tool beginnen mögen:

Wenn Sie ein MSDN-Abonnement haben, den Test Controller durch die Installation auf Ihrem Netzwerk einen Prüfstand installieren und der Test-Agent-Dienst auf jeder der Maschinen, die Diagnosedaten sammeln werden. Siehe den folgenden Link als Referenz: http://msdn.microsoft.com/en-us/library/dd293551.aspx.

Fügen Sie Ihrer Lösung ein Testprojekt hinzu. Lesen Sie den ersten Teil des folgenden Blogposts: http://blogs.microsoft.co.il/blogs/eranruso/archive/2010/03/27/visual-studio-2010-coded-ui-test-user-guide-create-a-simple-coded-ui-test.aspx.

Automatisierte Testoptionen können über die konfiguriert werden.Testsettings-Datei (en), die beim Hinzufügen eines Testprojekts automatisch hinzugefügt werden (Sie können diese Dateien auch manuell zu Ihrer Lösung hinzufügen).

Installieren Sie Team Foundation Server (2010 empfohlen), damit Sie Ihre Tests täglich automatisieren können. Sie benötigen TFS 2010 auch, wenn Sie das Test Manager-Tool VS2010 verwenden möchten, um Testumgebungen zu definieren und manuelle Tests zu planen (diese können mit CodedUI vollständig automatisiert werden). Passen Sie Ihren neuen automatisierten Build an, um Ihre Anwendung nach dem Build einzurichten/bereitzustellen, und legen Sie den Build fest, um Tests auszuführen. Die Bereitstellung wird wahrscheinlich nicht für Komponententests erforderlich sein, aber sie werden für Web-Performance- und CodedUI-Testtypen verwendet.

Wenn Sie VS Ultimate- oder Test Professional-Lizenzen haben, können Sie auch weiter gehen und virtuelle Testlabors mithilfe der "Lab Management" -Funktionen einrichten.