Renato Haeni

Tech'Ed 2008: Day 4


Geposted vonn Renato Haeni am 13.11.2008, 19:33

Nach dem gestrigen Microsoft Schweiz Anlass im "Mondo" war das Aufstehen heute morgen etwas harziger als sonst. Doch die heutigen Sessions sind wieder sehr interessant; deshalb sitzen wir bereits um 09:00 im Auditorium für den Vortrag:

Know Thy User: Instrumenting the User Experience

David S. Platt von der Firma Rolling Thunder Computing beschreibt wie man am besten die Benutzererfahrungen misst und analysiert. Dabei geht es darum, wie man das z.B. von den Customer Improvement Programs der Microsoft Produkte her kennt, Daten über das Benrutzerverhalten zu erhalten, zu analysieren und schlussendlich in neue Versionen zu berücksichtigen.

Zu solchen Erfahrungswerten gehören beispielsweise Aussagen wie:

  • Wie oft wurde ein Dialogfenster X geöffnet und wie often wurde "Cancel" geklickt?
  • Was für Fehlermeldungen wurden dem Benutzer dargestellt?
  • Welche Hilfetexte wurden am häufigsten aufgerufen?

Wie man sieht, bezieht sich das hauptsächlich auf Windows Anwendungen. Im letzten Absatz wird deshalb kurz ein Ansatz gegeben, wie auch Web Applikationen von solchen Werten profitieren können.

David S. Platt gibt die folgenden Top 5 Punkte zum berücksichtigen beim Umsetzen solcher Customer Improvement Programs:

  1. Start small, don't collect everything: Es geht nicht darum, möglichst viele Informationen zu sammeln. Häufig sind ein Dutzend Indikatoren zu Beginn weitaus genügend (je nach Grösse der Anwendung) und ermöglichen bereits überraschende Ergebnisse.
  2. No personally identifiable data! Um allfällige zukünftige Probleme zu umgehen, sollten schon von Anfang an keine persönlichen Informationen pro gesammeltes Ereignis gesammelt werden. Wenn man keine persönlichen Informationen hat, kann damit auch nichts passieren.
  3. Statistics are your friend: Es muss nicht immer 100% alles gesammelt werden. Gehen gelegentlich mal Ereignisdaten verloren, ist dies nicht weiter tragisch. Wichtig dabei ist, dass die Verluste möglichst zufällig sind und man nicht etwa die Daten einer klaren Benutzergruppe verliert.
  4. Coordinate with other feedback mechanisms: Andere Feedback-Instrumente, wie beispielsweise technischer Support, sollten in die Sammel- und Analyseaktivitäten mit einbezogen werden.
  5. Use the data for good, not for evil: Dies ist ziemlich selbstsprechend.

Bei Web Applikationen verhält es sich leicht anders als bei Windows-Anwendungen: Viele Informationen können bereits analysiert werden (z.B. mit Log-Analyzern wie Google Analytics). Ausserdem ist der Upload der Daten kein Problem, da man sich ja ständig auf dem Server befindet.

Es stellt sich die Sinnfrage, was für Informationen denn noch zusätzlich gesammelt werden können. Nachfolgende Auflistung gibt ein paar technisch orientierte Ideen, was für Informationen sinnvollerweise in Web Anwendungen wo gesammelt werden können, um periodisch analysiert werden zu können:

  • Validators in Formularen können bei Aufruf ggf. Einträge generieren, so dass der Analyst z.B. sehen kann, welche Muss-Felder häufig vergessen werden.
  • Das Einklinken in die onclick Ereignisse ermöglicht es zu sehen, welche Aktionen auf den Formularen ausgeführt worden sind (dazugehörende Frage: "Wie oft wurde auf dem Formular X Abbrechen geklickt?")
  • Beim OnLoad Ereignis einer Seite kann jeweils deren Aufruf festgehalten werden. Diese Information ist an und für sich auch aus dem Web Logs ersichtlich, dennoch kann sie mit Zusatzinformationen ergänzt werden, um so eine grössere Aussagekraft zu erhalten, als aus den Web Logs möglich ist

Ein Demoprogramm mit Beispiellogger ist auf www.knowthyuser.com gratis erhältlich, jedoch eher für WinForm-Anwendungen geeignet.



Automating Test Creation

Keith Stobie von Microsoft Research zeigt in dieser Session die Vorteile und Einfachheit von Model Based Testing anhand Spec Explorer 2007.

Das schreiben traditioneller Testfälle basiert immer auf Modelle. Diese Modelle sind jedoch nur im Kopf des Teststerstellers vorhanden. Beim Model Based Testing (MBT) steht immer das Modell im Vordergrund. Durch den Einsatz von Model Based Testing, erhält man...

  • mehr und bessere Tests
  • bessere Tests eine gute Abstraktion

