Blog Home  Home Feed your aggregator (RSS 2.0)  
artiso Blog - Wednesday, August 13, 2008
Neues rund um's Thema .Net
 
 Wednesday, August 13, 2008

Wer eine Visual Studio 2008 Standard Edition oder höher sein Eigen nennt, kann sich jetzt kostenlos einen Icon-Editor herunterladen.

image

Axialis Software - IconWorkshop™ Lite Download

Wednesday, August 13, 2008 11:58:04 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 

Seit kurzem ist der TFS Administration Guide zum Download bereitgestellt. Der Guid beschreibt viele Aspekte der Administration des TFS über Berechtigungsverwaltung, Anpassung von Workitemtypen und Process-Templates Backup und vieles mehr.

Download details: Administration Guide for Team Foundation Server

Wednesday, August 13, 2008 11:48:10 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Tuesday, August 12, 2008

Über das Erscheinen des .Net Framework 3.5 SP1 haben ja bereits genügen Leute berichtet, da muss ich jetzt nicht noch einen draufsetzen. Wer möchte, kann sich den recht ausführlichen Blog-Beitrag von Dariusz anschauen.

Ich habe natürlich auch sofort das SP installiert. Die letzten 3 Std. habe ich damit zugebrach einen Fehler zu finden. Und was soll ich sagen, das Problem liegt am SP.

Folgende Situation. Ich arbeite an einem Projekt, das intensiv ASP.Net AJAX nutzt. Dort habe ich an verschiedenen Stellen die Übergabe von Daten aus dem CodeBehind an Javascript. Diese löse ich, indem ich im Code behind folgenden Code verwende:

ScriptManager scriptManager = ScriptManager.GetCurrent(Page);
scriptManager.RegisterDataItem(this, "StringToTransfer");

In Javascript kann ich dann auf diese Werte zugreifen:

function EndRequestHandler(sender, args) {
    if (sender._dataItems != null) {
        if (sender._dataItems.__Page != null) {
            if (sender._dataItems.__Page == 'StringToTransfer') {
                fnShowSizedPopup('../../Web/Search/CopyProducts.aspx', 500, 400);
            }
        }
    }
}

Das hat bisher problemlos funktioniert. Nach der Installation des SP1 war allerdings sender._dataItems immer null. Nachdem ich das SP1 deinstalliert habe, funktioniert es wieder wunderbar. Na ich werde jetzt wohl erst mal ohne SP1 leben und mir bei Gelegenheit mal anschauen, wie ich das Problem umgehe. Oder hat vielleicht jemand eine Idee, woran das liegen könnte?

 

Nachtrag:

Dank Hannes habe ich eine Lösung gefunden. Im obigen Beispiel muss man sender._dataItems mit args.get_dataItems() ersetzen, dann klappt's auch mit dem SP1

Tuesday, August 12, 2008 4:38:28 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Thursday, July 24, 2008

MSDN Webcasts

Zusammen mit Christian Binder habe ich nun einen MSDN Webcast aufgenommen der sich mit dem Thema UI Events und Record & Play für UI Testing beschäftigt. Dieser Webcast ist als Fortsetzung zum Thema UI Testing mit dem UI Automation Framework aufgebaut. Der Webcast selbst wird als Download ab dem 08.08.08 (cooles Datum) verfügbar sein. Den Demo_Code zum Webcast kann man ab sofort hier runterladen.

Kurz hier der Inhalt des Webcasts zusammengefasst.

Über das UI Automation Framework kann man Events aus einer Anwendung abfangen. Diese Events kann man zunächst am besten mit dem UISpy untersuchen. Nun kann man einen kleinen Recorder erstellen, der diese Events nutzt, um Benutzereingaben in einer Anwendung zu erkennen und automatisiert Code erstellt, der diese Benutzereingaben simuliert. Dieser Code kann nun in einem Unit-Test genutzt werden um automatisiert im Rahmen eines Testdurchlaufes die Benutzerinteraktion zu wiederholen. Der Clou dabei ist, dass sogar die Asserts für die erwarteten Ergebnisse automatisiert aufgezeichnet werden können.

 

Download Demo-Code 

Download Webcast

Thursday, July 24, 2008 9:18:50 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Wednesday, July 23, 2008

