Zum Inhalt springen

Just about .Net

It's just a blog about .Net…

Archiv

Kategorie: Community

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.

weiter lesen…

Gruppierte Ergebnisansicht

Es ist immer wieder interessant mit Gleichgesinnten zu fachsimpeln oder einfach mal nur des Wissensgewinns wegen irgend etwas zu programmieren. Letztes Wochenende wurde mir gleich beides in Leipzig geboten, denn da fand ein kleines Sommerfest mit Grillen, Hackathon und Openspace statt.

Ziel des Abends war für mich eigentlich eine möglichst funktionstüchtige Metro App zu schreiben. Tatsächlich gab es aber oben drauf noch einen riesigen Berg neuer Ideen, neue Bekanntschaften und ein paar weitere Gewinne.

weiter lesen…

Nachdem am Montag der „Slate“ - *hüstel* ich meinte natürlich „Surface“ – vorgestellt wurde, habe ich einen Shitstorm sonders gleichen erwartet. Seht es euch doch nur mal an: es ist schwarz, quadratisch und hat einen Touchscreen. Demnach ist es eindeutig vom IPad kopiert, denn wie wir ja alle wissen hat Microsoft keine eigenen Ideen und wenn dann doch sind sie totaler Mist.

weiter lesen…

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.
weiter lesen…

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.

weiter lesen…

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. weiter lesen…

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.

weiter lesen…

Ich habe mal wieder etwas geschrieben bzw. an etwas mit geschrieben. Gemeinsam mit einem guten Freund habe ich den Artikel “Mit Geschichten zum Erfolg” in der aktuellen Dotnetpro verfasst. Ziel dessen war einmal ohne die direkte Betrachtung von Scrum, Kanban und Co. über die Möglichkeiten aufzuklären die sich ergeben wenn man Anforderungen auf eine etwas andere Art als den typischen Use Case, nach ISO oder Sätzen wie: “The X shall Y” verfasst.

Natürlich geht es dabei nicht zuletzt auch um Agilität und natürlich ist dieses Thema nicht unbedingt brand heiß oder absolut neu, aber uns ging es viel mehr darum die für den Entwickler wichtigen Kernfaktoren bei diesem Vorgehen hervorzuheben.

Zumindest aus meiner Sicht ist Agilität zu einem gewissen Grad zum Modewort verkommen, dass nicht selten genutzt wird wenn das Wort Chaos besser angebracht währe. Ein Prozess wird meiner Meinung nicht dadurch agil, dass die Anforderungen nur tröpfchenweise zu den Entwickler durchsickern. Er wird auch nicht dadurch agil, dass man jeden Morgen 15 Minuten im Kreis sitzt und über Probleme redet. Er wird agil, weil tatsächlich auf Veränderungen eingegangen werden kann ohne all zu große Reibungsverluste befürchten zu müssen und dafür ist es notwendig, dass das Team zu jeder Zeit den aktuellen Ist-Zustand der Software kennt und sich ebenso bewusst über den zukünftigen Soll-Zustand ist.

Kern dessen ist daher die User Story. Ganz einfach weil sie alle notwendigen Infos auf einen Blick darstellt ohne dabei ein bestimmtes Vorwissen vorauszusetzen. Sie ist einfach zu verstehen und verbietet die nachträgliche Diskussion darüber nicht. Im Gegenteil, sie fördert die Diskussion auf eine normalsprachliche Weise ohne das Geschwurbel, dass ich regelmäßig lesen muss weil irgend wer versucht sich nach allen Seiten hin abzusichern.

Genau diese Aussage ist mir aber in anderen Veröffentlichungen, Bücher ausgenommen, die ich bisher gelesen habe etwas zu kurz gekommen und so haben Stefan und ich uns darüber her gemacht das zentrale Wissen dazu zu destilieren und einmal ohne den Verweis auf Scrum usw. zusammen zu fassen, in der Hoffnung gleichzeit erklären zu können warum jedes einzelne Teammitglied davon profitiert.

In meinem Neujahrspost habe ich schon angedeutet, dass ich dieses Jahr wohl viel unterwegs sein werde und so steht jetzt fest, dass ich im Mai auf der .Net Dev Con zu MS Test sprechen werde.

Dort werde ich unter dem Titel: “MS Test -  der missverstandene Stiefbruder” im Grunde das auseinander nehmen, was ich die letzten zwei Jahre im Umgang mit der Visual Studio Test Integration und weitestgehend freien Alternativen erlebt habe. Genauer geht es mir dabei um die Lücke zwischen Unit Tests mit NUnit, Moq und Resharper, gegenüber den System- und Integrationstests mit Visual Studio, samt Pex und Moles.

Ich habe dabei nicht vor auf irgend welchen Designschwächen von was auch immer welchen Tools herum zu hacken. Viel mehr geht es mir darum die unterschiedlichen Sichtweisen gegenüber zu stellen die hinter den einzelnen Frameworks stehen, deren wichtigste Features zu erläutern und die Gründe zu nennen warum sie verwendet werden. Ob sie ihre Arbeit gut machen muss dann jeder selbst entscheiden.

Ich hoffe also auf eine rege Teilnahme und freue mich auf jeden den ich am 15. Mai willkommen heißen darf.

Eine der wichtigsten Gründe Prism einzusetzen ist die Möglichkeit die GUI in Regionen aufzuteilen. Jede dieser Regionen wird als Content-, Items- o.ä. Control repräsentiert und kann dann zur Laufzeit mit 1 (ContentControl) bis n (Items- oder TabControl) UserControls bestückt werden. Auf diese Weise wird die eigentliche Benutzeroberfläche lose gekoppelt und kann ohne größeren Aufwand an neue Anforderungen angepasst werden.

Ein immer wiederkehrendes Problem stellt für mich dabei die Nutzung des ItemsControl dar. Jenes zeigt die einzelnen Views in Form einer Liste an, was unter Umständen etwas langweilig und verwirrend wirken kann. Aus diesem Grund bietet es sich an, jene Views durch Überschriften oder Abgrenzungen voneinander zu trennen, aber wie kriegt man das hin? Kann man es evtl. auch ohne Prism verwenden? Und vor allem wie schafft man es mit möglichst wenig Aufwand? weiter lesen…