Das Microsoft Research Team hat für Model Based Testing das PlugIn Spec Explorer 2007 für Visual Studio Team System entwickelt. Diese PlugIn ist zur Zeit nur über das Eraly Adoption Program (weitere Informationen erhält man über speccon@microsoft.com) verfügbar.Für Tests kann im Spec Explorer ein Modell erstellt werden. Dieses Modell basiert auf Zustände, Aktionen und Übergänge. Ist ein Modell fertig definiert, kann anhand von diesem die Testfälle generiert werden. Das generieren der Testfälle bring einen wesentlichen Vorteil. Falls sich irgenwann in der Zukunft die Spezifikation des zu entwickelnden Systems ändert (z.B. eine neue Anforderung, eine Verbesserung oder ein anderer Lösungsansatz für gewisse Teile), müssen nicht alle betroffenen Testfälle manuell auf diese Vedränderugnen angepasst werden. Für einen solchen Fall kann nur das Modell angepasst order erweitert werden. Dies gewährleistet, das alle zu testenden Fälle abgedeckt werden.

Modelle sind für alle Beteiligten einfach zu verstehen. Den Entwicklern wird bei der Umsetzung bewusst, welche Anforderungen umzusetzen sind. Für den Tester wird es einfacher möglichst alle zu testenden Fälle abzudecken. Somit kann eine Software ausgeliefet werden die die Anforderungen des Kunden möglichst fehlerfrei abdeckt.

Microsoft Visual Studio 2010: Web Development Futures

Als Einstieg zur Session zeigte Vishal Joshi (Program Manger bei Microsoft) die wichtigsten Neuerungen, welche im Visual Studio 2008 und im Service Pack 1 zu Visual Studio 2008 kamem. Hier zuerst ein kleiner Überblick über die verbesserten Funktionen im Visual Studio 2008:

  • Split View für Designer und Source View
  • CSS Task Pane
  • Java Script Intellisense
  • Java Script Debugging
Mit dem Serice Pack 1 zu Visual Studio 2008 wurde neben Bug Fixes viele Funktionaltäten verbessert und hinzugefügt. Die folgende Liste zegt einige der interessanten Verbesserungen und Erweiterungen:
  • Java Script Formatierung
  • Multi Control Selection im Design View
  • Intellisense für klassisches ASP
  • SQL Server 2008 Support

Anschliessend wurden die Bereiche Design View, Source View und Deployment im Visual Studio 2010 erlaäutert. Vor allem im Source View wurden erhebliche Usabilty Verbesserungen eingeführt, wie z.B. HTML-Snippets. Zur Zeit sind 200 HTML-Snippets integriert. Über den Snippet-Manager können aber eigene Snippets eingefügt werden. Eine weitere hilfreiche Funktion ist das Strukturierte-Selektieren. Das Strukturierte-Selektieren funktioniert so, dass bei einem Doppelklick auf ein HTML Element, das ganze Konstrukt selektiert wird. Dies hilft dem Entwickler, dass beim Bearbeiten des HTML-Codes nicht irrtümlich Teile von anderen HTML-Elementen gelöscht werden.
Jeder kennt das Problem wenn im Source View eine User-Control registriert werden soll, Zur Registrierung eine User-Controls ist nun ebenfalls ein Snippet vorhanden.

Eine weitere Problematik die man heute beim Web-Applikationen kennt, ist das Deployment.Ein grosses Problem ist das Deployment des Web.config. Im Visual Studio 2010 könenn nun mehere Web.config Konfigurationen angelegt werden. Für dies müssen unterschliedliche Projekt-Konfigurationen angelegt. Pro Projekt-Konfiguration kann eine entsprechende Web.Config Datei angelegt werden. Damit nicht für jede Konfiguration die komplette Datei übernommen werden muss, kann in den zusaätzlichen Konfigurationen mit Replacement-Anweisungen gearbeitet werden.

Besuchte Veranstaltungen am dritten Tag

  • Know thy User: Instrumenting the User Experience von David Platt
  • Automating Test Creation von Keith Stobie
  • Exchange Web Services and Exchange Managed API Q&A and Code-Sample Fest von David Claus und Nenning Krause
  • SQL Server Service Broker 2008 Enhancements and Best Practices von Niels Berglund
  • An Overview of the Azure Sercices Platform von David Chappell
  • Microsoft Visual Studio 10: Web Development Futures von Vishal Joshi
  • Overview of .NET Framework 4.0 von Drew Robins und Jonathan Carter
  • How to manage technology and not have it manage you von Rockford Lhotka
0 Kommentare | Trackback Url

Kommentare
Ihr Kommentar zum Blog-Eintrag





Feedburner
aseantic RSS Feed
Feedburner RSS Feed
Add to Favorites
Add to Delicious
aseantic @ Facebook
Add to Technorati Favorites
Bookmark and Share
Creative Commons