Ich bin gerade dabei, für den Herbst meine Vorträge zu koordinieren. Ich werde von September bis Dezember viel unterwegs sein. Nun habe ich mal die ganzen aktuellen Vortragsthemen gesammelt, um hier einen kleinen Überblick zu geben. Wer Interesse hat, einen dieser Vorträge zu hören, ich werde in Kürze die Termine veröffentlichen, an denen ich die jeweiligen Vorträge halten werde. Möchte mich jemand für einen Vortrag buchen, einfach eine kurze Mail an mich. Für INETA User-Groups besteht auch die Möglichkeit, mich über das deutsche Speaker-Bureau zu buchen. Sollte sonst jemand Interesse an einem Vortrag zu den Themengebieten VSTS und Team Foundation Server, Software-Architektur, Entwicklungsprozesse oder Qualitätsmanagement haben, ich bin gerne bereit, mein Angebot entsprechend zu erweitern.

Qualitätsmanagement mit VSTS und TFS Qualität spielt bei Software eine immer stärkere Rolle. Gleichzeitig werden immer effizientere  Entwicklungsprozesse angestrebt. Dies lässt sich nur mit geeigneter Tool-Unterstützung und passenden Lösungen zu Prozessen und Software-Architektur erzielen. Mit Visual Studio Team System und Team Foundation Server stehen Tools zur Verfügung, die nicht nur eine entsprechende Testunterstützung bietet, sondern auch komplette Qualitätsprozesse unterstützt. Der Vortrag zeigt, wie Qualitätsprozesse durch TFS unterstützt werden. Anschließend werden verschiedene Testmethoden vorgestellt und einige Praxis-Tipp für deren Einsatz gegeben.
Agile Development Process - Ein Architekturbasierter Entwicklungsprozess Moderne Software-Anwendungen werden immer komplexer. Dadurch gewinnt auch die Software-Architektur immer mehr an Bedeutung. Wartbarkeit, Testbarkeit, Erweiterbarkeit und Teamentwicklung sind nur einige Aspekte, die eine gute Architektur unterstützen soll. Doch diese Aspekte können nicht durch ein einzelnes Architekturkonzept abgedeckt werden. Dieser Vortrag stellt verschiedene Architektur-Patterns wie Komponentenorientierung, Contract First Design, Service-Orientierung und UI Driven Development vor. Und vor allem wird gezeigt, wie diese Konzepte zu einem praxiserprobten Entwicklungsprozess verbunden werden können. 
Mehrschichtige Architekturen mit .Net Mehrschichtige Architekturen sind heute eigentlich oft Standard, vor allem bei verteilten Anwendungen. Allerdings wird diese Architektur oftmals zu sehr an technischen Belangen ausgerichtet. Die Session zeigt, wie man mehrschichtige Architekturen plant und diese flexibel und leitungsfähig aufbaut. Es werden verschiedene praxiserprobte Patterns vorgestellt.
Build-Management mit Team Foundation Server Mit Team Foundation Server steht ein leistungsfähiges integriertes Buildsystem zur Verfügung. Wie man dieses im Rahmen der Projekte nutzt und welche Vorteile sich daraus ergeen zeigt diese Session. Darüber hinaus wird der Einsatz verschiedener Buildsteps zum Deployment, Versionierung etc. vorgestellt.
Testing Practices mit VSTS und TFS VSTS bringt eine ganze Reihe von Testmethoden. Insbesondere die Edition für Tester bietet verschiedene Testarten. Die Implementierung der unterschiedlichen Testarten ist inzwischen hinlänglich beschrieben. Wie diese Tests in Real-World-Projekte eingesetzt werden, um tatsächlich die Qualität zu verbessern, beschreibt der Vortrag ebenso wie die Lösung von Real-World-Problemen. Dabei werden Themen wie die Bereitstellung von Testumgebungen, Testplanung und Testdurchführung sowie Testdokumentation ebenso beleuchtet wie die Frage, in welchen Fällen eine Edition für Tester notwendig ist, wo es mögliche Alternativen gibt und wie verschiedene Akteure innerhalb des Projekts wie z.B. Fachabteilungen eingebunden werden.
UI-Testing mit UI Automation Unit-Testing und Web-Testing verbreiten sich mit VSTS und anderen Testing-Tools immer mehr. Was diese Testmethoden jedoch nicht abdecken, ist quasi die „letzte Meile“, die Oberfläche der Anwendungen. Um diese in Tests einzubinden sind entweder teure Tools erforderlich, oder man nutzt das weitgehend unbekannte UI Automation Framework, das Bestandteil des .NET 3.0 Frameworks ist. Der Vortrag erläutert zunächst, wie man mit Hilfe des UI Automation Frameworks Windows- und WPF-Anwendungen kontrollieren kann. Anschließend werden diese Methoden in Unit-Tests integriert, um damit automatisierte UI-Tests aufzubauen. Als krönender Abschluss wird ein UI-Test-Recorder implementiert, mit dem UI-Aktionen aufgezeichnet und automatisiert in Unit-Test überführt werden können. Der Vortrag beschreibt neben den Möglichkeiten auch Grenzen des UI Automation Frameworks und mögliche Lösungen.
Closing Tool-Gaps in your Development Process with the TFS API The efficiency of development processes is based on a powerful and integrated tool support. But development processes are individual and no standard software can fulfill this integration 100%. With the Team Foundation Server API we have a powerful technology to extend the standard functionality for our needs. As an example in this session we will live code a tool to organize workitems in a hierarchical way and you will learn how this can improve your development process. Also you will get some additional visions about how you can use TFS Extensibility to make real cool things with your TFS.
Durchgängige Entwicklungsprozesse mit Visual Studio Team System Mit Visual Studio Team System bietet Microsoft eine leistungsfähige Entwicklungsplattform die den gesamten Lebenszyklus eines Entwicklungsprojektes vom Requirement Management bis zum Systembetrieb abbilden kann. Der Vorteil dabei ist, dass alle wichtigen Elemente des Prozesses in einem System integriert und so Verbindungen zwischen den einzelnen Prozessartefakten hergestellt werden können. Der Vortrag zeigt wie ein kompletter Entwicklungsprozess mit VSTS abgebildet werden kann. Als Beispiel wurde hierzu bewusst ein agiler Prozess gewählt der vor allem auch für kleinere Entwicklungsteams geeignet ist. Dabei werden die wesentlichen Funktionselemente von Visual Studio Team System und Team Foundation vorgestellt und deren Nutzung im Prozess gezeigt.
Reporting mit dem TFS
Der Team Foundation Server bietet umfangreiche Projekt-Kennzahlen. Neben Prozess- und Qualitätskennzahlen sowie verschiendenen Planungskenngrößen können auch weitere Daten wie z.B. zum Build-Prozess oder aus der Quellcode-Verwaltung ausgewertet werden. Hierbei stehen mit den SQL Server Reporting Services und Excel zwei leistungsfähige Tool zur Verfügung, diese Daten zu visualisieren. Der Vortrag zeigt anhand verschiedenen Beispielen auf, wie individuelle Auswertungen erstellt werden können und welche Möglichkeiten sich damit eröffnen.
Wednesday, July 23, 2008 11:07:56 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 

