Zum Inhalt springen

Just about .Net

It's just a blog about .Net…

Archiv

Kategorie: Visual Studio

Jedes Blog, in dem gelegentlich über Tests geschrieben wird und welches etwas auf sich hält, muss mindestens einmal etwas über das Testen von privaten Klassenmembern schreiben. Zugegeben in einem anderen Post habe ich bereits gezeigt wie das geht, nun habe ich aber endlich ein Praxisbeispiel an dem sich sehr gut zeigen lässt wann man evtl. einen anderen, sichereren Weg gehen sollte.

Entwickelt man seinen Code tatsächlich mit TDD, sollte sich die Frage nach dem Test von privaten Membern eigentlich kaum stellen. Dadurch dass nur Code geschrieben wird, der auch durch Tests abgesichert ist sollten sich in jedem Fall genügend Vorbedingungen ergeben um auch jede private Methode irgendwie durch die öffentlichen Schnittstellen zu prüfen.

Continue reading “Privates testen in dem es public wird…” »

Automatisiertes Testen mit Visual Studio 2012_kleinAnfang letzter Woche hat mein Video Training zur Testautomatisierung mit Visual Studio 2012, welches ich Ende letzten Jahres bei Video2Brain aufgenommen habe, endlich das Licht der Welt erblickt. Der Name des Trainings ist dabei Programm. Mir geht es nicht darum zu beschreiben wie Unit Tests oder sogar TDD mit Visual Studio realisiert werden können, sondern wie Tests generell automatisiert werden.

Ich mache diese Trennung, da aus meiner Sicht Visual Studio einen etwas schlechten Ruf im Bereich der Unit Tests hat, über diese hinaus aber noch wesentlich mehr Möglichkeiten bietet, die gern vergessen werden. Welche das im Einzelnen sind kann man der Beschreibung des Trainings entnehmen. Denn darin beschreibe ich mehr als die Hälfte der Zeit Themen wie Lasttests, Coded UI Tests oder Webleistungs Tests.

Ich mache in dem Training also keine direkte Unterscheidung zwischen Testern und Entwicklern, was auch der Grund ist warum ich im kurzen Theorieteil vor allem auf Beschreibungen aus dem Buch „Basiswissen Softwaretest“ von Andreas Spillner und Tilo Linz, statt auf die Definition einschlägiger englischsprachiger Autoren zurückgegriffen habe. Für mich ist Testautomatisierung ein generelles Thema mit dem ein Team sich insgesamt viel Arbeit ersparen kann und sollte nicht mit der Erstellung von Unit Tests enden.

Ich hoffe also, dass das Training nützlich ist und manchem vielleicht sogar den Weg zu test getriebenen Entwicklung ebnet, denn wo ein Test ist, da folgen sicher noch mehr…

Hallo, ist da noch wer? Gibt es tatsächlich Leute die auf dieses Blog finden? Laut Google schon… Ein wenig wundert mich das ja schon, war ich doch seit Oktober scheinbar ein wenig faul und davor auch nicht gerade auf das Ziel dieses Blogs fixiert.

Auch dieses Post wird daran nichts ändern. Soll, aber zunächst auf ein paar Dinge in eigener Sache hinweisen. Denn so faul wie es den Anschein hat war ich gar nicht. Continue reading “Just About - Hendrik Lösch” »

Specflow und Gherkin sind sehr praktisch wenn es darum geht Tests zu verfassen und anschließend zu automatisieren. Dabei werden Tests klarsprachlich mit Gherkin formuliert und anschließend von Specflow in automatische Tests übertragen. Leider gibt es hier aber ein „kleines“ Problem bei der Zusammenarbeit mit den Coded UI Tests von Visual Studio. Diese verwenden, im Gegensatz zum sonst üblichen TestClass-Attribut, das Attribut CodedUITest.

Da Specflow für jede Feature Datei aber nur das TestClass Attribut verwendet, müssen wir nur also Hand anlegen und den Code Generator ein wenig erweitern. Wie man genau vorgeht ist bereits bei GitHub beschrieben, wo ich auch den Code für Version 1.9 nachgetragen habe. Ich würde das Vorgehen dennoch hier ein wenig ausführlicher beschreiben, damit es auch in Deutsch verfügbar ist.

Continue reading “Specflow 1.9 mit Coded UI Tests verheiraten” »

