Whitebox Testing, Heisenberg Wanzen und jetzt neu: Der SpecExplorer 2010

Spätestens mit Erscheinen der Microsoft Visual Studio Team System 2005 Team Tester Edition wurde deutlich, dass Microsoft sich intensiv mit der Thematik beschäftigt, wie es den Entwicklern einfacher gemacht werden kann, Code zu testen.

Seit dem hat sich viel getan. Dass neben den bereits kommerziell verfügbaren Produkten aus der Visual Studio Reihe auch weitere Tools in den "Startlöchern" stehen, ist hingegen nicht vielen bekannt. Microsoft veröffentlicht aus dem Research-Bereich und den sog. DevLabs hin und wieder Tools und Programme, die sich noch in der Forschungsphase befinden. Es kommt allerdings auch vor, dass sie dabei bereits intern produktiv genutzt werden.

Highlights zum Thema Software-Testing:

Pex - Automatisiertes Whitebox Testing

Pex steht für Program Exploration. Es generiert automatisch Unit-Tests basierend auf bereits geschriebenem Code. Dabei analysiert es die Eingangsparameter der Methoden und erzeugt automatisch ein entsprechendes Set an Unit-Tests, das mittels Parametrisierung alle Codepfade durchläuft und damit eine hohe Codeabdeckung erreicht. Darüber hinaus liefert Pex einem wertvolle Hinweise. Bei einem String-Eingangsparameter ist es z.B. nicht gewollt, dass ein Null-Wert übergeben wird. Dennoch ist es möglich. Falls daraufhin nicht getestet wird, bietet Pex eine automatische Korrektur an. Mehr dazu hier.

CHESS - Aufspüren von Heisenbugs

Bei der Heisenbergschen Unschärferelation handelt es sich um eine Aussage der Quantenphysik, "[...] dass zwei Messgrößen eines Teilchens nicht immer gleichzeitig beliebig genau bestimmbar sind." Danach wurden die sog. Heisenbugs benannt. Kurzum: Fehler, die verschwinden, sobald man versucht sie aufzuspüren. Das kommt bevorzugt im Bereich des Multithreadings vor, bei dem erst durch die parallele Verarbeitung innerhalb des gleichen Zeitraumes Methoden sich gegenseitig in die Quere kommen. CHESS ist in der Lage, Threads zu visualisieren und derartige Probleme mittels automatisierter Testdurchläufe aufzuspüren. Mehr dazu hier.

Spec Explorer - Testfälle anhand visualisierbarer Softwaremodelle generieren

Das neuste Mitglied in der Testing-Familie auf DevLabs ist der Spec Explorer 2010. Hiermit lassen sich Modelle definieren anhand derer automatisch Testfälle generiert werden. So unspektakulär das auf den ersten Blick auch klingen mag: Laut Microsoft erreichen komplexe Softwareprojekte mit durchschnittlich 300 Testfällen eine Produktivitätssteigerung von 42% durch den Einsatz vom Spec Explorer gegenüber manuell erstellten Tests. Ein beeindruckendes Video dazu zeigt in aller Kürze, wie das funktioniert.

Comments are closed

Über die Autoren

Christian Jacob ist Leiter des Geschäftsbereiches Softwarearchitektur und -entwicklung und zieht als Trainer im Kontext der .NET Entwicklung sowie ALM-Themen Projekte auf links.

Marcus Jacob fokussiert sich auf die Entwicklung von Office-Addins sowie Windows Phone Apps und gilt bei uns als der Bezwinger von Windows Installer Xml.

Martin Kratsch engagiert sich für das Thema Projektmanagement mit dem Team Foundation Server und bringt mit seinen Java- und iOS-Kenntnissen Farbe in unser ansonsten von .NET geprägtes Team.

Aktuelle Kommentare

Comment RSS