James Manning beschreibt auf seinem Blog, wie man andere Tools für den Content diff / merge einbinden kann. Das ganze funktioniert auch in Abhängigkeit zur File-Extension, so dass man z.B. für Word-Dokumente einen Vergleich von Versionen direkt mit der TFS Quellcode-Verwaltung bewerkstelligen kann.

Ich habe das mal für Word-Dokumente getestet:

1.) Diff Doc runterladen und installieren

2.)  Einstellungen im VS unter Tools / Options / Source Control / Visual Studio Team Foundation Server und dann auf Configure User Tools klicken.

3.) Für die Endung .docx das Diff Doc konfigurieren

image

4.) Aus der Source Control einen Compare für ein Word-File aufrufen

5.) Geniesen

image

Weitere Infos hier:

James Manning's blog : diff/merge configuration in Team Foundation - common Command and Argument values

Wednesday, July 23, 2008 4:52:15 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Tuesday, July 22, 2008

Bin gerade auf ein Post von Martin Woodward gestossen. Das zeigt doch mal wieder, wie kreativ wir Entwickler sind (oder sollte ich eher sagen dass wir das Kind in uns ausleben).

Martin Woodward: Brian the Build Bunny

Tuesday, July 22, 2008 8:11:06 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Friday, July 18, 2008