Testautomatisierung läuft uns meist eher auf Ebene der Unit Tests über den Weg. Sie kann aber auch bei System Tests recht praktisch sein. Ein Tool was uns WPF, Silverlight und Windows Forms Entwicklern dabei hilft, ist White. Bei diesem handelt es sich um ein Framework mit dem man Applikationen steuern und Steuerelemente innerhalb dieser Programme identifizieren kann, wodurch es möglich wird bestimmte Use Cases nachzustellen und deren Ergebnisse auf ihre Korrektheit zu prüfen. Dieses kann im Grunde mit jedem beliebigen Testframework verwendet werden und greift auf die UIAutomation API zurück die zum Beispiel auch von den Coded UI Tests des Studios genutzt wird.

Continue reading “How-To: Automatisierte UI Tests mit White” »

Ich finde es immer äußerst unbefriedigend wenn ich eine gute Präsentation vollgestopft mit Rhetorik und Wissen sehe, aber drei Tage später kaum noch die wichtigsten darin genannten Infos aufzählen kann.

Deshalb hier der Vortrag von der DDC noch einmal in Form eines detailierten Handouts, dem man auch Informationen entnehmen können sollte wenn man nicht dabei war.
Continue reading “Handouts zu „MS Test der missverstandene Stiefbruder“” »

Zwei Tage DDC liegen hinter mir. Übermüdet und voller neuer Eindrücke sitze ich nun in einem Regionalexpress nach Dresden der hoffentlich auch irgendwann einmal ankommt, vielen Dank Deutsche Bahn für die bescheidene Anbindung.

Gefühlte 95% der Zeit war ich dabei als üblicher Teilnehmer unterwegs. Die einzigen Unterscheidungsmerkmale gegenüber der Allgemeinheit waren das rote Bändchen am Namensschild und der große Aufdruck „Speaker“ auf meinem Poloshirt. Die Insignien der Konferenzelite wenn man so will, welche schnellere Kontaktaufnahme und einige detailliertere Einblicke in die Organisation garantierten.

Continue reading “Dotnet Developers Conference 2012 – Eine subjektive Zusammenfassung” »

Einer der viel gesprochenen Leitsätze des Testens ist: „Finger weg von privaten Membern“. Der Gedanke hinter dieser Aussage ist einleuchtend, denn je mehr Aussagen ich in einem Test über die Implementierung mache, desto höher die Wahscheinlichkeit, dass ich ihn später anpassen muss oder er fehl schlägt.

Nichts desto trotz, kann man sich durch den Zugriff auf private Member gelegentlich viel Arbeit sparen wenn es darum geht einen Test aufzusetzen und außerdem hilft es manchmal sogar beim Aufspüren von Bugs. Weiterhin ist es teils unumgänglich auch Dinge zu testen die als internal gekennzeichnet sind und demnach theoretisch nicht vom Testprojekt identifiziert werden könnten. Continue reading “How-To: Private und internal testen mit MS Test” »

In einem früheren Post hatte ich einmal beschrieben wie Data-Driven-Tests mit NUnit umgesetzt werden können. Damals habe ich bereits darauf hingewiesen, dass so etwas theoretisch auch mit MS Test und dem Visual Studio möglich ist, was ich nun erläutern möchte.

Continue reading “How-To: Datengetriebene Tests mit MS Test” »

Im Gegensatz zu beispielsweise NUnit, werden Tests bei MS Test nicht einfach im Bin-Verzeichnis des entsprechenden Projekts ausgeführt. Microsoft sieht, oder sah wenn man so will,  die Infrastruktur für Tests im Visual Studio (bis 2010) nicht nur auf Unit Tests, sondern die gesamte Testpyramide bezogen. Dies bezieht also System- und Integrationstests mit ein, welche andere Anforderungen an die Umgebung haben in der sie laufen.

Während es also beim Unit Test vorallem auf die schnelle und einfache Ausführung ankommt, ist in höheren Ebenen mehr auf eine detailierte und nachvollziebare Dokumentation der Ergebnisse zu achten. Letztendlich sollen diese ja von unterschiedlichen Personen einsehbar und je nach Art des Projekts noch nach Wochen bewertet werden können. Leider behindert der Umstand dieser Bandbreite an Einsatzmöglichkeiten den geneigten Entwickler gelegentlich wenn er tatsächlich „nur“ Unit Tests schreiben will.

Continue reading “MS Test: In und Out - Warum einfach wenn es auch kompliziert geht?” »