Zum Inhalt springen

Just about .Net

It's just a blog about .Net…

Archiv

Kategorie: DotNetGerman Bloggers

Gestern war ich bei Agile Saxony und habe über die unterschiedlichen Schulen des TDD gesprochen und wie sie sich auf unsere Arbeitsweise auswirken. Für mich besonders interessant war dabei die Diskussion am Ende meines Vortrages. Denn anscheinend war meine Vortragsweise etwas negativ konnotiert, wodurch ich eher skeptisch als überzeugt gewirkt haben muss. Ich war sehr übernächtigt, daher entschuldigung an dieser Stelle, wenn der Vortrag nicht die sonst übliche Qualität hatte. Continue reading “Qualität, aber bitte agil!” »

Ich mag Specflow und ich finde es toll, dass gleich eine handvoll von Dateitemplates mit installiert werden. Aber es nervt nach einiger Zeit dann doch, dort immer das Taschenrechnerbeispiel vorzufinden. Aus diesem Grund habe ich meine Templates angepasst und stelle sie hier zur Verfügung.

Continue reading “Specflow: Leere Item Templates” »

Ich gebe gern zu, dass ich mich am Anfang eher schwer mit TDD getan habe. Der Grund dafür war, dass die Lehren die ich aus Büchern und Dojos zog, so gar nicht in meinen Entwickleralltag passen wollten. Kleine Umsetzungsschritte die nicht selten durch sinnlos scheinende Zwischenaktionen geprägt waren, haben mich fast zur Weißglut getrieben. Wenn ich dann TDD anwendete verzichtete ich also auf diese Schritte und fand mich nach einiger Zeit wiederum damit konfrontiert, dass meine Tests viel zu komplex wurden und die angeblichen Vorteile von TDD praktisch nicht präsent waren.

Continue reading “„Ausprägungen des TDD“ aka „Die Triangulations-Baby-Step-Holzkeule“” »

„Agilität, Agilität, Agilität.“ So rauscht(e) es durch die Softwareentwicklungslandschaft. Jeder der nicht wenigstens iterativ arbeitet ist uncool, ewig gestrig, arbeitet fernab jeder Realität und wird auf Dauer einen langen und qualvollen Tot in der Change-Request-Refaktorisierungs-Bug-Ping-Pong-Hölle sterben. Na gut, letzteres passiert meiner Erfahrung nach eher denjenigen die sich all zu unvorsichtig auf die Agilität eingelassen haben ohne ihre tatsächlich gelebten Vorgehen einmal in Frage zu stellen.

Die Verschmelzung zweier Welten hat immer zur Folge, dass Teile dieser zwei in die Neue übergehen und das ist völlig richtig so. Dumm nur, wenn Dinge konvergieren die eigentlich besser nicht kombiniert werden sollten. Dann wird aus dem Elysion sehr schnell der Tataros. Genau das passiert meiner Meinung nach wenn sich die Qualitätssicherung nicht daran anpasst, dass Requirements verändert werden. Denn so viel hat das Mantra der Agilität erreicht: In den Köpfen ist angekommen, dass es besser ist auf Veränderung zu reagieren als einem strikten Plan zu folgen. Im Umkehrschluss also: Alles bleibt anders!

Continue reading “Agilität, Qualität & andere Missverständnisse…” »

Da ich nächste Woche als Sprecher auf der Developer Week unterwegs bin, möchte ich an dieser Stelle auch ein wenig die Werbetrommel rühren. Denn die Veranstalter bieten dieses  Jahr etwas Besonderes an. Für alle die nicht dabei sein können, gibt es 15 Sessions kostenlos als Live Stream! Einer davon ist mein eigener. Wer also Lust hat sich von mir die diversen MVVM, sowie Composite Application Frameworks vergleich zu lassen und etwas mehr über die dahinter liegenden Pattern zu erfahren, sei am 25. Juni von 10.30 bis 11.30 Uhr herzlich eingeladen.

Zur Anmeldung geht es hier lang: http://www.developer-week.de/Anmeldung/Livestream

Da Requirements die Grundlage der Entwicklung und somit auch der Kommunikation mit dem Kunden und innerhalb des Teams sind, lohnt es sich in einigen Fällen diese in der Muttersprache des Kunden zu verfassen um Missverständnissen vorzubeugen. Gherkin bzw. Specflow unterstützen dies in dem die Feature Dateien in über 40 unterschiedlichen Sprachen erstellt werden können. Dazu gehört, wer hätte es gedacht, auch Deutsch.

Um dieses Feature einzuschalten ist auch nicht sonderlich viel Arbeit notwendig. Tatsächlich muss nur eine App.Config im entsprechenden Projekt hinterlegt werden die folgenden Inhalt hat.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <configSections>
      <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
   </configSections>
   <specFlow>
      <language feature="de-DE" />
   </specFlow>
</configuration>

Die eigentliche Magie passiert durch das „language“ Element dem über Feature das Kürzel der zu verwendenden Kultur anzugeben ist. Darüber hinaus gibt es noch ein Attribut „tool“ mit dem es theoretisch möglich sein soll auch die Fehlerausschriften, und damit zum Beispiel die Beschreibungen über nicht implementierte Features, zu übersetzen. Praktisch ist dies aber aktuell nicht möglich, da nur Englisch unterstützt wird.

Nachdem die App.config gespeichert wurde, schaltet Specflow sofort in die neue Sprache und funktioniert wie gewohnt, einschließlich Autovervollständigung.

Specflow auf deutsch

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…” »

Nun ist er vorbei, der Developer Openspace 2012 und hat mal wieder einen bleibenden Eindruck in meinem Langzeitgedächtnis hinterlassen. Dies fing schon mit dem interessanten und lehrreichen Workshop zu Windows Azure an. Danke an der Stelle an Sascha Dittmann für die (kostenlos) dargebotenen Informationen und die spätere Session zu Azure Service Bus.

Damit sind wir auch schon beim Thema, denn ich bin erneut überrascht mit welcher Qualität an Workshops und Sessions hier aufgewartet wurde. Alle Leute waren hoch motiviert, begeistert bei der Sache und nicht zögerlich Wissen aufzusaugen oder zu verbreiten, selbst wenn es um Themen ging die Entwickler laut Stereotyp nur peripher interessieren.

Continue reading “Developer Openspace 2012 – Erneut ein Erlebnis” »

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” »