Standardmäßig stellt Visual Studio die Prozessor-.Architektur für Anwendungen auf "Any CPU". Vor allem mit Bibliotheken gibt es damit allerdings öfters Probleme auf x64 Systemen, wenn die Bibliotheken unter 64Bit Betriebssystemen nicht sauber laufen. Eine Möglichkeit ist, die Anwendung explizit für x86 zu kompilieren, dann wird diese auch auf x64 Systemen im 32Bit Modus ausgeführt (siehe auch den Blogeintrag zur TFS-API unter x64).

image

Allerdings muss man hier mit ClickOnce ein wenig vorsichtig sein. Wenn man eine Anwendung zunächst mit "Any CPU" über ClickOnce verteilt hat und anschließend auf x86 umstellt, dann meldet ClickOnce

„The deployment identity does not match the subscription” bzw.
„Die Bereitstellungsidentität stimmt nicht mit dem Abonnement überein.“

Verschiedene Einträge im Internet verweisen zunächst darauf, dass das Zertifikat das Problem sein könnte. Da wir in der Zwischenzeit bei uns eine Domänen-Umstellung hatte, war diese Erklärung zunächst auch sehr plausibel. Dann stellte sich allerdings heraus, dass dieses Problem durch die Prozessor-Architektur verursacht wird. ClickOnce verwendet diese wohl als sog. "subscription identity" und behauptet einfach, dass es sich dabei um eine andere Anwendung handelt. Um das Problem zu umgehen sollte man also bereits beim ersten Demployment sehr gut überlegen, ob man die Anwendung nicht unter dem x86-Modus kompiliert.

Friday, July 18, 2008 12:57:09 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Thursday, July 17, 2008

Die TFS Power-Tools sind jetzt öffentlich verfügbar. Das Paket bringt einige Verbesserungen, die das Arbeiten mit dem TFS noch komfortabler machen. Die wichtigste Neuerung seht ihr hier, eine ausführlichere Beschreibung bei Brian Harry.

Neue Oberfläche um TFS Alerts zu aboniieren, die auch flexible Filterkriterien erlaubt.

image

bharry's WebLog : July '08 Power Tools are available!

Download July 08 TFS PowerTools

Thursday, July 17, 2008 8:38:13 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Monday, July 14, 2008

Am morgigen Dienstag findet um 18:00 das nächste Treffen der .net Developer-Group Ulm statt. Thema ist dann die Windows Presentation Foundation. Als Sprecher konnten wir Gerhard Jaros von der EPS Software GmbH gwinnen, der uns fundierte Einblicke in diese immer noch recht neue Technologie geben wird. Der Abstract zum Vortrag lautet:

Windows Presentation Foundation ... nach 20 Jahren hat Microsoft uns Entwicklern nun eine neue Alternative gegeben, mit Hilfe derer wir flexible User Interfaces erstellen können. Wir sind plötzlich nicht mehr gezwungen, einen Standard zu verwenden, der sich im Laufe der Zeit entwickelt hat. Buttons können bunt sein, Masken rund, transparent und farbenfroh. Wie aber geht das, wozu brauchen wir es und was bringt es uns?
Wir brauchen es. Dringender denn je. Wir wollen Interfaces schaffen, die keine weitere Erklärung mehr benötigen, weil der Anwender sie aufgrund des logischen Aufbaues selbst versteht. Diese Themen werden im Workshop behandelt:

  • Aufbau von WPF
  • Einfache WPF-Codebeispiele
  • Tipps & Tricks / best practices
  • Wann soll man WPF verwenden und wann nicht?

Noch dazu hat man bei dieser Gelegenheit auch Silverlight entwickelt, und so kann man erstmals mit ein und derselben Sprache sowohl für Windows-Applikation als auch für Web- Anwendungen Frontends erstellen. Es wird also in diesem Zusammenhang auch auf Silverlight verwiesen.

Weitere Informationen unter www.dotnet-ulm.de

Kopfleiste800pix

Monday, July 14, 2008 7:51:13 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 

Über die API mit der man selber Anwendungen für den Team Foundation Server schreiben kann, habe ich ja schon mehrfach berichtet. Nun soll das SDK verbessert werden, was offen gestanden, auch mal Zeit wird. Brian Harry hat ein erstes Sample bereits vorab veröffentlicht, das zeigt, wie man mit der API auf die Version Control zugreift.

bharry's WebLog : Working on TFS SDK improvements

Monday, July 14, 2008 7:14:25 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Saturday, July 12, 2008

Um TFS-Workitems massenhaft zu bearbeiten, z.B. um mehrere Workitems einem neuem Bearbeiter zuzuweisen, gibt es verschiedene Möglichkeiten. Die bekannteste davon ist sicher die Bearbeitung in Excel. Richard Hundhausen beschreibt noch einige weitere in einem Video

http://msdn.microsoft.com/en-us/vsts2008/cc563930.aspx

Saturday, July 12, 2008 10:15:33 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Thursday, July 10, 2008

Jeder kenn die Situation. Wenn man einen Fehler oder eine Änderung beschreiben will, tipp man sich einen Wolf. Viel schneller geht es mit einem Screenshot. Wer allerdings, z.B. beim Testen zig Screenshots an Workitems im Team Foundation Server anhängen möchte, der ist auch schnell genervt. Immer der gleiche Prozess. Schreenshot aufnehmen - In das Bildverarbeitungsprogramm wechseln - Screenshot einfügen - Screenshot speichern - Neues Workitem anlegen udn Felder ausfüllen - Attach File aufrufen - Datei mit Screenshot suchen - Fertig!

Glücklich derjenige, der den artiso Workitem Manger nutzt. Da geht das Ganze viel einfacher.

1.) Das Tray Icon Symbol mit der rechten Maustaste anklicken und auswählen ob man ein neues Workitem anlegen möchte oder an das gerade geöffnete den Screenshot anhängen möchte.

image

2.) Geünschten Bildbereich auswählen und Screenshot aufnehmen (Klick auf den Button im Zentrum des Fensters oder Enter drücken)

image

3.) Schon ist das Workitem inkl. Attachment angelegt.

image

Wer das Ganze mal testen möchte, kann sich hier eine Demo-Version des Workitem Managers herunterladen.

Thursday, July 10, 2008 7:33:24 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Tuesday, July 01, 2008

Die Workitems aus dem Team Foundation Server können direkt nach Excel geladen, dort bearbeitet und wieder auf den TFS gepublished werden. Das hierzu erforderliche Add-In wird bei der Installation des Team Explorers automatisch mitinstalliert und funktioniert sehr gut. Ein wenig nervig ist allerdings, wenn man zu einem Workitem weitere Informationen sehen oder eintragen möchte und die entsprechende Spalte nicht angezeigt wird. Dann muss man die Spalte erst zur Anzeige auswählen und die Liste aktualisieren. Darüber hinaus wird die Darstellung in Excel schnell unübersichtlich, wenn man viele Felder anzeigen lässt.

Wäre es nicht schön, wenn man auch in Excel den gewohnten Detail-Dialog zu einem Workitem hätte? Genau diese Funktion bietet das kostenfreie Tool Ekobit TeamCompanion for Excel. Das Workitem kann editiert und gespeichert werden. Die selbe Funktion gibt es übrigens auch für MS Project.

image

TeamCompanion for Excel

TeamCompanion for Project

Tuesday, July 01, 2008 6:57:09 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Wednesday, June 25, 2008

Auf MSDN ist nun ein Artikel erschienen den ich zusammen mit Christian Binder für das dot.net Magazin geschrieben habe. Der Artikel beschreibt, wie man mit Hilfe der TFS-API eine hierarchische Organisation von Workitems selbst erstellt. Der Artikel ist auf MSDN frei zum Download.

http://download.microsoft.com/download/4/7/a/47aca5b1-ad88-4248-949b-d0333d238516/DM_0608_Schissler_Binder.pdf

Wednesday, June 25, 2008 11:30:07 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Monday, June 23, 2008

In der Versionsverwaltung des Team Foundation Servers spielt Branching eine wichtige Rolle. Dabei kann man ausgehend von einem bestehenden Branch eine "Kopie" erzeugen, dort Änderungen machen und diese dann in den Ursprungsbranch zurückmergen. Leider unterstützt die UI (Sorce Control Explorer im Visual Studio) nur das mergen in den Ursprungsbrachn aus dem heraus dieser Branch abgezweigt wurde. Merging in andere Branches bezeichnet man als "Baseless Merges". Wie das geht beschreibt der TFS-Guide in einem HowTo.

patterns & practices: Team Development with Visual Studio Team Foundation Server - Home

Monday, June 23, 2008 4:34:57 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 

Ein Dokument auf das ich immer verweise, wenn es um die Installation des Team Foundation Servers geht ist der TFS2008 Installation Guide. Deshalb hier mal der Link für alle, die einen TFS aufsetzen wollen. Leider funktioniert das mit CD rein und Setup aufrufen nicht. Aber wenn man die Installationsanweisung befolgt, geht's meisten problemlos. Ansonsten einfach mich anmailen, ich versuche dann gerne weiterzuhelfen.

Download details: Team Foundation Installation Guide

Monday, June 23, 2008 1:13:22 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Sunday, June 22, 2008

Für die Sorce Analysis, eine statische Codeanalyse gibt es jetzt von Eugene Zakhareyev eine Checkin Policy mit der beim Einchecken in die Teamfoundation Server Source control die Erfüllung der definierten Richtlinien abgeprüft werden kann.

Danke an Mark für den Tipp.

Team Foundation Server observations bucket: Source Analysis For C# Checkin Policy

Sunday, June 22, 2008 9:22:26 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Wednesday, June 18, 2008

In einem Projekt nutze ich Contains um eine Liste mit IDs zu übergeben, um dann Objekte per LINQtoSQL aus der Datenbank zu lesen. Das klappt wunderbar, solange die Liste mit den IDs nicht zu groß wird. Bei knapp über 1000 IDs hatte ich allerdings ca. 5 Sek. für die Ausführung was mir dann doch recht lange vorkam. Ich habe mir dann mal mit dem SQL Profiler angeschaut, was LINQ da eigentlich treibt und hatte dann schnell eine Vermutung. LINQtoSQL ruft an der stellen nämlich eine Stored Procedure auf und übergibt die IDs als Parameter dort hin, d.h. über 1000 Parameter deklarieren und zuweisen, das könnte dauern. Ich habe das Statement dann testhalber einfach umgebaut, dass ich im SELECT direkt die IDs über ein IN(...) angab und siehe da, diese Abfrage war nun um Dimensionen schneller.

Merke: Über Contains keine große Anzahl von Parametern übergeben, statt dessen lieber die Abfrage selber mit einem IN aufbauen.

Wednesday, June 18, 2008 4:47:17 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Monday, June 09, 2008

Zum Aufzeichnen von WebTests mit VSTS wird ein Web Test Recorder Toolbar im IE integriert.

image 

Unter meinem Vista 64 Bit hatte ich allerdings das Problem, dass der Toolbar dort partou nicht angezeigt wurde. Nach einigem Suchen habe ich dann die Lösung gefunden:

VSTS 2008 : Vista (64 bit) : Recorder bar does not appear when recording a new webtest

Fix:  Vista caches the list of explorer bars you have available and the recorder bar was not included in your list.  The fix is to force Windows to rebuild that cache.  To do this, first make sure you have all Internet Explorer instances shut down, then open the 32 bit registry editor and delete the following keys:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021493-0000-0000-C000-000000000046}
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021494-0000-0000-C000-000000000046}

[Note: by default, the 32 bit registry editor is located in %WINDIR%\SysWow64\RegEdt32.exe]

The next time you boot Internet Explorer, your explorer bar cache will be rebuilt and the recorder bar should be available.

Nachdem ich diese beiden Registry-Keys gelöscht habe, wurde der Toolbar angezeigt.

Weitere Infos und tipps bei Probleme mit dem Web Recoder Toolbar finden sich unter Michael Taute's Blog : Diagnosing and fixing Web Test recorder bar issues.

Monday, June 09, 2008 8:57:40 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Thursday, May 29, 2008

Es gibt eine ganz Reihe von Whitepapers, die verschiedene Practices aus dem Bereich ALM und deren Umsetzung mit VSTS beschreiben.

  • Communicate and Collaborate
  • Drive Predictability
  • Ensure Quality Early and Often
  • Integrate Work Frequently
  • Making Real-Time Decisions
  • Managing Team Workflow
  • Using Familiar Tools

Visual Studio Team System 2008 Capabilities White Papers

Thursday, May 29, 2008 10:54:23 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 

Durch unseren gestrigen Vortrag zu Rosario bin ich auf einen Punkt aufmerksam geworden, der mir zum Thema UI Automation so noch gar nicht bewusst war. Man kann mit UI-Automation auch Web-Anwendungen steuern. Das ist eine echt coole Geschichte.

Am einfachsten verwendet man den UI-Spy um sich mal anzusehen, was da geht. Also IE auf und mal reinschauen. UI-Spy mit "Run as Administrator" starten, damit wir die Pattern anwenden können. Dann zunächst mal den Hovering mode aktivieren:

image

Nun kann man auf der Web-Seite mit der Maus auf einen Link fahren und die CTRL-Taste drücken. Es dauert einen kurzen Moment, dann wir der Link mit einem roten Kästchen umrahmt und UI Spy zeigt das entsprechende Objekt im Baum an.

image

image

Es empfiehlt sich nun, den Hovering mode wieder abzuschalten, da sonst jedes weiteres Drücken der CTRL-Taste den Scope ändern würde. Nun können wir uns die verfügbaren Patterns für das Element anschauen. Dazu einfach mit der rechten Maustaste auf den Hyperlink und dann "Control Patterns auswählen". Uns interessiert beim Hyperlink das Invoke-Pattern das Aktionen wie Click etc. ausführt.

image

Wenn man nun auf "Call Method" klicht, wird der Hyperlink aufgerufen, d.h. der IE verhält sich, wie wenn man den Hyperlink mit der Maus anklicken würde, d.h. er ruft die entsprechende Seite auf. Nun wollen wir uns noch ansehen, wie man auch Inhalte in Textboxen und andere Controls einfügen kann. Hierzu habe ich ein Formular im IE geöffnet und wieder mit dem UISpy das Element identifiziert. Nun kann man das ValuePlattern verwenden um den Value der Textbox zu editieren.

image

image

Mit diesem Wissen und dem Basiswissen aus meinem Webcast zur Erstellung von Unit-Test mit dem UI Automation Framework können wir nun Unit-Tests schreiben, die Web-Oberflächen automatisiert testen.

Bleibt die Frage wo ist der Unterschied zu den Web-Tests die mit VSTS Edition for Tester erstellt werden können? Der wichtigste Unterschied ist, dass die Web-Test sog. Wired-Level-Tests durchführen. D.h. diese Tests zeichnen die HTTP-Kommunikation zwischen Client und Server auf und können diese dann abspielen und in den HTTP-Paketen bestimmte Informationen validieren. Verwendet man nun aber z.B. AJAX, dann findet dort auch eine HTTP-Kommunikation statt, z.B. beim Aufruf eines Web-Services und der Web-Service liefert auch Daten zurück, ob die im Client dann aber per Java-Script richtig verarbeitet werden bleibt fraglich. Somit testen Web-Tests den Server, nicht den Client. Mit der UI-Automation werden die Tests direkt mit den Elementen der Clients ausgeführt, d.h. ich kann z.B. auch prüfen, ob die Daten, die ein Webservice zurückliefert an der Oberfläche korrekt dargestellt werden.

Der zweite Unterschied liegt einfach darin, dass das UI Automation Framework Bestandteil des .Net Frameworks 3.0 und somit kostenlos ist wohingegen für die Erstellung von Web-Tests ein VSTS for Tester notwendig ist.

Thursday, May 29, 2008 1:36:13 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |  |  |   | 
 Wednesday, May 28, 2008

Heute hatten wir bei der UG Ulm Christian Binder als Sprecher zu Gast. Christian gewährte uns einen kleinen Blick in die Zukunft der Software-Entwicklung. Er stellte einige der neuen Funktionen aus den Bereichen Project Management, Testing, Development und Architecture. Obwohl für die Demo nur das aktuelle CTP zur Verfügung stand, wurde ersichtlich, dass mit Rosario viele neue Funktionen kommen, auf die Entwickler, Tester, Architekten und Projektleiter schon lange gewartet haben. Einige der Highlights waren:

  • Lightweight Projektmanagement und Kapazitätsplanung
  • Neue Verknüpfungen und hierarchische Workitems
  • Build definition über Workflow Foundation
  • Planung und Verwaltung von manuellen Tests
  • Aufzeichnung eines Web UI-Tests und Umwandlung in einen coded Test
  • Historical Debugging
  • Sequential Diagramms
  • und vieles mehr

Danke an Chris für den tollen Vortrag.

P1010173 P1010168

Wednesday, May 28, 2008 10:51:39 PM (Mitteleuropäische Zeit, UTC+01:00)