<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>artiso Blog - Vorträge</title>
    <link>http://www.artiso.com/ProBlog/</link>
    <description>Neues rund um's Thema .Net, Team Foundation Server und SCRUM</description>
    <language>de-de</language>
    <copyright>Thomas</copyright>
    <lastBuildDate>Tue, 23 Oct 2012 18:58:07 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>tschissler@artiso.com</managingEditor>
    <webMaster>tschissler@artiso.com</webMaster>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=0417eca4-ce3f-4c9e-89b2-4f23fb86912d</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,0417eca4-ce3f-4c9e-89b2-4f23fb86912d.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,0417eca4-ce3f-4c9e-89b2-4f23fb86912d.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0417eca4-ce3f-4c9e-89b2-4f23fb86912d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Videos-zum-Visual-Studio-Launch-Event_12FB9/image_2.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Videos-zum-Visual-Studio-Launch-Event_12FB9/image_thumb.png" width="553" height="128" />
          </a>
        </p>
        <p>
Am 1. Oktober fand die Visual Studio 2012 Evolution in Neuss statt. Die verschiedenen
Vorträge wurden aufgezeichnet und die Videos stehen nun zur Vefügung unter <a title="http://www.microsoft.com/germany/msdn/events/vs-evolution-2012/default.aspx" href="http://www.microsoft.com/germany/msdn/events/vs-evolution-2012/default.aspx">http://www.microsoft.com/germany/msdn/events/vs-evolution-2012/default.aspx</a></p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=0417eca4-ce3f-4c9e-89b2-4f23fb86912d" />
      </body>
      <title>Videos zum Visual Studio Launch Event</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,0417eca4-ce3f-4c9e-89b2-4f23fb86912d.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,0417eca4-ce3f-4c9e-89b2-4f23fb86912d.aspx</link>
      <pubDate>Tue, 23 Oct 2012 18:58:07 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Videos-zum-Visual-Studio-Launch-Event_12FB9/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Videos-zum-Visual-Studio-Launch-Event_12FB9/image_thumb.png" width="553" height="128"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Am 1. Oktober fand die Visual Studio 2012 Evolution in Neuss statt. Die verschiedenen
Vorträge wurden aufgezeichnet und die Videos stehen nun zur Vefügung unter &lt;a title="http://www.microsoft.com/germany/msdn/events/vs-evolution-2012/default.aspx" href="http://www.microsoft.com/germany/msdn/events/vs-evolution-2012/default.aspx"&gt;http://www.microsoft.com/germany/msdn/events/vs-evolution-2012/default.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=0417eca4-ce3f-4c9e-89b2-4f23fb86912d" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,0417eca4-ce3f-4c9e-89b2-4f23fb86912d.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=aa677f8b-a13e-451a-a2b0-f5c07a33a922</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,aa677f8b-a13e-451a-a2b0-f5c07a33a922.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,aa677f8b-a13e-451a-a2b0-f5c07a33a922.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=aa677f8b-a13e-451a-a2b0-f5c07a33a922</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Vom 27. bis 30. November finden die <a href="http://www.teamconf.de/">ALM Days</a> in
München statt, für alle TFS Anwender eigentlich eine Pflichtveranstaltung, da hier
versammelt ist, wass im Visual Studio ALM Umfeld Rang und Namen hat. Allein die beiden <a href="http://www.teamconf.de/keynote-speaker.html">Key-Note
Speaker</a> Brain Harry und Sam Guckenheimer sind Grund genug, diese Veranstaltung
nicht zu versäumen.
</p>
        <p>
Im Rahmen der ALM Days werden mein Kollege Thomas Trotzki und ich mit diversen Vorträgen
und Workshops vertreten sein. artiso wird auf den ALM Days auch als Austeller vertreten
sein. Ich würde mich freuen, den einen oder anderen Leser meines Blogs auf den ALM
Days zu treffen. Jeder der mich dort anspricht und sich als Leser meines Blogs “outet”
bekommt von mir einen Satz Planning-Poker Karten :-)
</p>
        <p>
Hier schon mal ein Ausblick auf unsere Ganztages-Workshops:
</p>
        <h3>ALM &amp; TFS für C++ Programmierer
</h3>
        <p>
          <strong>Referent:</strong>Thomas Trotzki, artiso AG 
</p>
        <p>
          <strong>Datum und Uhrzeit:</strong> 30. November 2012, 9:00 - 17:00 Uhr 
</p>
        <p>
          <strong>Anspruch:</strong> TFS-Einsteiger 
</p>
        <p>
          <strong>Abstract:</strong>  Im C++ Umfeld werden bislang bis auf Version Control
nur vereinzelt weitere Bausteine des ALM verwendet, obwohl es hierfür aus technischer
Sicht keine Gründe gibt. Dieser Workshop richtet sich daher an alle C++ Entwickler,
die momentan noch auf die Vorzüge der Integration der unterschiedlichen ALM Aspekte
in Team Foundation Server verzichten. Anhand eines überschaubaren Beispiels wird die
Arbeit mit Visual Studio 2012 und Team Foundation Server 2012 von der Planung über
die Implementierung und die Integration von automatisierten Tests in den zentralen
Build Prozess bis hin zum Management von Bugs veranschaulicht. Freuen Sie sich auf
einen Tag voller Anregungen und Goodies, und das immer aus der Sicht des Entwicklers. 
</p>
        <p>
Es gilt: Hands-On, bringen Sie ruhig Ihr Laptop mit! 
</p>
        <p>
 
</p>
        <p>
          <strong>
          </strong>
        </p>
        <h3>TFS 2012 für Scrum-Teams
</h3>
        <p>
          <strong>Referent:</strong>Thomas Schissler (MVP für Visual Studio ALM), artiso AG 
</p>
        <p>
          <strong>Datum und Uhrzeit:</strong> 27. November 2012, 9:00 - 17:00 Uhr 
</p>
        <p>
          <strong>Anspruch:</strong> Grundkenntnisse über Scrum sollten vorhanden sein 
</p>
        <p>
          <strong>Abstract:</strong> Der TFS 2012 bringt viele lang vermisste Features für agile
Teams und noch einiges mehr. Backlog Management, Task Board, Team-Strukturen, Code
Reviews und Feedback Tool sind nur ein Auszug aus den Neuerungen, mit denen der neue
TFS aufwarten kann. 
</p>
        <p>
In diesem Workshop werden die Teilnehmer am eigenen PC einen kompletten Scrum-Zyklus
durchspielen und dabei diese Features nicht nur kennen lernen, sondern es wird auch
ausreichend Zeit sein, um über Einsatzszenarien, Alternativen und mögliche Defizite
zu diskutieren. 
</p>
        <p>
Hilfreich ist, wenn die Teilnehmer bereits mit den Grundkonzepten von Scrum vertraut
sind, da auf diese im Workshop nicht gezielt eingegangen wird. 
</p>
        <p>
  
</p>
        <h3>Test-Strategien für agile Teams
</h3>
        <p>
          <strong>Referent:</strong> Thomas Schissler (MVP für Visual Studio ALM), artiso AG 
</p>
        <p>
          <strong>Datum und Uhrzeit: </strong>30. November 2012, 9:00 - 17:00 Uhr 
</p>
        <p>
          <strong>Anspruch:</strong> Einsteiger 
</p>
        <p>
          <strong>Abstract:</strong> Klassische Test-Strategien sind darauf ausgelegt, dass
zwischen Entwicklung und Auslieferung eine intensive Test-Phase erfolgt. Für agile
Teams, die auf sehr kurze Auslieferungsintervalle setzen, sind diese Strategien unbrauchbar. 
</p>
        <p>
Der Workshop zeigt auf, wie sich eine effiziente Test-Strategie für agile Software-Projekte
von klassischen Ansätzen unterscheidet, welche neue Methoden und Techniken agile Teams
idealerweise benutzen und welche Rolle dabei der Test-Automatisierung zukommt. 
</p>
        <p>
Darüber hinaus werden aber auch sog. weiche Faktoren wie Team-Organisation und Mindset
betrachtet. 
</p>
        <p>
Und natürlich gibt es jede Menge Hands On, um die vorgestellten Tools wie Unit-Testing,
UI-Testing, Microsoft Test Manager, Performance- und Load Tests, Test Reporting etc.
auch gleich kennen zu lernen und praktisch anwendbares Wissen mitzunehmen. <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=aa677f8b-a13e-451a-a2b0-f5c07a33a922" /></p>
      </body>
      <title>Workshops auf den ALM Days</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,aa677f8b-a13e-451a-a2b0-f5c07a33a922.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,aa677f8b-a13e-451a-a2b0-f5c07a33a922.aspx</link>
      <pubDate>Wed, 15 Aug 2012 06:49:01 GMT</pubDate>
      <description>&lt;p&gt;
Vom 27. bis 30. November finden die &lt;a href="http://www.teamconf.de/"&gt;ALM Days&lt;/a&gt; in
München statt, für alle TFS Anwender eigentlich eine Pflichtveranstaltung, da hier
versammelt ist, wass im Visual Studio ALM Umfeld Rang und Namen hat. Allein die beiden &lt;a href="http://www.teamconf.de/keynote-speaker.html"&gt;Key-Note
Speaker&lt;/a&gt; Brain Harry und Sam Guckenheimer sind Grund genug, diese Veranstaltung
nicht zu versäumen.
&lt;/p&gt;
&lt;p&gt;
Im Rahmen der ALM Days werden mein Kollege Thomas Trotzki und ich mit diversen Vorträgen
und Workshops vertreten sein. artiso wird auf den ALM Days auch als Austeller vertreten
sein. Ich würde mich freuen, den einen oder anderen Leser meines Blogs auf den ALM
Days zu treffen. Jeder der mich dort anspricht und sich als Leser meines Blogs “outet”
bekommt von mir einen Satz Planning-Poker Karten :-)
&lt;/p&gt;
&lt;p&gt;
Hier schon mal ein Ausblick auf unsere Ganztages-Workshops:
&lt;/p&gt;
&lt;h3&gt;ALM &amp;amp; TFS für C++ Programmierer
&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Referent:&lt;/strong&gt;Thomas Trotzki, artiso AG 
&lt;p&gt;
&lt;strong&gt;Datum und Uhrzeit:&lt;/strong&gt; 30. November 2012, 9:00 - 17:00 Uhr 
&lt;p&gt;
&lt;strong&gt;Anspruch:&lt;/strong&gt; TFS-Einsteiger 
&lt;p&gt;
&lt;strong&gt;Abstract:&lt;/strong&gt;&amp;nbsp; Im C++ Umfeld werden bislang bis auf Version Control
nur vereinzelt weitere Bausteine des ALM verwendet, obwohl es hierfür aus technischer
Sicht keine Gründe gibt. Dieser Workshop richtet sich daher an alle C++ Entwickler,
die momentan noch auf die Vorzüge der Integration der unterschiedlichen ALM Aspekte
in Team Foundation Server verzichten. Anhand eines überschaubaren Beispiels wird die
Arbeit mit Visual Studio 2012 und Team Foundation Server 2012 von der Planung über
die Implementierung und die Integration von automatisierten Tests in den zentralen
Build Prozess bis hin zum Management von Bugs veranschaulicht. Freuen Sie sich auf
einen Tag voller Anregungen und Goodies, und das immer aus der Sicht des Entwicklers. 
&lt;p&gt;
Es gilt: Hands-On, bringen Sie ruhig Ihr Laptop mit! 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;/strong&gt; 
&lt;h3&gt;TFS 2012 für Scrum-Teams
&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Referent:&lt;/strong&gt;Thomas Schissler (MVP für Visual Studio ALM), artiso AG 
&lt;p&gt;
&lt;strong&gt;Datum und Uhrzeit:&lt;/strong&gt; 27. November 2012, 9:00 - 17:00 Uhr 
&lt;p&gt;
&lt;strong&gt;Anspruch:&lt;/strong&gt; Grundkenntnisse über Scrum sollten vorhanden sein 
&lt;p&gt;
&lt;strong&gt;Abstract:&lt;/strong&gt; Der TFS 2012 bringt viele lang vermisste Features für agile
Teams und noch einiges mehr. Backlog Management, Task Board, Team-Strukturen, Code
Reviews und Feedback Tool sind nur ein Auszug aus den Neuerungen, mit denen der neue
TFS aufwarten kann. 
&lt;p&gt;
In diesem Workshop werden die Teilnehmer am eigenen PC einen kompletten Scrum-Zyklus
durchspielen und dabei diese Features nicht nur kennen lernen, sondern es wird auch
ausreichend Zeit sein, um über Einsatzszenarien, Alternativen und mögliche Defizite
zu diskutieren. 
&lt;p&gt;
Hilfreich ist, wenn die Teilnehmer bereits mit den Grundkonzepten von Scrum vertraut
sind, da auf diese im Workshop nicht gezielt eingegangen wird. 
&lt;p&gt;
&amp;nbsp; 
&lt;h3&gt;Test-Strategien für agile Teams
&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Referent:&lt;/strong&gt; Thomas Schissler (MVP für Visual Studio ALM), artiso AG 
&lt;p&gt;
&lt;strong&gt;Datum und Uhrzeit: &lt;/strong&gt;30. November 2012, 9:00 - 17:00 Uhr 
&lt;p&gt;
&lt;strong&gt;Anspruch:&lt;/strong&gt; Einsteiger 
&lt;p&gt;
&lt;strong&gt;Abstract:&lt;/strong&gt; Klassische Test-Strategien sind darauf ausgelegt, dass
zwischen Entwicklung und Auslieferung eine intensive Test-Phase erfolgt. Für agile
Teams, die auf sehr kurze Auslieferungsintervalle setzen, sind diese Strategien unbrauchbar. 
&lt;p&gt;
Der Workshop zeigt auf, wie sich eine effiziente Test-Strategie für agile Software-Projekte
von klassischen Ansätzen unterscheidet, welche neue Methoden und Techniken agile Teams
idealerweise benutzen und welche Rolle dabei der Test-Automatisierung zukommt. 
&lt;p&gt;
Darüber hinaus werden aber auch sog. weiche Faktoren wie Team-Organisation und Mindset
betrachtet. 
&lt;p&gt;
Und natürlich gibt es jede Menge Hands On, um die vorgestellten Tools wie Unit-Testing,
UI-Testing, Microsoft Test Manager, Performance- und Load Tests, Test Reporting etc.
auch gleich kennen zu lernen und praktisch anwendbares Wissen mitzunehmen. &lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=aa677f8b-a13e-451a-a2b0-f5c07a33a922" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,aa677f8b-a13e-451a-a2b0-f5c07a33a922.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=4f629209-6717-4af8-a4f0-19d474004198</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,4f629209-6717-4af8-a4f0-19d474004198.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,4f629209-6717-4af8-a4f0-19d474004198.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=4f629209-6717-4af8-a4f0-19d474004198</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Nachdem ich beim deutschen Launch Event zu Visual Studio 2012 und .Net 4.5 mit dabei
sein darf, hier ein paar Informationen zu dieser Veranstaltung von <a href="http://blogs.msdn.com/b/cbinder/archive/2012/08/10/launch-am-1-oktober-visual-studio-net-evolution.aspx">Christian
Binders</a> Blog: 
</p>
        <p>
  
</p>
        <blockquote>
          <table border="0" cellspacing="0" cellpadding="2" width="540">
            <tbody>
              <tr>
                <td valign="top" width="538">
                  <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/3036.VS_5F00_Launch_5F00_Grafik_5F00_4F715CCC.png">
                    <img title="VS_Launch_Grafik" border="0" alt="VS_Launch_Grafik" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/3036.VS_5F00_Launch_5F00_Grafik_5F00_thumb_5F00_4D545E03.png" width="529" height="191" />
                  </a>
                  <br />
                  <br />
Visual Studio 2012 und das .NET Framework 4.5 ist fertig und wir laden Euch am <strong>1.
Oktober in Düsseldorf</strong> zu unserem offiziellen Launch Event ein. Es gibt eine
Menge Neuerungen, die wir Euch zeigen wollen und natürlich haben wir Top Sprecher
aus der .NET Community mit dabei. 
<br /><br />
Die Keynote wird Brandon Bray zum Thema “ <b>.NET from Past to Future</b>” halten.
Brandon ist Director .NET Core Platform und arbeitet am Campus in Redmond. Ich freue
mich Brandon für dieses Event gewonnen zu haben, denn Ihr wollt Doch aus erster Hand
erfahren, wo die Reise hingeht. 
<br />
Auch möchten wir, dass der Launch die Möglichkeit zum Austausch und Networking in
der .NET Community bietet. 
<br /><br />
Das Event wird kostenfrei sein und ihr könnt Euch ab dem 14.8 auf der <a href="http://www.microsoft.com/germany/visualstudio/events/vs-evolution-2012.aspx">Visual
Studio Webseite</a> anmelden. 
<br /><br />
Hier schon mal ein Blick auf die Inhalte:<a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/2072.image_5F00_7E0765AE.png"><img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/8738.image_5F00_thumb_5F00_0158D78A.png" width="530" height="402" /></a></td>
              </tr>
            </tbody>
          </table>
          <p>
 
</p>
        </blockquote>
        <p>
Würde mich freuen den einen oder anderen Leser meines Blogs dort zu treffen <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Visual-Studi.5-Launch-Event-in-Dsseldorf_E305/wlEmoticon-smile_2.png" /><img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=4f629209-6717-4af8-a4f0-19d474004198" /></p>
      </body>
      <title>Visual Studio 2012 + .Net 4.5 Launch Event in Düsseldorf</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,4f629209-6717-4af8-a4f0-19d474004198.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,4f629209-6717-4af8-a4f0-19d474004198.aspx</link>
      <pubDate>Mon, 13 Aug 2012 13:28:02 GMT</pubDate>
      <description>&lt;p&gt;
Nachdem ich beim deutschen Launch Event zu Visual Studio 2012 und .Net 4.5 mit dabei
sein darf, hier ein paar Informationen zu dieser Veranstaltung von &lt;a href="http://blogs.msdn.com/b/cbinder/archive/2012/08/10/launch-am-1-oktober-visual-studio-net-evolution.aspx"&gt;Christian
Binders&lt;/a&gt; Blog: 
&lt;p&gt;
&amp;nbsp; &lt;blockquote&gt; 
&lt;table border="0" cellspacing="0" cellpadding="2" width="540"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="538"&gt;
&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/3036.VS_5F00_Launch_5F00_Grafik_5F00_4F715CCC.png"&gt;&lt;img title="VS_Launch_Grafik" border="0" alt="VS_Launch_Grafik" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/3036.VS_5F00_Launch_5F00_Grafik_5F00_thumb_5F00_4D545E03.png" width="529" height="191"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Visual Studio 2012 und das .NET Framework 4.5 ist fertig und wir laden Euch am &lt;strong&gt;1.
Oktober in Düsseldorf&lt;/strong&gt; zu unserem offiziellen Launch Event ein. Es gibt eine
Menge Neuerungen, die wir Euch zeigen wollen und natürlich haben wir Top Sprecher
aus der .NET Community mit dabei. 
&lt;br&gt;
&lt;br&gt;
Die Keynote wird Brandon Bray zum Thema “ &lt;b&gt;.NET from Past to Future&lt;/b&gt;” halten.
Brandon ist Director .NET Core Platform und arbeitet am Campus in Redmond. Ich freue
mich Brandon für dieses Event gewonnen zu haben, denn Ihr wollt Doch aus erster Hand
erfahren, wo die Reise hingeht. 
&lt;br&gt;
Auch möchten wir, dass der Launch die Möglichkeit zum Austausch und Networking in
der .NET Community bietet. 
&lt;br&gt;
&lt;br&gt;
Das Event wird kostenfrei sein und ihr könnt Euch ab dem 14.8 auf der &lt;a href="http://www.microsoft.com/germany/visualstudio/events/vs-evolution-2012.aspx"&gt;Visual
Studio Webseite&lt;/a&gt; anmelden. 
&lt;br&gt;
&lt;br&gt;
Hier schon mal ein Blick auf die Inhalte:&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/2072.image_5F00_7E0765AE.png"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/8738.image_5F00_thumb_5F00_0158D78A.png" width="530" height="402"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Würde mich freuen den einen oder anderen Leser meines Blogs dort zu treffen &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Visual-Studi.5-Launch-Event-in-Dsseldorf_E305/wlEmoticon-smile_2.png"&gt;&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=4f629209-6717-4af8-a4f0-19d474004198" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,4f629209-6717-4af8-a4f0-19d474004198.aspx</comments>
      <category>TFS 2012</category>
      <category>Vorträge</category>
      <category>VS 2012</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=d28dccb0-b532-4e08-a885-f278c65e083a</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,d28dccb0-b532-4e08-a885-f278c65e083a.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,d28dccb0-b532-4e08-a885-f278c65e083a.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d28dccb0-b532-4e08-a885-f278c65e083a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Das Thema C++ scheint tatsächlich doch (wieder) auch bei Microsoft eine große Aufmerksamkeit
zu erhalten. Jedenfalls bietet mein Kollege Thomas Trotzki nun eine zweite Runde der
erfolgreichen Roadshow C++ Day mit neuen Inhalten und Themen in Zusammenarbeit mit
Microsoft an. Also, wer mit C++ entwickelt sollte sich diese kostenlkose Info-Veranstaltung
nicht engehen lassen. 
</p>
        <p>
  
</p>
        <p>
          <img alt="cpp2" src="http://www.artisoag.com/images/bilder_website/cpp2.jpg" width="717" height="239" />
        </p>
        <p>
Nach einem sehr erfolgreichen ersten C++Day dieses Jahr und einer sehr gut besuchten
ADC C++ möchten wir weiter kontinuierlich Themen für C++ Entwickler anbieten. Daher
laden wir zu einem weiteren kostenfreien C++ Day 2012 mit dem folgenden Schwerpunkten
ein: 
</p>
        <p>
          <em>“Windows 8 für C++ Entwickler”</em>, um die neuen sehr guten Möglichkeiten für
C++ Entwickler mit Windows 8 zu beleuchten.<em> “ALM für C++ Entwickler”</em>, für
alle C++ Entwickler, die Ihre Entwicklungs Infrastruktur optimieren möchten. 
</p>
        <h4>Teilnahme: Kostenlos
</h4>
        <h4>Wann? Wo?
</h4>
        <p>
14.06.2012 14:00 - 19:00 Berlin: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514028&amp;Culture=de-DE">DETAILS
u. ANMELDUNG</a><br />
18.06.2012 14:00 - 19:00 München: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514030&amp;Culture=de-DE">DETAILS
u. ANMELDUNG</a><br />
25.06.2012 14:00 - 19:00 Köln: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514031&amp;Culture=de-DE">DETAILS
u. ANMELDUNG</a><a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502637&amp;Culture=de-DE"><br /></a>26.06.2012 14:00 - 19:00 Bad Homburg: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514032&amp;Culture=de-DE">DETAILS
u. ANMELDUNG<br /></a>03.07.2012 14:00 - 19:00 Ulm/Blaustein: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514033&amp;Culture=de-DE">DETAILS
u. ANMELDUNG</a></p>
        <h4>Folgende Themen erwarten Sie:
</h4>
        <p>
          <strong>
            <em>14:00 - 15:15</em> | Windows 8 Metro Style Apps mit C++ und XAML</strong>
        </p>
        <p>
Unter Windows 8 erhält nun auch der C++ Programmierer die Möglichkeit optisch modernste
Benutzerschnittstellen mit XAML zu „deklarieren“ und auf die Windows Runtime (WinRT)
zurückzugreifen. Somit steht für Windows 8 Metro Style Apps erstmals ein neues UI
Framework zur Verfügung. Dieser Vortrag vermittelt Ihnen die wesentlichen Grundlagen
zu Windows 8 Metro Style Apps mit dem dazugehörigen Interaktionsmodell und zeigt,
wie Sie mit Visual C++ und XAML eigene Metro Apps erstellen können. Das Konzept des
App Stores rundet den Vortrag ab. 
</p>
        <p>
          <em>15:15 – 15:30 Pause</em>
        </p>
        <p>
          <strong>
            <em>15:30 - 16:45</em> | WinRT für C++ Entwickler</strong>
        </p>
        <p>
Die Windows Runtime (WinRT) ist die neue Library für Metro Style Apps. Mit native
C++ lassen sich Komponenten und Treiber für WinRT und damit für Metro Style Apps erstellen.
Hierfür hat Microsoft die C++ Syntax wie bereits für C++ /CLI erweitert, es steht
nun C++ /CX zur Verfügung. Erfahren Sie in diesem Vortrag, wie Sie mit Visual C++
WinRT Komponenten erstellen und in Metro Apps verwenden können. Ein besonderer Fokus
wird dabei auch auf die C++ /CX Spracherweiterungen gesetzt. Eine Abgrenzung von C++
/CX zu C++ /CLI und C# rundet diesen Vortrag ab. 
</p>
        <p>
          <em>16:45 – 17:15 Pause</em>
        </p>
        <p>
          <strong>17:15 - 18:30 | ALM in C++ Projekten</strong>
        </p>
        <p>
Im C++ Umfeld werden bislang häufig bis auf Version Control nur vereinzelt weitere
Bausteine des ALM verwendet, obwohl es hierfür aus technischer Sicht keine Gründe
gibt. Dieser Vortrag richtet sich daher an alle Entwickler, die bislang auf die Vorzüge
der Integration der unterschiedlichen ALM Aspekte in Team Foundation Server verzichtet
haben. Anhand eines überschaubaren Beispiels wird die Arbeit mit Visual Studio 11
und Team Foundation Server 11 von der Definition eines Requirements, über die Implementierung
und die Integration von automatisierten Tests in den zentralen Build Prozess bis hin
zum Management von Bugs veranschaulicht. Abschließend gibt der Vortag einen kompakten
Ausblick auf die für C++ Entwickler relevanten Neuerungen mit TFS 11. 
</p>
        <p>
          <em>18:30 - 19:00 Q&amp;A</em>
          <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=d28dccb0-b532-4e08-a885-f278c65e083a" />
        </p>
      </body>
      <title>Wave 2 des C++ Days</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,d28dccb0-b532-4e08-a885-f278c65e083a.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,d28dccb0-b532-4e08-a885-f278c65e083a.aspx</link>
      <pubDate>Sun, 10 Jun 2012 05:02:19 GMT</pubDate>
      <description>&lt;p&gt;
Das Thema C++ scheint tatsächlich doch (wieder) auch bei Microsoft eine große Aufmerksamkeit
zu erhalten. Jedenfalls bietet mein Kollege Thomas Trotzki nun eine zweite Runde der
erfolgreichen Roadshow C++ Day mit neuen Inhalten und Themen in Zusammenarbeit mit
Microsoft an. Also, wer mit C++ entwickelt sollte sich diese kostenlkose Info-Veranstaltung
nicht engehen lassen. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;img alt="cpp2" src="http://www.artisoag.com/images/bilder_website/cpp2.jpg" width="717" height="239"&gt; 
&lt;p&gt;
Nach einem sehr erfolgreichen ersten C++Day dieses Jahr und einer sehr gut besuchten
ADC C++ möchten wir weiter kontinuierlich Themen für C++ Entwickler anbieten. Daher
laden wir zu einem weiteren kostenfreien C++ Day 2012 mit dem folgenden Schwerpunkten
ein: 
&lt;p&gt;
&lt;em&gt;“Windows 8 für C++ Entwickler”&lt;/em&gt;, um die neuen sehr guten Möglichkeiten für
C++ Entwickler mit Windows 8 zu beleuchten.&lt;em&gt; “ALM für C++ Entwickler”&lt;/em&gt;, für
alle C++ Entwickler, die Ihre Entwicklungs Infrastruktur optimieren möchten. 
&lt;h4&gt;Teilnahme: Kostenlos
&lt;/h4&gt;
&lt;h4&gt;Wann? Wo?
&lt;/h4&gt;
&lt;p&gt;
14.06.2012 14:00 - 19:00 Berlin: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514028&amp;amp;Culture=de-DE"&gt;DETAILS
u. ANMELDUNG&lt;/a&gt;
&lt;br&gt;
18.06.2012 14:00 - 19:00 München: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514030&amp;amp;Culture=de-DE"&gt;DETAILS
u. ANMELDUNG&lt;/a&gt;
&lt;br&gt;
25.06.2012 14:00 - 19:00 Köln: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514031&amp;amp;Culture=de-DE"&gt;DETAILS
u. ANMELDUNG&lt;/a&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502637&amp;amp;Culture=de-DE"&gt;
&lt;br&gt;
&lt;/a&gt;26.06.2012 14:00 - 19:00 Bad Homburg: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514032&amp;amp;Culture=de-DE"&gt;DETAILS
u. ANMELDUNG&lt;br&gt;
&lt;/a&gt;03.07.2012 14:00 - 19:00 Ulm/Blaustein: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514033&amp;amp;Culture=de-DE"&gt;DETAILS
u. ANMELDUNG&lt;/a&gt; 
&lt;h4&gt;Folgende Themen erwarten Sie:
&lt;/h4&gt;
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;14:00 - 15:15&lt;/em&gt; | Windows 8 Metro Style Apps mit C++ und XAML&lt;/strong&gt; 
&lt;p&gt;
Unter Windows 8 erhält nun auch der C++ Programmierer die Möglichkeit optisch modernste
Benutzerschnittstellen mit XAML zu „deklarieren“ und auf die Windows Runtime (WinRT)
zurückzugreifen. Somit steht für Windows 8 Metro Style Apps erstmals ein neues UI
Framework zur Verfügung. Dieser Vortrag vermittelt Ihnen die wesentlichen Grundlagen
zu Windows 8 Metro Style Apps mit dem dazugehörigen Interaktionsmodell und zeigt,
wie Sie mit Visual C++ und XAML eigene Metro Apps erstellen können. Das Konzept des
App Stores rundet den Vortrag ab. 
&lt;p&gt;
&lt;em&gt;15:15 – 15:30 Pause&lt;/em&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;15:30 - 16:45&lt;/em&gt; | WinRT für C++ Entwickler&lt;/strong&gt; 
&lt;p&gt;
Die Windows Runtime (WinRT) ist die neue Library für Metro Style Apps. Mit native
C++ lassen sich Komponenten und Treiber für WinRT und damit für Metro Style Apps erstellen.
Hierfür hat Microsoft die C++ Syntax wie bereits für C++ /CLI erweitert, es steht
nun C++ /CX zur Verfügung. Erfahren Sie in diesem Vortrag, wie Sie mit Visual C++
WinRT Komponenten erstellen und in Metro Apps verwenden können. Ein besonderer Fokus
wird dabei auch auf die C++ /CX Spracherweiterungen gesetzt. Eine Abgrenzung von C++
/CX zu C++ /CLI und C# rundet diesen Vortrag ab. 
&lt;p&gt;
&lt;em&gt;16:45 – 17:15 Pause&lt;/em&gt; 
&lt;p&gt;
&lt;strong&gt;17:15 - 18:30 | ALM in C++ Projekten&lt;/strong&gt; 
&lt;p&gt;
Im C++ Umfeld werden bislang häufig bis auf Version Control nur vereinzelt weitere
Bausteine des ALM verwendet, obwohl es hierfür aus technischer Sicht keine Gründe
gibt. Dieser Vortrag richtet sich daher an alle Entwickler, die bislang auf die Vorzüge
der Integration der unterschiedlichen ALM Aspekte in Team Foundation Server verzichtet
haben. Anhand eines überschaubaren Beispiels wird die Arbeit mit Visual Studio 11
und Team Foundation Server 11 von der Definition eines Requirements, über die Implementierung
und die Integration von automatisierten Tests in den zentralen Build Prozess bis hin
zum Management von Bugs veranschaulicht. Abschließend gibt der Vortag einen kompakten
Ausblick auf die für C++ Entwickler relevanten Neuerungen mit TFS 11. 
&lt;p&gt;
&lt;em&gt;18:30 - 19:00 Q&amp;amp;A&lt;/em&gt;&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=d28dccb0-b532-4e08-a885-f278c65e083a" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,d28dccb0-b532-4e08-a885-f278c65e083a.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=92612110-dd6e-4608-ba8b-56589b4dc119</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,92612110-dd6e-4608-ba8b-56589b4dc119.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,92612110-dd6e-4608-ba8b-56589b4dc119.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=92612110-dd6e-4608-ba8b-56589b4dc119</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Visual-Studio-11-Beta_13D2B/image_2.png">
            <img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Visual-Studio-11-Beta_13D2B/image_thumb.png" width="978" height="386" />
          </a>
        </p>
        <p>
Zusammen mit meinen MVP-Kollegen Sven Hubert und Neno Loje sowie Christian Binder,
Daniel Meixner, Patric Boscolo und Uwe Baumann von der Microsoft bin ich am 24.04,
25.04, 26.04 und 10.05 in Deutschland unterwegs um die nächste Version von Visual
Studio und TFS vorzustellen.
</p>
        <p>
          <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
            <font face="Calibri">
              <font style="font-size: 24pt">Agenda</font>
            </font>
          </span>
        </p>
        <table class="MsoTableMediumShading1Accent1" style="border-top: medium none; border-right: medium none; border-collapse: collapse; border-bottom: medium none; border-left: medium none; mso-border-alt: solid #7ba0cd 1.0pt; mso-border-themecolor: accent1; mso-border-themetint: 191; mso-yfti-tbllook: 1056; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1">
          <tbody>
            <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes">
              <td style="border-top: #7ba0cd 1pt solid; border-right: medium none; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-themecolor: accent1; mso-border-themetint: 191; mso-background-themecolor: accent1" valign="top" width="50">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center">
                  <b>
                    <span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1">
                      <font face="Calibri">
                        <font style="font-size: 17pt" color="#ffffff">Beginn</font>
                      </font>
                    </span>
                  </b>
                </p>
              </td>
              <td style="border-top: #7ba0cd 1pt solid; border-right: medium none; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191" valign="top" width="50">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center">
                  <b>
                    <span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1">
                      <font face="Calibri">
                        <font style="font-size: 17pt" color="#ffffff">Ende</font>
                      </font>
                    </span>
                  </b>
                </p>
              </td>
              <td style="border-top: #7ba0cd 1pt solid; border-right: medium none; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center">
                  <b>
                    <span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1">
                      <font face="Calibri">
                        <font style="font-size: 17pt" color="#ffffff">Inhalt</font>
                      </font>
                    </span>
                  </b>
                </p>
              </td>
              <td style="border-top: #7ba0cd 1pt solid; border-right: #7ba0cd 1pt solid; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-themecolor: accent1; mso-border-themetint: 191; mso-background-themecolor: accent1" valign="top" width="110">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center">
                  <b>
                    <span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1">
                      <font face="Calibri">
                        <font style="font-size: 17pt" color="#ffffff">Sprecher</font>
                      </font>
                    </span>
                  </b>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 0">
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">14:00 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">14:10 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Begrüßung </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Uwe
Baumann, Christian Binder </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 1">
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">14:10 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">15:00 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Visual
Studio 11: Die neue IDE </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Daniel
Meixner, Patric Boscolo </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 2">
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">15:00 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">15:15 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Pause </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">  </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 3">
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">15:15 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">16:00 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Mehr
Produktivität mit Team Foundation Server und Visual Studio 11 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Thomas
Schissler, Sven Hubert </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 4">
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">16:30 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">17:00 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Pause </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">  </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 5">
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">17:00 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">18:15 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Agile
Teams mit Visual Studio ALM 11 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Neno
Loje, Christian Binder </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 6">
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">18:15 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">18:30 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Pause </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">  </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
            <tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes">
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">18:30 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">19:00 </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Ask
The Expert </font>
                    </font>
                  </span>
                </p>
              </td>
              <td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top">
                <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128">
                  <span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de">
                    <font face="Calibri">
                      <font style="font-size: 13pt">Alle </font>
                    </font>
                  </span>
                </p>
              </td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <p>
Weitere Informationen und die Anmeldung finden sich hier: <a title="http://www.microsoft.com/germany/visualstudio/events/eleven-roadshow.aspx" href="http://www.microsoft.com/germany/visualstudio/events/eleven-roadshow.aspx">http://www.microsoft.com/germany/visualstudio/events/eleven-roadshow.aspx</a></p>
        <iframe height="300" src="http://player.vimeo.com/video/38632976?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="400" mozallowfullscreen="mozallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" allowfullscreen="allowfullscreen">
        </iframe>
        <p>
          <a href="http://vimeo.com/38632976">Visual Studio 11 Beta Roadshow Trailer</a> from <a href="http://vimeo.com/codingclass">MSDN
Coding Class (Microsoft)</a> on <a href="http://vimeo.com">Vimeo</a>.
</p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=92612110-dd6e-4608-ba8b-56589b4dc119" />
      </body>
      <title>Visual Studio 11 Beta Roadshow</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,92612110-dd6e-4608-ba8b-56589b4dc119.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,92612110-dd6e-4608-ba8b-56589b4dc119.aspx</link>
      <pubDate>Wed, 21 Mar 2012 22:30:50 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Visual-Studio-11-Beta_13D2B/image_2.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/Visual-Studio-11-Beta_13D2B/image_thumb.png" width="978" height="386"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Zusammen mit meinen MVP-Kollegen Sven Hubert und Neno Loje sowie Christian Binder,
Daniel Meixner, Patric Boscolo und Uwe Baumann von der Microsoft bin ich am 24.04,
25.04, 26.04 und 10.05 in Deutschland unterwegs um die nächste Version von Visual
Studio und TFS vorzustellen.
&lt;/p&gt;
&lt;p&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 24pt"&gt;Agenda&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;table class="MsoTableMediumShading1Accent1" style="border-top: medium none; border-right: medium none; border-collapse: collapse; border-bottom: medium none; border-left: medium none; mso-border-alt: solid #7ba0cd 1.0pt; mso-border-themecolor: accent1; mso-border-themetint: 191; mso-yfti-tbllook: 1056; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;td style="border-top: #7ba0cd 1pt solid; border-right: medium none; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-themecolor: accent1; mso-border-themetint: 191; mso-background-themecolor: accent1" valign="top" width="50"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center"&gt;
&lt;b&gt;&lt;span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 17pt" color="#ffffff"&gt;Beginn&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: #7ba0cd 1pt solid; border-right: medium none; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191" valign="top" width="50"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center"&gt;
&lt;b&gt;&lt;span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 17pt" color="#ffffff"&gt;Ende&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: #7ba0cd 1pt solid; border-right: medium none; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center"&gt;
&lt;b&gt;&lt;span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 17pt" color="#ffffff"&gt;Inhalt&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: #7ba0cd 1pt solid; border-right: #7ba0cd 1pt solid; background: #4f81bd; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-themecolor: accent1; mso-border-themetint: 191; mso-background-themecolor: accent1" valign="top" width="110"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1" align="center"&gt;
&lt;b&gt;&lt;span style="color: ; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de; mso-themecolor: background1"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 17pt" color="#ffffff"&gt;Sprecher&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 0"&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;14:00 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;14:10 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Begrüßung &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Uwe
Baumann, Christian Binder &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1"&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;14:10 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;15:00 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Visual
Studio 11: Die neue IDE &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Daniel
Meixner, Patric Boscolo &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2"&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;15:00 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;15:15 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Pause &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3"&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;15:15 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;16:00 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Mehr
Produktivität mit Team Foundation Server und Visual Studio 11 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Thomas
Schissler, Sven Hubert &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4"&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;16:30 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;17:00 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Pause &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 5"&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;17:00 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;18:15 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Agile
Teams mit Visual Studio ALM 11 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Neno
Loje, Christian Binder &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 6"&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;18:15 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;18:30 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Pause &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; background: #d3dfee; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: accent1; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-background-themetint: 63; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes"&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #7ba0cd 1pt solid; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-left-themecolor: accent1; mso-border-left-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;18:30 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;19:00 &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: medium none; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Ask
The Expert &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: medium none; border-right: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-themecolor: accent1; mso-border-top-themetint: 191; mso-border-bottom-themecolor: accent1; mso-border-bottom-themetint: 191; mso-border-top-alt: solid #7ba0cd 1.0pt; mso-border-right-themecolor: accent1; mso-border-right-themetint: 191" valign="top"&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 128"&gt;
&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: de"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 13pt"&gt;Alle &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Weitere Informationen und die Anmeldung finden sich hier: &lt;a title="http://www.microsoft.com/germany/visualstudio/events/eleven-roadshow.aspx" href="http://www.microsoft.com/germany/visualstudio/events/eleven-roadshow.aspx"&gt;http://www.microsoft.com/germany/visualstudio/events/eleven-roadshow.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;iframe height="300" src="http://player.vimeo.com/video/38632976?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="400" mozallowfullscreen webkitallowfullscreen allowfullscreen&gt;
&lt;/iframe&gt;
&lt;p&gt;
&lt;a href="http://vimeo.com/38632976"&gt;Visual Studio 11 Beta Roadshow Trailer&lt;/a&gt; from &lt;a href="http://vimeo.com/codingclass"&gt;MSDN
Coding Class (Microsoft)&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=92612110-dd6e-4608-ba8b-56589b4dc119" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,92612110-dd6e-4608-ba8b-56589b4dc119.aspx</comments>
      <category>Team System Server</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <b>Thomas Trotzki, ein Kollege von mir, führt im Auftrag von Microsoft die C++ Days
durch. Es gibt noch vereinzelt Plätze. Wer also mit C++ arbeitet dem sei diese Veranstaltungsreihe
wärmstens empfolen.</b>
        </p>
        <p>
          <b>
            <img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="C++ Day 2012" border="0" alt="C++ Day 2012" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/5127.image13_5F00_3AD0D60E.png" width="598" height="223" />
          </b>
        </p>
        <p>
          <b>C++ geht mit der Zeit – gehen Sie mit! Wir zeigen Ihnen die Neuerungen und Trends
in der Microsoft C++-Welt, von neuen Sprachfeatures über effektive Parallelisierung
bis hin zu professionellem Software Engineering durch Application Lifecycle Management.
Termine gibt es in Berlin, Bad Homburg, Karlsruhe oder Köln. Die Teilnahme ist natürlich
kostenlos, aber die Plätze sind begrenzt.</b>
        </p>
        <p>
Zugegeben: In den letzten Jahren waren die Neuerungen rund um die „managed“ .Net-Programmierung
mit einschlägigen Sprachen wie C# im Fokus der Aufmerksamkeit. So ist .Net zu einer
der produktivsten Entwicklungsplattformen gewachsen. 
</p>
        <p>
Doch C++ ist zurück im Rampenlicht: Auch im 21. Jahrhundert wird C++ als Programmiersprache
nicht weg zu denken sein. In C++ können Sie stets selbst zwischen Performance und
Abstraktion wählen. Kein unnötiger Overhead, bei Bedarf volle Kontrolle. Und genau
das wird C++ auch in der Zukunft seinen Platz unter den Programmiersprachen sichern
– der Trend immer komplexere Anwendungen auf immer kleinere Hardware zu bringen unterstützt
dies nachhaltig. 
</p>
        <p>
Seit Visual Studio 6.0 hat sich auch in der Microsoft C++-Welt viel getan –also höchste
Zeit für ein Wissens-Update. 
</p>
        <h6>Wo? Wann?
</h6>
        <p>
2.2.2012 14:00- 18:00 <strong>Berlin</strong>: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502632&amp;Culture=de-DE">ANMELDUNG</a><br />
7.2.2012 14:00- 18:00 <strong>Bad Homburg</strong>: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502635&amp;Culture=de-DE">ANMELDUNG</a><br />
13.2.2012 14:00- 18:00 <strong>Karlsruhe</strong>: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502637&amp;Culture=de-DE">ANMELDUNG</a><br />
5.3.2012 14:00- 18:00<strong> Köln</strong>: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502646&amp;Culture=de-DE">ANMELDUNG</a><br />
Teilnahme: Kostenlos 
</p>
        <p>
Der C++ Day 2012 wird freundlicherweise unterstützt von artiso. 
</p>
        <h5>Folgende Themen erwarten Sie:
</h5>
        <h6>C++ 11: Modernes C++ im 21. Jahrhundert
</h6>
        <p>
C++ bleibt aktuell – neue Sprachfeatures machen den nativen Klassiker fit für neue
Herausforderungen. Dieser Vortrag gibt Ihnen einen Überblick über die wesentlichsten
Neuerungen in C++ 11 – wie beispielsweise Smartpointer mit Reference-Counting (<i>shared_ptr</i>),
Lambda-Expressions, neue Container-Klassen, Iteratoren und Sprachkonstrukte wie for_each
sowie RValue References. 
</p>
        <h6>Parallel-Power in Visual Studio 11: Konzepte und Tools
</h6>
        <p>
Effektive parallele Programmierung erhöht die Performance in vielen Fällen drastisch,
braucht aber das richtige Know-How und spezialisierte Tools. Denn bei stetig steigender
Anzahl an Cores und CPUs wird es immer wichtiger, das Anwendungsmodell in Richtung
Skalierbarkeit hinsichtlich Multiprocessing auszulegen. Auch das Debugging bietet
einige Herausforderungen. Verschaffen Sie sich einen Überblick über die neuen Konzepte
rund um Parallelisierung in Windows API, Concurrency Runtime und Visual Studio. 
</p>
        <h6>Application Lifecycle Management für C++: Die nächste Generation
</h6>
        <p>
Application Lifecycle Management ist mittlerweile auch in der nativen Entwicklung
Pflicht: Mit Team Foundation Server haben Projektteams jeder Größe ein zentrales Portal
für Zusammenarbeit, Versionskontrolle, Work Item Tracking, Build-Management, Prozessunterstützung
und Fortschrittsreports . Dies ermöglicht den Mitgliedern von Teams, besser und effizienter
zusammenzuarbeiten. Der Haken bisher: Die wichtigsten Features wurden auch für C++
unterstützt, aber bestimmte interessante Features waren der .NET Welt vorbehalten.
Die gute Nachricht: Visual Studio 11 zieht hier nun nach – sehen Sie, welche Neuerungen
sie erwarten. 
</p>
        <h5>Der Referent 
</h5>
        <h6>
        </h6>
        <p>
          <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/2043.image_5F00_7AFC0DA5.png">
            <img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/4118.image_5F00_thumb_5F00_5CCE4FF1.png" width="95" height="118" />
          </a>
          <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/8306.image_5F00_50602CC8.png">
            <img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/7142.image_5F00_thumb_5F00_6F36A0A6.png" width="65" height="46" />
          </a>
        </p>
        <p>
Thomas Trotzki ist ALM Consultant bei der artiso AG nahe Ulm und Microsoft-C++-Profi
der ersten Stunde. 
</p>
        <p>
Mit Microsoft C++ und den MFC beschäftigt er sich intensiv seit den ersten Beta-Versionen
zu Microsoft C/C++ 7.0, also bereits vor der Geburtsstunde von Visual C++ und Visual
Studio. 
</p>
        <p>
Technologisch ist er neben C++ und den MFC auch mit COM/DCOM und der gesamten „Managed
Welt“ vertraut und hat umfangreiche Expertise im Application Lifecycle Management.
Zurzeit betreut er Kunden bei der Einführung von Microsoft Team Foundation Server
und berät bei der Etablierung eines Application Lifecycle Management in deren Entwicklungsabteilungen. <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa" /></p>
      </body>
      <title>C++ Day–Informieren sie sich über die inzwischen wieder umfangreichen Neuerungen im Bereich C++</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa.aspx</link>
      <pubDate>Tue, 31 Jan 2012 13:24:51 GMT</pubDate>
      <description>&lt;p&gt;
&lt;b&gt;Thomas Trotzki, ein Kollege von mir, führt im Auftrag von Microsoft die C++ Days
durch. Es gibt noch vereinzelt Plätze. Wer also mit C++ arbeitet dem sei diese Veranstaltungsreihe
wärmstens empfolen.&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="C++ Day 2012" border="0" alt="C++ Day 2012" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/5127.image13_5F00_3AD0D60E.png" width="598" height="223"&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;C++ geht mit der Zeit – gehen Sie mit! Wir zeigen Ihnen die Neuerungen und Trends
in der Microsoft C++-Welt, von neuen Sprachfeatures über effektive Parallelisierung
bis hin zu professionellem Software Engineering durch Application Lifecycle Management.
Termine gibt es in Berlin, Bad Homburg, Karlsruhe oder Köln. Die Teilnahme ist natürlich
kostenlos, aber die Plätze sind begrenzt.&lt;/b&gt; 
&lt;p&gt;
Zugegeben: In den letzten Jahren waren die Neuerungen rund um die „managed“ .Net-Programmierung
mit einschlägigen Sprachen wie C# im Fokus der Aufmerksamkeit. So ist .Net zu einer
der produktivsten Entwicklungsplattformen gewachsen. 
&lt;p&gt;
Doch C++ ist zurück im Rampenlicht: Auch im 21. Jahrhundert wird C++ als Programmiersprache
nicht weg zu denken sein. In C++ können Sie stets selbst zwischen Performance und
Abstraktion wählen. Kein unnötiger Overhead, bei Bedarf volle Kontrolle. Und genau
das wird C++ auch in der Zukunft seinen Platz unter den Programmiersprachen sichern
– der Trend immer komplexere Anwendungen auf immer kleinere Hardware zu bringen unterstützt
dies nachhaltig. 
&lt;p&gt;
Seit Visual Studio 6.0 hat sich auch in der Microsoft C++-Welt viel getan –also höchste
Zeit für ein Wissens-Update. 
&lt;h6&gt;Wo? Wann?
&lt;/h6&gt;
&lt;p&gt;
2.2.2012 14:00- 18:00 &lt;strong&gt;Berlin&lt;/strong&gt;: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502632&amp;amp;Culture=de-DE"&gt;ANMELDUNG&lt;/a&gt;
&lt;br&gt;
7.2.2012 14:00- 18:00 &lt;strong&gt;Bad Homburg&lt;/strong&gt;: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502635&amp;amp;Culture=de-DE"&gt;ANMELDUNG&lt;/a&gt;
&lt;br&gt;
13.2.2012 14:00- 18:00 &lt;strong&gt;Karlsruhe&lt;/strong&gt;: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502637&amp;amp;Culture=de-DE"&gt;ANMELDUNG&lt;/a&gt;
&lt;br&gt;
5.3.2012 14:00- 18:00&lt;strong&gt; Köln&lt;/strong&gt;: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502646&amp;amp;Culture=de-DE"&gt;ANMELDUNG&lt;/a&gt;
&lt;br&gt;
Teilnahme: Kostenlos 
&lt;p&gt;
Der C++ Day 2012 wird freundlicherweise unterstützt von artiso. 
&lt;h5&gt;Folgende Themen erwarten Sie:
&lt;/h5&gt;
&lt;h6&gt;C++ 11: Modernes C++ im 21. Jahrhundert
&lt;/h6&gt;
&lt;p&gt;
C++ bleibt aktuell – neue Sprachfeatures machen den nativen Klassiker fit für neue
Herausforderungen. Dieser Vortrag gibt Ihnen einen Überblick über die wesentlichsten
Neuerungen in C++ 11 – wie beispielsweise Smartpointer mit Reference-Counting (&lt;i&gt;shared_ptr&lt;/i&gt;),
Lambda-Expressions, neue Container-Klassen, Iteratoren und Sprachkonstrukte wie for_each
sowie RValue References. 
&lt;h6&gt;Parallel-Power in Visual Studio 11: Konzepte und Tools
&lt;/h6&gt;
&lt;p&gt;
Effektive parallele Programmierung erhöht die Performance in vielen Fällen drastisch,
braucht aber das richtige Know-How und spezialisierte Tools. Denn bei stetig steigender
Anzahl an Cores und CPUs wird es immer wichtiger, das Anwendungsmodell in Richtung
Skalierbarkeit hinsichtlich Multiprocessing auszulegen. Auch das Debugging bietet
einige Herausforderungen. Verschaffen Sie sich einen Überblick über die neuen Konzepte
rund um Parallelisierung in Windows API, Concurrency Runtime und Visual Studio. 
&lt;h6&gt;Application Lifecycle Management für C++: Die nächste Generation
&lt;/h6&gt;
&lt;p&gt;
Application Lifecycle Management ist mittlerweile auch in der nativen Entwicklung
Pflicht: Mit Team Foundation Server haben Projektteams jeder Größe ein zentrales Portal
für Zusammenarbeit, Versionskontrolle, Work Item Tracking, Build-Management, Prozessunterstützung
und Fortschrittsreports . Dies ermöglicht den Mitgliedern von Teams, besser und effizienter
zusammenzuarbeiten. Der Haken bisher: Die wichtigsten Features wurden auch für C++
unterstützt, aber bestimmte interessante Features waren der .NET Welt vorbehalten.
Die gute Nachricht: Visual Studio 11 zieht hier nun nach – sehen Sie, welche Neuerungen
sie erwarten. 
&lt;h5&gt;Der Referent 
&lt;/h5&gt;
&lt;h6&gt;
&lt;/h6&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/2043.image_5F00_7AFC0DA5.png"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/4118.image_5F00_thumb_5F00_5CCE4FF1.png" width="95" height="118"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/8306.image_5F00_50602CC8.png"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-18-metablogapi/7142.image_5F00_thumb_5F00_6F36A0A6.png" width="65" height="46"&gt;&lt;/a&gt; 
&lt;p&gt;
Thomas Trotzki ist ALM Consultant bei der artiso AG nahe Ulm und Microsoft-C++-Profi
der ersten Stunde. 
&lt;p&gt;
Mit Microsoft C++ und den MFC beschäftigt er sich intensiv seit den ersten Beta-Versionen
zu Microsoft C/C++ 7.0, also bereits vor der Geburtsstunde von Visual C++ und Visual
Studio. 
&lt;p&gt;
Technologisch ist er neben C++ und den MFC auch mit COM/DCOM und der gesamten „Managed
Welt“ vertraut und hat umfangreiche Expertise im Application Lifecycle Management.
Zurzeit betreut er Kunden bei der Einführung von Microsoft Team Foundation Server
und berät bei der Etablierung eines Application Lifecycle Management in deren Entwicklungsabteilungen. &lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,3957b8bd-0eee-4f75-bfc9-4ba5f9c01dfa.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=aa97a6ee-f153-4571-a285-f9107a4712d7</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,aa97a6ee-f153-4571-a285-f9107a4712d7.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,aa97a6ee-f153-4571-a285-f9107a4712d7.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=aa97a6ee-f153-4571-a285-f9107a4712d7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/2d5d216f9747_E90B/image_2.png">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/2d5d216f9747_E90B/image_thumb.png" width="442" height="157" />
          </a>
        </p>
        <p>
Auf den ALM Days 2011 am 23.11 werde ich einen Workshop anbieten zum Thema “Scrum
mit TFS”. Dabei werde ich zeigen, wie man mit dem TFS Scrumm effizient umsetz, welche
Tricks es gibt um bestimmte Szenarien abzubilden und wie Visual Studio 2010 und TFS
dabei helfen können Herausforderungen bei agiler Entwicklung zu lösen.
</p>
        <p>
          <strong>Abstract:</strong> Agilität ist in und wer agil sagt, meint fast immer Scrum.
Die Konzepte die hinter Agilität stehen versprechen nicht nur effizientere Projekte
sondern auch motiviertere Teams mit mehr Spass am Entwickeln. Wer mit Scrum arbeitet
steht vor der Wahl, entweder ein Teamboard einzurichten auf dem Artefakte mit Zetteln
verwaltet werden oder auf ein Tool zu setzen um die Artefakte elektronisch abzubilden.
Der Workshop zeigt, wie sie mit dem TFS Scrum effizient abbilden und dabei die eine
oder andere Hürde überwinden. Dabei wird nicht nur auf den Planungsprozess eingegangen
sondern es wird auch aufgezeigt, wie Visual Studio 2010 und der TFS verschiedene Herausforderungen
im Bereich der agilen Entwicklung wie z.B.agiles Testing lösen. Kurzum, dieser Workshop
ist für jeden ein Muss der mit dem TFS arbeitet und agiler werden möchte oder der
Scrum einsetzt und sich eine passende Toolunterstützung wünscht.
</p>
        <p>
Weitere Infos unter <a href="http://www.teamconf.de/workshops/articles/ganztagesworkshop-1-mein-tfs-kann-scrum-wie-der-tfs-effizient-mit-scrum-genutzt-werden-kann.html">http://www.teamconf.de/workshops/articles/ganztagesworkshop-1-mein-tfs-kann-scrum-wie-der-tfs-effizient-mit-scrum-genutzt-werden-kann.html</a></p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=aa97a6ee-f153-4571-a285-f9107a4712d7" />
      </body>
      <title>Workshop &amp;ldquo;Scrum mit TFS&amp;rdquo; auf den ALM Days 2011</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,aa97a6ee-f153-4571-a285-f9107a4712d7.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,aa97a6ee-f153-4571-a285-f9107a4712d7.aspx</link>
      <pubDate>Tue, 19 Jul 2011 14:52:27 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/2d5d216f9747_E90B/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/2d5d216f9747_E90B/image_thumb.png" width="442" height="157"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Auf den ALM Days 2011 am 23.11 werde ich einen Workshop anbieten zum Thema “Scrum
mit TFS”. Dabei werde ich zeigen, wie man mit dem TFS Scrumm effizient umsetz, welche
Tricks es gibt um bestimmte Szenarien abzubilden und wie Visual Studio 2010 und TFS
dabei helfen können Herausforderungen bei agiler Entwicklung zu lösen.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Abstract:&lt;/strong&gt; Agilität ist in und wer agil sagt, meint fast immer Scrum.
Die Konzepte die hinter Agilität stehen versprechen nicht nur effizientere Projekte
sondern auch motiviertere Teams mit mehr Spass am Entwickeln. Wer mit Scrum arbeitet
steht vor der Wahl, entweder ein Teamboard einzurichten auf dem Artefakte mit Zetteln
verwaltet werden oder auf ein Tool zu setzen um die Artefakte elektronisch abzubilden.
Der Workshop zeigt, wie sie mit dem TFS Scrum effizient abbilden und dabei die eine
oder andere Hürde überwinden. Dabei wird nicht nur auf den Planungsprozess eingegangen
sondern es wird auch aufgezeigt, wie Visual Studio 2010 und der TFS verschiedene Herausforderungen
im Bereich der agilen Entwicklung wie z.B.agiles Testing lösen. Kurzum, dieser Workshop
ist für jeden ein Muss der mit dem TFS arbeitet und agiler werden möchte oder der
Scrum einsetzt und sich eine passende Toolunterstützung wünscht.
&lt;/p&gt;
&lt;p&gt;
Weitere Infos unter &lt;a href="http://www.teamconf.de/workshops/articles/ganztagesworkshop-1-mein-tfs-kann-scrum-wie-der-tfs-effizient-mit-scrum-genutzt-werden-kann.html"&gt;http://www.teamconf.de/workshops/articles/ganztagesworkshop-1-mein-tfs-kann-scrum-wie-der-tfs-effizient-mit-scrum-genutzt-werden-kann.html&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=aa97a6ee-f153-4571-a285-f9107a4712d7" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,aa97a6ee-f153-4571-a285-f9107a4712d7.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=f016d208-b87b-426e-8bb9-52e7ab720987</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,f016d208-b87b-426e-8bb9-52e7ab720987.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,f016d208-b87b-426e-8bb9-52e7ab720987.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=f016d208-b87b-426e-8bb9-52e7ab720987</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/image_2.png">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/image_thumb.png" width="244" height="87" />
          </a>
        </p>
        <p>
Auf der dotnet Cologne war ich dieses Jahr mit 2 Vorträgen vertreten, einmal mit dem
TFS 2010 Quickstart wo ich innerhalb des Vortrags in einer Stunde live einen TFS installiert,
die Versionsverwaltung und den Build eingerichtet, Requirements und Test Cases angelegt,
Testfälle spezifiziert und ausgeführt, Bugs angelegt und die Traceability demonstriert.
Im zweiten Vortrag habe ich verschiedene Best Practices zu SCRUM vorgestellt und die
Umsetzung mit TFS vorgestellt. Es war wieder eine tolle Konferenz, vielen Dank an
das Orga-Team. 
</p>
        <p>
Wer sich nochmals die Folien anschauen mag, hier sind die Links zum Download. Wenn
es nachträglich noch Fragen gibt, dann könnt ihreuch gerne per Mail an mich wenden.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ab5d1b81-4280-4ce7-be2c-8b76977c7f79" class="wlWriterEditableSmartContent">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/SCRUM%20mit%20TFS.pdf" target="_blank">SCRUM
mit TFS 2010</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/TFS%202010%20Quickstart.pdf" target="_blank">TFS
2010 Quickstart</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=f016d208-b87b-426e-8bb9-52e7ab720987" />
      </body>
      <title>Vortragsfolien zu meinen Vortr&amp;auml;gen auf der dotnet Cologne 2011</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,f016d208-b87b-426e-8bb9-52e7ab720987.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,f016d208-b87b-426e-8bb9-52e7ab720987.aspx</link>
      <pubDate>Sun, 08 May 2011 22:49:42 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/image_thumb.png" width="244" height="87"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Auf der dotnet Cologne war ich dieses Jahr mit 2 Vorträgen vertreten, einmal mit dem
TFS 2010 Quickstart wo ich innerhalb des Vortrags in einer Stunde live einen TFS installiert,
die Versionsverwaltung und den Build eingerichtet, Requirements und Test Cases angelegt,
Testfälle spezifiziert und ausgeführt, Bugs angelegt und die Traceability demonstriert.
Im zweiten Vortrag habe ich verschiedene Best Practices zu SCRUM vorgestellt und die
Umsetzung mit TFS vorgestellt. Es war wieder eine tolle Konferenz, vielen Dank an
das Orga-Team. 
&lt;/p&gt;
&lt;p&gt;
Wer sich nochmals die Folien anschauen mag, hier sind die Links zum Download. Wenn
es nachträglich noch Fragen gibt, dann könnt ihreuch gerne per Mail an mich wenden.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ab5d1b81-4280-4ce7-be2c-8b76977c7f79" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/SCRUM%20mit%20TFS.pdf" target="_blank"&gt;SCRUM
mit TFS 2010&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/Windows-Live-Writer/0c914cf1701c_149EA/TFS%202010%20Quickstart.pdf" target="_blank"&gt;TFS
2010 Quickstart&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=f016d208-b87b-426e-8bb9-52e7ab720987" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,f016d208-b87b-426e-8bb9-52e7ab720987.aspx</comments>
      <category>Scrum</category>
      <category>TFS 2010</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=f7a0b11f-c175-455b-b5a1-92c7431d632b</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,f7a0b11f-c175-455b-b5a1-92c7431d632b.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,f7a0b11f-c175-455b-b5a1-92c7431d632b.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=f7a0b11f-c175-455b-b5a1-92c7431d632b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Dieses Jahr ist nach längerer Zeit die TechEd, die wichtigste Microsoft-Konferenz
in Europa, wieder in Deutschland, genauer gesagt vom 09.Nov – 13. Nov in Berlin. Ich
werde dort als ATE (Ask the Experts) zum Thema Visual Studio ALM vertreten sien und
darüber hinaus mit Christian Binder und Neno Loje ein Q&amp;A Session zu den Themen
TFS, ALM und Visual Studio 2010 zu machen. Die Session wird in Deutsch sein, also
wenn ihr Fragen rund um den Themenbereich habt, besucht unsere Q&amp;A-Session. Soviel
geballtes Wissen auf einmal gibts nicht so bald wieder :-)
</p>
        <p>
Visual Studio Team Foundation Server Q&amp;A<br />
Mittwoch, 11. November<br />
14:00 – 15:00 Uhr<br />
Community Stage im Zentrum der Ausstellung Halle 4.2
</p>
        <p>
          <img src="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/TechEd2009BerlinVisualStudioTeamFoundati_A9AC/clip_image002_2.gif" width="312" height="193" />
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=f7a0b11f-c175-455b-b5a1-92c7431d632b" />
      </body>
      <title>TechEd in Berlin</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,f7a0b11f-c175-455b-b5a1-92c7431d632b.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,f7a0b11f-c175-455b-b5a1-92c7431d632b.aspx</link>
      <pubDate>Sat, 07 Nov 2009 07:15:43 GMT</pubDate>
      <description>&lt;p&gt;
Dieses Jahr ist nach längerer Zeit die TechEd, die wichtigste Microsoft-Konferenz
in Europa, wieder in Deutschland, genauer gesagt vom 09.Nov – 13. Nov in Berlin. Ich
werde dort als ATE (Ask the Experts) zum Thema Visual Studio ALM vertreten sien und
darüber hinaus mit Christian Binder und Neno Loje ein Q&amp;amp;A Session zu den Themen
TFS, ALM und Visual Studio 2010 zu machen. Die Session wird in Deutsch sein, also
wenn ihr Fragen rund um den Themenbereich habt, besucht unsere Q&amp;amp;A-Session. Soviel
geballtes Wissen auf einmal gibts nicht so bald wieder :-)
&lt;/p&gt;
&lt;p&gt;
Visual Studio Team Foundation Server Q&amp;amp;A&lt;br&gt;
Mittwoch, 11. November&lt;br&gt;
14:00 – 15:00 Uhr&lt;br&gt;
Community Stage im Zentrum der Ausstellung Halle 4.2
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/TechEd2009BerlinVisualStudioTeamFoundati_A9AC/clip_image002_2.gif" width="312" height="193"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=f7a0b11f-c175-455b-b5a1-92c7431d632b" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,f7a0b11f-c175-455b-b5a1-92c7431d632b.aspx</comments>
      <category>Vorträge</category>
      <category>VS 2010</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=6ea65198-bafd-4e34-9040-4a639af3c134</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,6ea65198-bafd-4e34-9040-4a639af3c134.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,6ea65198-bafd-4e34-9040-4a639af3c134.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=6ea65198-bafd-4e34-9040-4a639af3c134</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZweiterTerminfrVSTS.netDeveloperGroupUlm_E050/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZweiterTerminfrVSTS.netDeveloperGroupUlm_E050/image_thumb.png" width="524" height="102" />
          </a> 
</p>
        <p>
Die <a href="http://www.dotnet-ulm.de/">.net Developer Group Ulm</a> bietet am 27.10.2009
eine kostenlose Ganztagesveranstaltung rund um Visual Studio 2010 ALM (vormals VSTS
2010). Die Nachfrage für diese Veranstaltung ist so hoch, dass wir uns entschieden
haben, die Veranstaltung am 26. November nochmals mit gleichen Sprechern und gleichem
Inhalt zu wiederholen. Wer also noch Interesse hat, sollte sich bald möglichst unter <a href="http://www.dotnet-ulm.de/vsts2010/">http://www.dotnet-ulm.de/vsts2010/</a> registrieren,
wir haben noch ein paar Plätze frei.
</p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=6ea65198-bafd-4e34-9040-4a639af3c134" />
      </body>
      <title>Zweiter Termin f&amp;uuml;r VSTS 2010 Info-Day bei der .net Developer Group Ulm</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,6ea65198-bafd-4e34-9040-4a639af3c134.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,6ea65198-bafd-4e34-9040-4a639af3c134.aspx</link>
      <pubDate>Fri, 23 Oct 2009 13:59:38 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZweiterTerminfrVSTS.netDeveloperGroupUlm_E050/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZweiterTerminfrVSTS.netDeveloperGroupUlm_E050/image_thumb.png" width="524" height="102"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Die &lt;a href="http://www.dotnet-ulm.de/"&gt;.net Developer Group Ulm&lt;/a&gt; bietet am 27.10.2009
eine kostenlose Ganztagesveranstaltung rund um Visual Studio 2010 ALM (vormals VSTS
2010). Die Nachfrage für diese Veranstaltung ist so hoch, dass wir uns entschieden
haben, die Veranstaltung am 26. November nochmals mit gleichen Sprechern und gleichem
Inhalt zu wiederholen. Wer also noch Interesse hat, sollte sich bald möglichst unter &lt;a href="http://www.dotnet-ulm.de/vsts2010/"&gt;http://www.dotnet-ulm.de/vsts2010/&lt;/a&gt; registrieren,
wir haben noch ein paar Plätze frei.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=6ea65198-bafd-4e34-9040-4a639af3c134" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,6ea65198-bafd-4e34-9040-4a639af3c134.aspx</comments>
      <category>Usergroup</category>
      <category>Vorträge</category>
      <category>VS 2010</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=4c1d1396-b991-40d3-b250-545d929663af</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,4c1d1396-b991-40d3-b250-545d929663af.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,4c1d1396-b991-40d3-b250-545d929663af.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=4c1d1396-b991-40d3-b250-545d929663af</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AdvancedDeveloperConferenceinBonn_141/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AdvancedDeveloperConferenceinBonn_141/image_thumb.png" width="664" height="150" />
          </a>
        </p>
        <p>
Auf der diesjährigen ADC hatte ich zwei Vorträge:
</p>
        <ul>
          <li>
            <a href="http://tvt8uq.blu.livefilestore.com/y1pVrYyT8NiRVqhgojr46B0pZM1oHVGL1kknHtwY86fNx3BOqF3AJHj7rXclzg0wA0R_bWDsRAsbyWhtQq_bWbvrw/ADC09%20-%20Effektive%20Prozesse%20durch%20Architektur.pptx?download">Effektive
Prozesse durch Architektur</a>
          </li>
          <li>
            <a href="http://tvt8uq.blu.livefilestore.com/y1pY_unGSIlxvqIIhWcJ4MXWY0_xffVmG1_Obw6PbQAHNUKo0fYLzq-M5_bAoNpiSEMEPpWQGMBR7JB5uSoRMUcoQ/Team%20Organisation3.mmap?download">Organisation
von Entwicklerteams</a>
          </li>
        </ul>
        <p>
Zu beiden Vorträgen gibt es die Unterlagen über den jeweiligen obenstehenden Link.
</p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=4c1d1396-b991-40d3-b250-545d929663af" />
      </body>
      <title>Advanced Developer Conference in Bonn</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,4c1d1396-b991-40d3-b250-545d929663af.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,4c1d1396-b991-40d3-b250-545d929663af.aspx</link>
      <pubDate>Wed, 14 Oct 2009 22:07:19 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AdvancedDeveloperConferenceinBonn_141/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AdvancedDeveloperConferenceinBonn_141/image_thumb.png" width="664" height="150"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Auf der diesjährigen ADC hatte ich zwei Vorträge:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://tvt8uq.blu.livefilestore.com/y1pVrYyT8NiRVqhgojr46B0pZM1oHVGL1kknHtwY86fNx3BOqF3AJHj7rXclzg0wA0R_bWDsRAsbyWhtQq_bWbvrw/ADC09%20-%20Effektive%20Prozesse%20durch%20Architektur.pptx?download"&gt;Effektive
Prozesse durch Architektur&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://tvt8uq.blu.livefilestore.com/y1pY_unGSIlxvqIIhWcJ4MXWY0_xffVmG1_Obw6PbQAHNUKo0fYLzq-M5_bAoNpiSEMEPpWQGMBR7JB5uSoRMUcoQ/Team%20Organisation3.mmap?download"&gt;Organisation
von Entwicklerteams&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Zu beiden Vorträgen gibt es die Unterlagen über den jeweiligen obenstehenden Link.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=4c1d1396-b991-40d3-b250-545d929663af" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,4c1d1396-b991-40d3-b250-545d929663af.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=0910e995-aebe-4471-87c0-47195c3c52ea</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,0910e995-aebe-4471-87c0-47195c3c52ea.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,0910e995-aebe-4471-87c0-47195c3c52ea.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0910e995-aebe-4471-87c0-47195c3c52ea</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/ct.ashx?id=376e0002-8e9e-4b3a-8cb7-1fc652294b63&amp;url=http%3a%2f%2fwww.artiso.com%2fProBlog%2fcontent%2fbinary%2fWindowsLiveWriter%2fSilverlightbeider.NetDeveloperGroupUlm_D13E%2fclip_image001_2.gif">
            <img title="clip_image001" border="0" alt="clip_image001" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Silverlightbeider.NetDeveloperGroupUlm_D13E/clip_image001_thumb.gif" width="617" height="85" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Letzte Woche habe ich bei der .Net Developer-Group Ulm einen Vortrag zum Thema “10
Gründe warum Software-Projekte fehlschlagen – und was hilft ALM"?” gehalten. Es gab
zu diesem Vortrag eine reihe interessanter Diskussionen. Die Folien gibt’s hier zum
herunterladen:
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:6030f78c-be1a-4590-881f-ea534d557a54" class="wlWriterEditableSmartContent">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Vortragbeider.NetDeveloperGroupUlm_13813/10%20Gr%C3%BCnde%20f%C3%BCr%20fehlgeschlagene%20Software-Projekte.pptx" target="_blank">Download
Folien</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=0910e995-aebe-4471-87c0-47195c3c52ea" />
      </body>
      <title>Vortrag bei der .Net Developer Group Ulm</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,0910e995-aebe-4471-87c0-47195c3c52ea.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,0910e995-aebe-4471-87c0-47195c3c52ea.aspx</link>
      <pubDate>Tue, 12 May 2009 20:15:05 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/ct.ashx?id=376e0002-8e9e-4b3a-8cb7-1fc652294b63&amp;amp;url=http%3a%2f%2fwww.artiso.com%2fProBlog%2fcontent%2fbinary%2fWindowsLiveWriter%2fSilverlightbeider.NetDeveloperGroupUlm_D13E%2fclip_image001_2.gif"&gt;&lt;img title="clip_image001" border="0" alt="clip_image001" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Silverlightbeider.NetDeveloperGroupUlm_D13E/clip_image001_thumb.gif" width="617" height="85"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Letzte Woche habe ich bei der .Net Developer-Group Ulm einen Vortrag zum Thema “10
Gründe warum Software-Projekte fehlschlagen – und was hilft ALM"?” gehalten. Es gab
zu diesem Vortrag eine reihe interessanter Diskussionen. Die Folien gibt’s hier zum
herunterladen:
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:6030f78c-be1a-4590-881f-ea534d557a54" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Vortragbeider.NetDeveloperGroupUlm_13813/10%20Gr%C3%BCnde%20f%C3%BCr%20fehlgeschlagene%20Software-Projekte.pptx" target="_blank"&gt;Download
Folien&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=0910e995-aebe-4471-87c0-47195c3c52ea" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,0910e995-aebe-4471-87c0-47195c3c52ea.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=2449450d-d4ee-4c71-85bf-f7ff98b8f5f3</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,2449450d-d4ee-4c71-85bf-f7ff98b8f5f3.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,2449450d-d4ee-4c71-85bf-f7ff98b8f5f3.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=2449450d-d4ee-4c71-85bf-f7ff98b8f5f3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img src="http://www.teamconf.de/images/teamconf468x60.jpg" />
        </p>
        <p>
Bei der TeamConf handelt es sich um eine Konferenz mit dem Focus auf Themen rund um
VSTS und TFS. Da durfte ich natürlich nicht fehlen ;-)
</p>
        <p>
Leider war mein Vortrag der letzte der Konferenz und dazu noch parallel zum VSTS 2010
Vortrag von <a href="http://blogs.msdn.com/cbinder">Christian Binder</a>. Dennoch
fand sich eine interessierte Runde zum Thema “<a href="http://www.teamconf.de/downloads/Tag2/Paris/5_artiso.pdf">Requirements
Management in leichtgewichtigen Prozessen</a>” zusammen. Hier noch meine Folien zum
Download:
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:FF7EC618-8FBE-49a5-B908-2339AF2ABCDF:19303996-2395-45f2-9742-583e9e3425a4" class="wlWriterEditableSmartContent">
          <div>Download File - <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragaufderTeamConf_13582/tmp6328.zip" target="_self">TFSRequirementManagement</a></div>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=2449450d-d4ee-4c71-85bf-f7ff98b8f5f3" />
      </body>
      <title>Vortrag auf der TeamConf</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,2449450d-d4ee-4c71-85bf-f7ff98b8f5f3.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,2449450d-d4ee-4c71-85bf-f7ff98b8f5f3.aspx</link>
      <pubDate>Tue, 12 May 2009 20:04:56 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img src="http://www.teamconf.de/images/teamconf468x60.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
Bei der TeamConf handelt es sich um eine Konferenz mit dem Focus auf Themen rund um
VSTS und TFS. Da durfte ich natürlich nicht fehlen ;-)
&lt;/p&gt;
&lt;p&gt;
Leider war mein Vortrag der letzte der Konferenz und dazu noch parallel zum VSTS 2010
Vortrag von &lt;a href="http://blogs.msdn.com/cbinder"&gt;Christian Binder&lt;/a&gt;. Dennoch
fand sich eine interessierte Runde zum Thema “&lt;a href="http://www.teamconf.de/downloads/Tag2/Paris/5_artiso.pdf"&gt;Requirements
Management in leichtgewichtigen Prozessen&lt;/a&gt;” zusammen. Hier noch meine Folien zum
Download:
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:FF7EC618-8FBE-49a5-B908-2339AF2ABCDF:19303996-2395-45f2-9742-583e9e3425a4" class="wlWriterEditableSmartContent"&gt;
&lt;div&gt;Download File - &lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragaufderTeamConf_13582/tmp6328.zip" target="_self"&gt;TFSRequirementManagement&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=2449450d-d4ee-4c71-85bf-f7ff98b8f5f3" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,2449450d-d4ee-4c71-85bf-f7ff98b8f5f3.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=e908ebcc-6e71-471f-b40e-a53a5459503f</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,e908ebcc-6e71-471f-b40e-a53a5459503f.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,e908ebcc-6e71-471f-b40e-a53a5459503f.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=e908ebcc-6e71-471f-b40e-a53a5459503f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img title="Duale Hochschule" alt="" src="http://www.ba-heidenheim.de/fileadmin/template/images/dhbw-hdh-web.gif" border="0" />
        </p>
        <p>
Im zweiten Teil wurde anhand eines kleinen Demos die konkrete Implementierung von
WCF-Anwendungen erläutert. Es wurde ein Chat-System auf Basis der WCF erstellt. Das
Demo gibt es hier zum Download. Außerdem möchte ich hier noch auf eine Einführung
in die WCF hinweisen die man <a href="http://www.artiso.com/ProBlog/PermaLink,guid,65e7a0c8-12bf-4ee9-bf7e-6de06370113e.aspx">hier
findet</a></p>
        <div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:2096bb7a-3e16-4c59-b6de-4c2cda223ed7" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VeranstaltungzuVerteiltenSystemenan.Teil_6EA3/WCFChat.zip" target="_blank">Download
Demo</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=e908ebcc-6e71-471f-b40e-a53a5459503f" />
      </body>
      <title>Veranstaltung zu Verteilten Systemen an der DHBW-Heidenheim &amp;ndash; 2. Teil</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,e908ebcc-6e71-471f-b40e-a53a5459503f.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,e908ebcc-6e71-471f-b40e-a53a5459503f.aspx</link>
      <pubDate>Wed, 22 Apr 2009 05:53:51 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img title="Duale Hochschule" alt="" src="http://www.ba-heidenheim.de/fileadmin/template/images/dhbw-hdh-web.gif" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
Im zweiten Teil wurde anhand eines kleinen Demos die konkrete Implementierung von
WCF-Anwendungen erläutert. Es wurde ein Chat-System auf Basis der WCF erstellt. Das
Demo gibt es hier zum Download. Außerdem möchte ich hier noch auf eine Einführung
in die WCF hinweisen die man &lt;a href="http://www.artiso.com/ProBlog/PermaLink,guid,65e7a0c8-12bf-4ee9-bf7e-6de06370113e.aspx"&gt;hier
findet&lt;/a&gt;
&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:2096bb7a-3e16-4c59-b6de-4c2cda223ed7" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VeranstaltungzuVerteiltenSystemenan.Teil_6EA3/WCFChat.zip" target="_blank"&gt;Download
Demo&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=e908ebcc-6e71-471f-b40e-a53a5459503f" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,e908ebcc-6e71-471f-b40e-a53a5459503f.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=57206e9d-0d67-4d69-b6cb-27948acbd0f8</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,57206e9d-0d67-4d69-b6cb-27948acbd0f8.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,57206e9d-0d67-4d69-b6cb-27948acbd0f8.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=57206e9d-0d67-4d69-b6cb-27948acbd0f8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img title="Duale Hochschule" alt="" src="http://www.ba-heidenheim.de/fileadmin/template/images/dhbw-hdh-web.gif" border="0" />
        </p>
        <p>
Beim ersten Termin wurden die Grundlagen zu verteilten Anwendungen im allgemeinen
und der WCF im speziellen vermittelt.
</p>
        <div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:aa9321a6-0b53-4ad1-b33e-325eaaf294ed" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/InfoszurVeranstaltungVerteilteSystemeand_A3B4/Demos.zip" target="_blank">Folien</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/InfoszurVeranstaltungVerteilteSystemeand_A3B4/Verteilte%20Anwendungen.zip" target="_blank">Demos</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=57206e9d-0d67-4d69-b6cb-27948acbd0f8" />
      </body>
      <title>Infos zur Veranstaltung Verteilte Systeme an der DHBW Heidenheim</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,57206e9d-0d67-4d69-b6cb-27948acbd0f8.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,57206e9d-0d67-4d69-b6cb-27948acbd0f8.aspx</link>
      <pubDate>Tue, 14 Apr 2009 09:41:50 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img title="Duale Hochschule" alt="" src="http://www.ba-heidenheim.de/fileadmin/template/images/dhbw-hdh-web.gif" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
Beim ersten Termin wurden die Grundlagen zu verteilten Anwendungen im allgemeinen
und der WCF im speziellen vermittelt.
&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:aa9321a6-0b53-4ad1-b33e-325eaaf294ed" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/InfoszurVeranstaltungVerteilteSystemeand_A3B4/Demos.zip" target="_blank"&gt;Folien&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/InfoszurVeranstaltungVerteilteSystemeand_A3B4/Verteilte%20Anwendungen.zip" target="_blank"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=57206e9d-0d67-4d69-b6cb-27948acbd0f8" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,57206e9d-0d67-4d69-b6cb-27948acbd0f8.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=7a927529-07d5-43ff-8d18-1465cd936b1f</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,7a927529-07d5-43ff-8d18-1465cd936b1f.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,7a927529-07d5-43ff-8d18-1465cd936b1f.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=7a927529-07d5-43ff-8d18-1465cd936b1f</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/image_2.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="78" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/image_thumb.png" width="244" border="0" />
          </a>
        </p>
        <p>
Gestern und heute hatte ich auf der <a href="http://www.basta.net">BASTA</a> zwei
Vorträge. Hier die Folien dazu:
</p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:720246ab-1eb1-4ac3-92e6-5f98d0159bbc" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/Testing%20Practices.pptx" target="_blank">10
Gründe für das Fehlschlagen von Software-Projekten</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/10%20Gr%C3%BCnde%20f%C3%BCr%20fehlgeschlagene%20Software-Projekte.pptx" target="_blank">Testing
Practices</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=7a927529-07d5-43ff-8d18-1465cd936b1f" />
      </body>
      <title>Meine Vortr&amp;auml;ge auf der BASTA</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,7a927529-07d5-43ff-8d18-1465cd936b1f.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,7a927529-07d5-43ff-8d18-1465cd936b1f.aspx</link>
      <pubDate>Tue, 24 Feb 2009 20:52:49 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="78" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/image_thumb.png" width="244" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Gestern und heute hatte ich auf der &lt;a href="http://www.basta.net"&gt;BASTA&lt;/a&gt; zwei
Vorträge. Hier die Folien dazu:
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:720246ab-1eb1-4ac3-92e6-5f98d0159bbc" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/Testing%20Practices.pptx" target="_blank"&gt;10
Gründe für das Fehlschlagen von Software-Projekten&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderBASTA_1325D/10%20Gr%C3%BCnde%20f%C3%BCr%20fehlgeschlagene%20Software-Projekte.pptx" target="_blank"&gt;Testing
Practices&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=7a927529-07d5-43ff-8d18-1465cd936b1f" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,7a927529-07d5-43ff-8d18-1465cd936b1f.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0</wfw:commentRss>
      <title>Meine Vortr&amp;auml;ge auf der VSOne</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0.aspx</link>
      <pubDate>Fri, 20 Feb 2009 07:03:56 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img height="167" alt="Visual Studio, Visual Studio 2005, Konferenz, VS 2005, VS Konferenz, SQL Konferenz, Agile, .NET 2.0, .NET 3.0, .NET, ASP .NET, ASP .NET 2.0, Marquardt, Loje, Dr&amp;ouml;ge, Westphal, ADC, Avanced Developers Conference, ASP konferenz, Business Compact, LINQ, T-SQL, Health Care,  ,NET 3.5 Framework, Windows 2008 Server, Visual Studio 2008, SQL Server 2008, SQL Server, SQL Server 2005, ASP .NET AJAX, AJAX, Business Intelligence, SharePoint 2007, 3D, Windows Forms,  IMAX, ADO .NET, Agile Projekte, Agile, Analysis Services 2008, WPF, WF, WCF, Silverlight, Service Broker 2008, Data Mining, BizTalk Server, XML, Integration Services, VB.NET, XAML,  Blend, Performance-Optimierung 2005, Visual Studio Team System, SCD Transformations,  OLAP, MDX, PowerShell, Web 2.0, Windows Web Server 2008, ppedv AG, Vista, Microsoft, MS, Windows" src="http://www.vsone.de/Images09/StartNEU.jpg" width="530"&gt;
&lt;/p&gt;
&lt;p&gt;
Ich bin reichlich spät dran, die VSOne ist schon seit einer Woche vorbei. Hier aber
nun endlich meine Folien zu meinen Vorträgen
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:27953e29-d39b-476f-834f-75a06214bdd6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderVSOne_147F8/UI%20Driven%20Development.zip" target="_blank"&gt;UI
Driven Development&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:48ab7c00-9169-47ba-b7f0-b4fe6319ac0a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderVSOne_147F8/PEX.pptx" target="_blank"&gt;Automatisierte
Generierung von Unit-Tests mit PEX&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:1ea8f79c-5804-4b1a-bf06-079ba0c67f35" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderVSOne_147F8/Organisation%20von%20Entwickler-Teams.zip" target="_blank"&gt;Organisation
von Entwickler-Teams&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:f3d21b9e-7e2e-486c-8d6a-d0667a86100d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MeineVortrgeaufderVSOne_147F8/TDD%20QuickStart.zip" target="_blank"&gt;TDD
Quick Start&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,3e361a4d-90e2-4c0d-8b2c-4324f96ee7a0.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=3165d52b-b393-4eb6-9046-692783a3d704</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,3165d52b-b393-4eb6-9046-692783a3d704.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,3165d52b-b393-4eb6-9046-692783a3d704.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3165d52b-b393-4eb6-9046-692783a3d704</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img height="100" alt="MSDN Webcasts" src="http://www.microsoft.com/germany/msdn/images/vkey/vkey_webcasts.jpg" width="550" />
        </p>
        <p>
Zusammen mit <a href="http://blogs.msdn.com/cbinder">Christian</a> habe ich einen
Webcast zum Thema Testing Practices aufgenommen. In dem Webcast werden zunächst verschiedene
Testmethoden vorestellt und anschließend werden verschiedene Aspekte einer Teststrategie
diskutiert wie z.B. Methoden zur Testfall-Ermittlung.
</p>
        <p>
Der komplette Abstract lautet:
</p>
        <blockquote>
          <p>
Qualität spielt in Software-Projekten eine immer größere Rolle. Ein wesentlicher Aspekt
für Software-Qualität ist das Testen. Der Webcast stellt zunächst kurz die verfügbaren
Testmethoden in Visual Studio vor und zeigt anschließend Aspekte einer Test-Strategie
auf. Darüber hinaus wird die Integration mit dem Team Foundation Server kurz beleuchtet
und es werden Methoden zur Testfallermittlung beschrieben.
</p>
        </blockquote>
        <p>
Über ein Feedback zum Webcast würde ich mich freuen.
</p>
        <p>
          <a href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032405240">http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032405240</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=3165d52b-b393-4eb6-9046-692783a3d704" />
      </body>
      <title>Neuer Web-Cast zu Testing Practices</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,3165d52b-b393-4eb6-9046-692783a3d704.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,3165d52b-b393-4eb6-9046-692783a3d704.aspx</link>
      <pubDate>Fri, 20 Feb 2009 06:12:30 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img height="100" alt="MSDN Webcasts" src="http://www.microsoft.com/germany/msdn/images/vkey/vkey_webcasts.jpg" width="550"&gt;
&lt;/p&gt;
&lt;p&gt;
Zusammen mit &lt;a href="http://blogs.msdn.com/cbinder"&gt;Christian&lt;/a&gt; habe ich einen
Webcast zum Thema Testing Practices aufgenommen. In dem Webcast werden zunächst verschiedene
Testmethoden vorestellt und anschließend werden verschiedene Aspekte einer Teststrategie
diskutiert wie z.B. Methoden zur Testfall-Ermittlung.
&lt;/p&gt;
&lt;p&gt;
Der komplette Abstract lautet:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Qualität spielt in Software-Projekten eine immer größere Rolle. Ein wesentlicher Aspekt
für Software-Qualität ist das Testen. Der Webcast stellt zunächst kurz die verfügbaren
Testmethoden in Visual Studio vor und zeigt anschließend Aspekte einer Test-Strategie
auf. Darüber hinaus wird die Integration mit dem Team Foundation Server kurz beleuchtet
und es werden Methoden zur Testfallermittlung beschrieben.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Über ein Feedback zum Webcast würde ich mich freuen.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032405240"&gt;http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032405240&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=3165d52b-b393-4eb6-9046-692783a3d704" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,3165d52b-b393-4eb6-9046-692783a3d704.aspx</comments>
      <category>PEX</category>
      <category>Qualitätsmanagement</category>
      <category>Testing</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=c452a3fe-3660-44ca-b998-c392d0c6944b</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,c452a3fe-3660-44ca-b998-c392d0c6944b.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,c452a3fe-3660-44ca-b998-c392d0c6944b.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=c452a3fe-3660-44ca-b998-c392d0c6944b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/DaruiszParysbeider.NetDeveloperGroupUlm_ABBC/clip_image001_2.gif">
            <img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="108" alt="clip_image001" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/DaruiszParysbeider.NetDeveloperGroupUlm_ABBC/clip_image001_thumb.gif" width="783" border="0" />
          </a>
        </p>
        <p>
Beim nächsten Treffen der .Net Developer-Group Ulm dürfen wir diesesmal Dariusz Parys
begrüßen, der zum Thema “Architektur der Datenanbindungsschicht, insbesondere ADO.NET
Data Services und Entity Framework” spricht. Der Abstract verspricht schon mal einen
sehr spannenden Abend:
</p>
        <blockquote>
          <p>
LINQ to SQL, ADO.NET, Entity Framework, Entity Data Model, REST mit ADO.NET Data Services
oder Serialisierung mit WCF ? – neben einem Überblick über die Alternativen und detailliertere
Darstellung des Entity Frameworks wird darauf eingegangen, welche Kriterien beim O/R-Mapping
zur Bewertung zur Verfügung stehen und diskutiert, welcher Nutzen darin liegt, die
Datenanbindung von einer technischen Ebene auf eine logische zu heben.
</p>
        </blockquote>
        <p>
Ích glaube das dürfte ein Themengebiet sein mit dem im Moment jeder Entwickler in
irgendeiner Weise käpft und so dürfte sich Dariusz schon mal auf eine ganze Reihe
von Fragen einstellen (Mir selbst fallen da schon eine ganze Reihe ein). 
</p>
        <p>
Wer also Interesse an dem Thema hat, ist herzlich eingeladen am Dienstag 17.02.2008
um 18:00 zu uns zu kommen.
</p>
        <p>
Weitere Infos unter:
</p>
        <p>
          <a href="http://www.dotnet-ulm.de">http://www.dotnet-ulm.de</a>
        </p>
        <p>
 
</p>
        <p>
          <font face="Times New Roman" size="3"> </font>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=c452a3fe-3660-44ca-b998-c392d0c6944b" />
      </body>
      <title>Daruisz Parys bei der .Net Developer-Group Ulm</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,c452a3fe-3660-44ca-b998-c392d0c6944b.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,c452a3fe-3660-44ca-b998-c392d0c6944b.aspx</link>
      <pubDate>Fri, 13 Feb 2009 11:13:52 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/DaruiszParysbeider.NetDeveloperGroupUlm_ABBC/clip_image001_2.gif"&gt;&lt;img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="108" alt="clip_image001" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/DaruiszParysbeider.NetDeveloperGroupUlm_ABBC/clip_image001_thumb.gif" width="783" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Beim nächsten Treffen der .Net Developer-Group Ulm dürfen wir diesesmal Dariusz Parys
begrüßen, der zum Thema “Architektur der Datenanbindungsschicht, insbesondere ADO.NET
Data Services und Entity Framework” spricht. Der Abstract verspricht schon mal einen
sehr spannenden Abend:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
LINQ to SQL, ADO.NET, Entity Framework, Entity Data Model, REST mit ADO.NET Data Services
oder Serialisierung mit WCF ? – neben einem Überblick über die Alternativen und detailliertere
Darstellung des Entity Frameworks wird darauf eingegangen, welche Kriterien beim O/R-Mapping
zur Bewertung zur Verfügung stehen und diskutiert, welcher Nutzen darin liegt, die
Datenanbindung von einer technischen Ebene auf eine logische zu heben.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Ích glaube das dürfte ein Themengebiet sein mit dem im Moment jeder Entwickler in
irgendeiner Weise käpft und so dürfte sich Dariusz schon mal auf eine ganze Reihe
von Fragen einstellen (Mir selbst fallen da schon eine ganze Reihe ein). 
&lt;/p&gt;
&lt;p&gt;
Wer also Interesse an dem Thema hat, ist herzlich eingeladen am Dienstag 17.02.2008
um 18:00 zu uns zu kommen.
&lt;/p&gt;
&lt;p&gt;
Weitere Infos unter:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.dotnet-ulm.de"&gt;http://www.dotnet-ulm.de&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=c452a3fe-3660-44ca-b998-c392d0c6944b" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,c452a3fe-3660-44ca-b998-c392d0c6944b.aspx</comments>
      <category>.Net 3.5</category>
      <category>ADO.Net</category>
      <category>Architektur</category>
      <category>Know-How</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=97827056-5bf5-4654-8d5f-e0cbc7bbf7ed</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,97827056-5bf5-4654-8d5f-e0cbc7bbf7ed.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,97827056-5bf5-4654-8d5f-e0cbc7bbf7ed.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=97827056-5bf5-4654-8d5f-e0cbc7bbf7ed</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In den letzten Wochen war ich recht viel mit Vorträgen auf Tour. Inzwischen hat sich
eine stattliche Anzahl von Vortragsthemen angesammelt. Unten sieht man eine Übersicht.
Wer Interesse hat, dass ich einen Vortrag halte, darf sich gerne bei mir melden. Über
das INEATA Speaker Bureau bin ich für INEATA UserGroups auch kostenlos zu buchen.
Ansonsten würde ich mich auch über Feedback freuen. Sollte ich noch ein Thema mit
aufnehmen, wer hat schon einen Vortrag von mir gehört und wie hat er gefallen etc.
</p>
        <p>
          <table style="width: 100%; border-collapse: collapse" cellspacing="0" cellpadding="0" width="100%" border="0">
            <colgroup>
              <tbody>
                <tr style="height: 15pt" height="20">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 700; font-size: 11pt; background: #4f81bd; border-left: white 0.5pt solid; width: 230pt; color: white; border-top-color: #f0f0f0; border-bottom: white 1.5pt solid; font-family: calibri; height: 15pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none" width="306" height="20">
Titel</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 700; font-size: 11pt; border-left-color: #f0f0f0; background: #4f81bd; width: 121pt; color: white; border-top-color: #f0f0f0; border-bottom: white 1.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none" width="167">
Dauer</td>
                  <td class="xl65" style="font-weight: 700; font-size: 11pt; border-left-color: #f0f0f0; background: #4f81bd; width: 718pt; color: white; border-top-color: #f0f0f0; border-bottom: white 1.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none" width="405">
Abstract</td>
                </tr>
                <tr style="height: 75pt" height="100">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="100">
Qualitätsmanagement mit VSTS und TFS</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
1 Std - 3 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
Qualität spielt bei Software eine immer stärkere Rolle. Gleichzeitig werden immer
effizientere<span style="mso-spacerun: yes">  </span>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.</td>
                </tr>
                <tr style="height: 75pt" height="100">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="100">
Agile Development Process - Ein Architekturbasierter Entwicklungsprozess</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167">
1 Std Vortrag, 
<br />
1 Std. Demo</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405">
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.<span style="mso-spacerun: yes"> </span></td>
                </tr>
                <tr style="height: 45pt" height="60">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 45pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="60">
Mehrschichtige Architekturen mit .Net</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
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.</td>
                </tr>
                <tr style="height: 45pt" height="60">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 45pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="60">
Build-Management mit Team Foundation Server</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167">
1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405">
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.</td>
                </tr>
                <tr style="height: 90pt" height="120">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="120">
Testing Practices mit VSTS und TFS</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
1 Std. - 3 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
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.</td>
                </tr>
                <tr style="height: 105pt" height="140">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 105pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="140">
UI-Testing mit UI Automation</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167">
1 Std. - 1,5 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405">
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.</td>
                </tr>
                <tr style="height: 75pt" height="100">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="100">
Closing Tool-Gaps in your Development Process with the TFS API</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
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.</td>
                </tr>
                <tr style="height: 90pt" height="120">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="120">
Lücken in der Tool-Unterstützung für IhrenEntwicklungsprozess mit der TFS API schließen</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167">
1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405">
Die Effizienz eines Entwicklungsprozesses hängt stark von einer leistungsfähigen und
integrierten Entwicklungsplattform ab. Aber Entwicklungsprozesse sind individuell
an keien Standardsoftware kann eine 100%ige Integration gewährleisten. Mit der Team
Foundation Server API steht eine leistungsfähige Technologie zur Verfügung, die es
erlaubt, die Standard-Funktionen des Team Foundation Servers bedarfsgerecht zu erweitern.
Als Beispiel wird in dieser Session ein live ein Tool erstellt, das eine hierarchische
Organisation von Workitems ermöglicht. Und es wird erläutert, wie damit Entwicklungsprozesse
verbessert werden können. Darüber hinaus werden verschiedene Visionen aufgezeigt wie
man mit Hilfe der TFS Extensibility richtig coole Sachen für den TFS machen kann.</td>
                </tr>
                <tr style="height: 90pt" height="120">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="120">
Durchgängige Entwicklungsprozesse mit Visual Studio Team System</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
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.</td>
                </tr>
                <tr style="height: 60pt" height="80">
                  <td class="xl64" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 60pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="80">
Reporting mit dem TFS</td>
                  <td class="xl64" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167">
1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405">
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.</td>
                </tr>
                <tr style="height: 90pt" height="120">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="120">
UI Driven Development - Von der UI zur Anwendung</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
0,5 Std. - 1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
Missverständnisse und unterschiedliche Interpretation von Spezifikationen sind in
Software-Projekten heute an der Tagesordnung. Was also tun, um dieses zu vermeiden?
Die Spezifikation noch detaillierter formulieren? Einen anderen Ansatz geht UI Driven
Development. Hierbei wird die Oberfläche einer Anwendung als Spezifikationsbestandteil
aufgefasst. Der Clou dabei ist, das bei diesem Vorgehensmodell nicht irgendwelche
Prototypen entstehen, die die spätere Funktionalität und Aufbau nur vage wiedergeben,
sondern "erlebbare" Oberflächen. Und diese Oberflächen können in das Finale Projekt
1:1 übernommen werden, so dass der Investierte Aufwand direkt dem Projekt zugute kommt.
Der Vortrag erläutert Architekturkonzepte und Vorgehensmodelle die UI Driven development
ermöglichen.</td>
                </tr>
                <tr style="height: 60pt" height="80">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 60pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="80">
Organisation von Entwickler-Teams</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167">
0,5 Std. - 1,5 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405">
Dieser Vortrag ist als Interactive Session konzipiert. Die Teilnehmer können in einer
moderierten Diskussionsrunde sich austauschen über verschiedene Erfahrungen mit unterschiedlichen
Modellen der Team-Organisation. Der Moderator stellt dabei im Laufe der Veranstaltung
verschiedene Aspekte der Team-Organisation und mögliche Vorgehensweisen vor und stellt
diese zur Diskussion. Dabei werden Themen wie Generalisten vs Spezialisten, Kommunikation
im Team, Mitarbeitermotivation und vieles mehr ausführlich diskutiert.</td>
                </tr>
                <tr style="height: 60pt" height="80">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 60pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="80">
Automatisierte Generierung von Unit-Tests mit PEX</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
0,5 Std.<span style="mso-spacerun: yes"> </span></td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
PEX - ein Tool von Microsoft Research verspricht nichts weniger als die automatisierte
Generierung von Unit-Tests und zwar mit dem Ziel einer möglichst vollständigen Code-Abdeckung.
Wie PEX funktioniert und inwieweit dieses Versprechen eingehalten werden kann, zeigt
dieser Vortrag. Darüber hinaus wird auch beleuchtet, in welchen Szenarien PEX eine
wirklich sinnvolle Unterstützung bei Real-Projekten sein kann und wie man es einsetzen
kann.</td>
                </tr>
                <tr style="height: 45pt" height="60">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 45pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="60">
10 Gründe warum Software-Projekte fehlschlagen können – und was hilft ALM?</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167">
1 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405">
Für Probleme in Software-Projekten gibt es vielfältige Gründe. Viele dieser Gründe
können jedoch auf suboptimale oder gar nicht vorhandene Prozesse zurückgeführt werden.
Der Vortrag analysiert die häufigsten Ursachen für fehlgeschlagene Projekte und zeigt
mögliche Lösungen auf. Dabei wird auch beleuchtet wie Application Lifecycle Management
organisiert sein muss um hier zu unterstützen.</td>
                </tr>
                <tr style="height: 75pt" height="100">
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-bottom-color: #f0f0f0; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="100">
TDD Quick Start</td>
                  <td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; border-bottom-color: #f0f0f0; width: 121pt; color: black; border-top-color: #f0f0f0; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167">
0,5 Std.</td>
                  <td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; border-bottom-color: #f0f0f0; width: 718pt; color: black; border-top-color: #f0f0f0; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405">
Test Driven Development - Eines der häufigsten Buzz-Wörter wenn es um das Thema Software-Testing
geht. Umso erstaunlicher, dass es in der Praxis aber relativ selten zum Einsatz kommt.
Häufig liegt es auch daran, dass TDD an gewisse Vorbedingungen in Bezug auf Architektur,
Prozesse etc. gebunden ist. Der Vortrag versucht einen Schnelleinstieg in TDD zu geben,
wobei versucht wird diese Vorbedingungen weitgehend auszublenden um dem Zuhörer einen
möglichst schnellen und unkomplizierten Einstieg zu bieten. Die hierzu erforderlichen
Kompromisse werden jedoch am Ende des Vortrages aufgezeigt und ein Ausblick auf optimierte
Lösungen gegeben.</td>
                </tr>
              </tbody>
            </colgroup>
          </table>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=97827056-5bf5-4654-8d5f-e0cbc7bbf7ed" />
      </body>
      <title>Aktualisierte Vortragsthemen</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,97827056-5bf5-4654-8d5f-e0cbc7bbf7ed.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,97827056-5bf5-4654-8d5f-e0cbc7bbf7ed.aspx</link>
      <pubDate>Fri, 05 Dec 2008 14:59:39 GMT</pubDate>
      <description>&lt;p&gt;
In den letzten Wochen war ich recht viel mit Vorträgen auf Tour. Inzwischen hat sich
eine stattliche Anzahl von Vortragsthemen angesammelt. Unten sieht man eine Übersicht.
Wer Interesse hat, dass ich einen Vortrag halte, darf sich gerne bei mir melden. Über
das INEATA Speaker Bureau bin ich für INEATA UserGroups auch kostenlos zu buchen.
Ansonsten würde ich mich auch über Feedback freuen. Sollte ich noch ein Thema mit
aufnehmen, wer hat schon einen Vortrag von mir gehört und wie hat er gefallen etc.
&lt;/p&gt;
&lt;p&gt;
&lt;table style="width: 100%; border-collapse: collapse" cellspacing="0" cellpadding="0" width="100%" border="0"&gt;
&lt;colgroup&gt;
&lt;tbody&gt;
&lt;tr style="height: 15pt" height="20"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 700; font-size: 11pt; background: #4f81bd; border-left: white 0.5pt solid; width: 230pt; color: white; border-top-color: #f0f0f0; border-bottom: white 1.5pt solid; font-family: calibri; height: 15pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none" width="306" height="20"&gt;
Titel&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 700; font-size: 11pt; border-left-color: #f0f0f0; background: #4f81bd; width: 121pt; color: white; border-top-color: #f0f0f0; border-bottom: white 1.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none" width="167"&gt;
Dauer&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 700; font-size: 11pt; border-left-color: #f0f0f0; background: #4f81bd; width: 718pt; color: white; border-top-color: #f0f0f0; border-bottom: white 1.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none" width="405"&gt;
Abstract&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 75pt" height="100"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="100"&gt;
Qualitätsmanagement mit VSTS und TFS&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
1 Std - 3 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
Qualität spielt bei Software eine immer stärkere Rolle. Gleichzeitig werden immer
effizientere&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 75pt" height="100"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="100"&gt;
Agile Development Process - Ein Architekturbasierter Entwicklungsprozess&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167"&gt;
1 Std Vortrag, 
&lt;br&gt;
1 Std. Demo&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405"&gt;
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.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 45pt" height="60"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 45pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="60"&gt;
Mehrschichtige Architekturen mit .Net&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 45pt" height="60"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 45pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="60"&gt;
Build-Management mit Team Foundation Server&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167"&gt;
1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 90pt" height="120"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="120"&gt;
Testing Practices mit VSTS und TFS&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
1 Std. - 3 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 105pt" height="140"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 105pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="140"&gt;
UI-Testing mit UI Automation&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167"&gt;
1 Std. - 1,5 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 75pt" height="100"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="100"&gt;
Closing Tool-Gaps in your Development Process with the TFS API&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 90pt" height="120"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="120"&gt;
Lücken in der Tool-Unterstützung für IhrenEntwicklungsprozess mit der TFS API schließen&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167"&gt;
1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405"&gt;
Die Effizienz eines Entwicklungsprozesses hängt stark von einer leistungsfähigen und
integrierten Entwicklungsplattform ab. Aber Entwicklungsprozesse sind individuell
an keien Standardsoftware kann eine 100%ige Integration gewährleisten. Mit der Team
Foundation Server API steht eine leistungsfähige Technologie zur Verfügung, die es
erlaubt, die Standard-Funktionen des Team Foundation Servers bedarfsgerecht zu erweitern.
Als Beispiel wird in dieser Session ein live ein Tool erstellt, das eine hierarchische
Organisation von Workitems ermöglicht. Und es wird erläutert, wie damit Entwicklungsprozesse
verbessert werden können. Darüber hinaus werden verschiedene Visionen aufgezeigt wie
man mit Hilfe der TFS Extensibility richtig coole Sachen für den TFS machen kann.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 90pt" height="120"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="120"&gt;
Durchgängige Entwicklungsprozesse mit Visual Studio Team System&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 60pt" height="80"&gt;
&lt;td class="xl64" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 60pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="80"&gt;
Reporting mit dem TFS&lt;/td&gt;
&lt;td class="xl64" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167"&gt;
1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 90pt" height="120"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 90pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="120"&gt;
UI Driven Development - Von der UI zur Anwendung&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
0,5 Std. - 1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
Missverständnisse und unterschiedliche Interpretation von Spezifikationen sind in
Software-Projekten heute an der Tagesordnung. Was also tun, um dieses zu vermeiden?
Die Spezifikation noch detaillierter formulieren? Einen anderen Ansatz geht UI Driven
Development. Hierbei wird die Oberfläche einer Anwendung als Spezifikationsbestandteil
aufgefasst. Der Clou dabei ist, das bei diesem Vorgehensmodell nicht irgendwelche
Prototypen entstehen, die die spätere Funktionalität und Aufbau nur vage wiedergeben,
sondern "erlebbare" Oberflächen. Und diese Oberflächen können in das Finale Projekt
1:1 übernommen werden, so dass der Investierte Aufwand direkt dem Projekt zugute kommt.
Der Vortrag erläutert Architekturkonzepte und Vorgehensmodelle die UI Driven development
ermöglichen.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 60pt" height="80"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 60pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="80"&gt;
Organisation von Entwickler-Teams&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167"&gt;
0,5 Std. - 1,5 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405"&gt;
Dieser Vortrag ist als Interactive Session konzipiert. Die Teilnehmer können in einer
moderierten Diskussionsrunde sich austauschen über verschiedene Erfahrungen mit unterschiedlichen
Modellen der Team-Organisation. Der Moderator stellt dabei im Laufe der Veranstaltung
verschiedene Aspekte der Team-Organisation und mögliche Vorgehensweisen vor und stellt
diese zur Diskussion. Dabei werden Themen wie Generalisten vs Spezialisten, Kommunikation
im Team, Mitarbeitermotivation und vieles mehr ausführlich diskutiert.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 60pt" height="80"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 60pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="80"&gt;
Automatisierte Generierung von Unit-Tests mit PEX&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
0,5 Std.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
PEX - ein Tool von Microsoft Research verspricht nichts weniger als die automatisierte
Generierung von Unit-Tests und zwar mit dem Ziel einer möglichst vollständigen Code-Abdeckung.
Wie PEX funktioniert und inwieweit dieses Versprechen eingehalten werden kann, zeigt
dieser Vortrag. Darüber hinaus wird auch beleuchtet, in welchen Szenarien PEX eine
wirklich sinnvolle Unterstützung bei Real-Projekten sein kann und wie man es einsetzen
kann.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 45pt" height="60"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #dbe5f1; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; height: 45pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="306" height="60"&gt;
10 Gründe warum Software-Projekte fehlschlagen können – und was hilft ALM?&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 121pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="167"&gt;
1 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #dbe5f1; width: 718pt; color: black; border-top-color: #f0f0f0; border-bottom: white 0.5pt solid; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" width="405"&gt;
Für Probleme in Software-Projekten gibt es vielfältige Gründe. Viele dieser Gründe
können jedoch auf suboptimale oder gar nicht vorhandene Prozesse zurückgeführt werden.
Der Vortrag analysiert die häufigsten Ursachen für fehlgeschlagene Projekte und zeigt
mögliche Lösungen auf. Dabei wird auch beleuchtet wie Application Lifecycle Management
organisiert sein muss um hier zu unterstützen.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 75pt" height="100"&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; background: #b8cce4; border-bottom-color: #f0f0f0; border-left: white 0.5pt solid; width: 230pt; color: black; border-top-color: #f0f0f0; font-family: calibri; height: 75pt; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="306" height="100"&gt;
TDD Quick Start&lt;/td&gt;
&lt;td class="xl65" style="border-right: white 0.5pt solid; font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; border-bottom-color: #f0f0f0; width: 121pt; color: black; border-top-color: #f0f0f0; font-family: calibri; text-decoration: none; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="167"&gt;
0,5 Std.&lt;/td&gt;
&lt;td class="xl65" style="font-weight: 400; font-size: 11pt; border-left-color: #f0f0f0; background: #b8cce4; border-bottom-color: #f0f0f0; width: 718pt; color: black; border-top-color: #f0f0f0; font-family: calibri; text-decoration: none; border-right-color: #f0f0f0; text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" width="405"&gt;
Test Driven Development - Eines der häufigsten Buzz-Wörter wenn es um das Thema Software-Testing
geht. Umso erstaunlicher, dass es in der Praxis aber relativ selten zum Einsatz kommt.
Häufig liegt es auch daran, dass TDD an gewisse Vorbedingungen in Bezug auf Architektur,
Prozesse etc. gebunden ist. Der Vortrag versucht einen Schnelleinstieg in TDD zu geben,
wobei versucht wird diese Vorbedingungen weitgehend auszublenden um dem Zuhörer einen
möglichst schnellen und unkomplizierten Einstieg zu bieten. Die hierzu erforderlichen
Kompromisse werden jedoch am Ende des Vortrages aufgezeigt und ein Ausblick auf optimierte
Lösungen gegeben.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=97827056-5bf5-4654-8d5f-e0cbc7bbf7ed" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,97827056-5bf5-4654-8d5f-e0cbc7bbf7ed.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=790badae-2fbf-4c0b-8ef8-f417de4b1d58</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,790badae-2fbf-4c0b-8ef8-f417de4b1d58.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,790badae-2fbf-4c0b-8ef8-f417de4b1d58.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=790badae-2fbf-4c0b-8ef8-f417de4b1d58</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In der vergangenen Woche war ich bei gleich 3 User-Groups in Bonn, Stuttgart und bei
uns in Ulm und habe dort meinen Vortrag zu architekturbasierten Entwicklungsprozessen
gehalten. Dabei ging es im Kern darum, dass moderne Software.Projekte bestimmte Anforderungen
an Prozesse haben. Der Vortrag zeigte hier zunächst verschiedene dieser Anforderungen
an Testbarkeit, Team-Arbeit und die Definition von Spezifikationen. Anschließend wurden
verschiedene Architekturkonzepte vorgestellt um dann aufzuzeigen, wie diese Konzepte
die Prozessanforderungen erfüllen können. Zum Abschluss wurde dann das Ganze mit einem
Demo-Projekt anschaulicher dargestellt.
</p>
        <p>
Die Folien und das Demo kann hier heruntergeladen werden:
</p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:0e628034-8c9d-4490-acb9-e3be00330274" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ArchitekturVortragbeiUserGroups_14A30/Architekturgest%C3%BCtzter%20Entwicklungsprozes_compressed.zip" target="_blank">Download
Folien</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ArchitekturVortragbeiUserGroups_14A30/UCMessageSample.zip" target="_blank">Download
Demo</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=790badae-2fbf-4c0b-8ef8-f417de4b1d58" />
      </body>
      <title>Architektur-Vortrag bei User-Groups</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,790badae-2fbf-4c0b-8ef8-f417de4b1d58.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,790badae-2fbf-4c0b-8ef8-f417de4b1d58.aspx</link>
      <pubDate>Mon, 01 Dec 2008 07:03:58 GMT</pubDate>
      <description>&lt;p&gt;
In der vergangenen Woche war ich bei gleich 3 User-Groups in Bonn, Stuttgart und bei
uns in Ulm und habe dort meinen Vortrag zu architekturbasierten Entwicklungsprozessen
gehalten. Dabei ging es im Kern darum, dass moderne Software.Projekte bestimmte Anforderungen
an Prozesse haben. Der Vortrag zeigte hier zunächst verschiedene dieser Anforderungen
an Testbarkeit, Team-Arbeit und die Definition von Spezifikationen. Anschließend wurden
verschiedene Architekturkonzepte vorgestellt um dann aufzuzeigen, wie diese Konzepte
die Prozessanforderungen erfüllen können. Zum Abschluss wurde dann das Ganze mit einem
Demo-Projekt anschaulicher dargestellt.
&lt;/p&gt;
&lt;p&gt;
Die Folien und das Demo kann hier heruntergeladen werden:
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:0e628034-8c9d-4490-acb9-e3be00330274" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ArchitekturVortragbeiUserGroups_14A30/Architekturgest%C3%BCtzter%20Entwicklungsprozes_compressed.zip" target="_blank"&gt;Download
Folien&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ArchitekturVortragbeiUserGroups_14A30/UCMessageSample.zip" target="_blank"&gt;Download
Demo&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=790badae-2fbf-4c0b-8ef8-f417de4b1d58" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,790badae-2fbf-4c0b-8ef8-f417de4b1d58.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=ccf39b28-dc2b-4c2d-ab3b-52ed9e838929</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,ccf39b28-dc2b-4c2d-ab3b-52ed9e838929.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,ccf39b28-dc2b-4c2d-ab3b-52ed9e838929.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=ccf39b28-dc2b-4c2d-ab3b-52ed9e838929</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TechEdTechTalkzuhierarchischeWorkitems_150CE/TechEdOnline_2.gif">
          <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="56" alt="TechEdOnline" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TechEdTechTalkzuhierarchischeWorkitems_150CE/TechEdOnline_thumb.gif" width="125" border="0" />
        </a>    
<p></p><p>
Zusammen mit <a href="http://blogs.msdn.com/cbinder">Christian Binder</a> habe ich
auf der TechEd einen TechTalk zum Thema hierarchische Workitems aufgezeichnet. Das
Video steht auf der TechEd Online Library unter <a href="http://msdn.microsoft.com/en-us/events/teched/cc561184.aspx">http://msdn.microsoft.com/en-us/events/teched/cc561184.aspx</a> zur
Verfügung, oder alternativ einfach auf das Bild unten clicken. 
</p><p><a href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/449_low.asx"><img src="http://microsofttech.fr.edgesuite.net/TechEdOnline/Pictures/449.jpg" border="0" /></a></p><img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ccf39b28-dc2b-4c2d-ab3b-52ed9e838929" /></body>
      <title>TechEd TechTalk zu hierarchische Workitems</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,ccf39b28-dc2b-4c2d-ab3b-52ed9e838929.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,ccf39b28-dc2b-4c2d-ab3b-52ed9e838929.aspx</link>
      <pubDate>Thu, 20 Nov 2008 22:58:01 GMT</pubDate>
      <description>&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TechEdTechTalkzuhierarchischeWorkitems_150CE/TechEdOnline_2.gif"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="56" alt="TechEdOnline" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TechEdTechTalkzuhierarchischeWorkitems_150CE/TechEdOnline_thumb.gif" width="125" border="0"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Zusammen mit &lt;a href="http://blogs.msdn.com/cbinder"&gt;Christian Binder&lt;/a&gt; habe ich
auf der TechEd einen TechTalk zum Thema hierarchische Workitems aufgezeichnet. Das
Video steht auf der TechEd Online Library unter &lt;a href="http://msdn.microsoft.com/en-us/events/teched/cc561184.aspx"&gt;http://msdn.microsoft.com/en-us/events/teched/cc561184.aspx&lt;/a&gt; zur
Verfügung, oder alternativ einfach auf das Bild unten clicken. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/449_low.asx"&gt;&lt;img src="http://microsofttech.fr.edgesuite.net/TechEdOnline/Pictures/449.jpg" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ccf39b28-dc2b-4c2d-ab3b-52ed9e838929" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,ccf39b28-dc2b-4c2d-ab3b-52ed9e838929.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=90780df7-a4b7-44b4-96af-0f18d2b337ff</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,90780df7-a4b7-44b4-96af-0f18d2b337ff.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,90780df7-a4b7-44b4-96af-0f18d2b337ff.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=90780df7-a4b7-44b4-96af-0f18d2b337ff</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img alt=".NET Developer Group Braunschweig Logo" src="http://www.dotnet-braunschweig.de/App_Themes/Default/images/logo.gif" />
        </p>
        <p>
Gestern Abend habe ich bei der .Net Developer Group Braunschweig einen Vortrag zu
Agile Development Process - Ein architekturbasierter Entwicklungsprozess gehalten.
Während des Vortrages und vor allem am Ende gab es eine sehr gute und interessante
Diskussion.
</p>
        <p>
Bei dem Vortrag habe ich demonstriert wie wir bei uns im Unternehmen verschiedene
Architekturpatterns verwenden um Prozessanforderungen zu unterstützen. Dabei kommen
bewährte Konzepte wie Komponentenorientierung, Contract First und mehrschichtige Architektur
zum Einsatz, aber auch von uns angepasste bzw. neu entwickelte Methoden.
</p>
        <p>
Die Folien und das Demo kann hier heruntergeladen werden:
</p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ec1306b1-8316-4fa1-b365-5c3c7d090ef2" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Vortragbeider.NetUsergroupBraunschweig_F8E8/Architekturgest%C3%BCtzter%20Entwicklungsprozes_compressed_1.pptx" target="_blank">Download
Slides</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Vortragbeider.NetUsergroupBraunschweig_F8E8/UCMessageSample%20(2)_1.zip" target="_blank">Download
Demos</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=90780df7-a4b7-44b4-96af-0f18d2b337ff" />
      </body>
      <title>Vortrag bei der .Net Usergroup Braunschweig</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,90780df7-a4b7-44b4-96af-0f18d2b337ff.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,90780df7-a4b7-44b4-96af-0f18d2b337ff.aspx</link>
      <pubDate>Thu, 20 Nov 2008 16:44:13 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img alt=".NET Developer Group Braunschweig Logo" src="http://www.dotnet-braunschweig.de/App_Themes/Default/images/logo.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
Gestern Abend habe ich bei der .Net Developer Group Braunschweig einen Vortrag zu
Agile Development Process - Ein architekturbasierter Entwicklungsprozess gehalten.
Während des Vortrages und vor allem am Ende gab es eine sehr gute und interessante
Diskussion.
&lt;/p&gt;
&lt;p&gt;
Bei dem Vortrag habe ich demonstriert wie wir bei uns im Unternehmen verschiedene
Architekturpatterns verwenden um Prozessanforderungen zu unterstützen. Dabei kommen
bewährte Konzepte wie Komponentenorientierung, Contract First und mehrschichtige Architektur
zum Einsatz, aber auch von uns angepasste bzw. neu entwickelte Methoden.
&lt;/p&gt;
&lt;p&gt;
Die Folien und das Demo kann hier heruntergeladen werden:
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ec1306b1-8316-4fa1-b365-5c3c7d090ef2" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Vortragbeider.NetUsergroupBraunschweig_F8E8/Architekturgest%C3%BCtzter%20Entwicklungsprozes_compressed_1.pptx" target="_blank"&gt;Download
Slides&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Vortragbeider.NetUsergroupBraunschweig_F8E8/UCMessageSample%20(2)_1.zip" target="_blank"&gt;Download
Demos&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=90780df7-a4b7-44b4-96af-0f18d2b337ff" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,90780df7-a4b7-44b4-96af-0f18d2b337ff.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=70f995f5-1e1a-4f05-a47f-6023a254303a</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,70f995f5-1e1a-4f05-a47f-6023a254303a.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,70f995f5-1e1a-4f05-a47f-6023a254303a.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=70f995f5-1e1a-4f05-a47f-6023a254303a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>Closing Tool Gaps in your Developemnt Process using TFS API - My talk on TechEd EMEA</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,70f995f5-1e1a-4f05-a47f-6023a254303a.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,70f995f5-1e1a-4f05-a47f-6023a254303a.aspx</link>
      <pubDate>Wed, 12 Nov 2008 10:35:29 GMT</pubDate>
      <description>&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;
&lt;span lang="EN-US" style="mso-ansi-language: en-us"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Today
I had my second talk on the TechEd in Barcelona. It was about closing tool gaps in
development processes and using the TFS API. Thanks to all attendees joined my session.
We had some very interesting discussion at the end, and I got a lot of positive feedback
like “This was what I was looking for”. For all here comes the promised downloads
for the slides and demos. Feel free to use them in either way.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:9fb17d2e-7e50-4861-a739-2713024ebbfa" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ClosingToolGapsinyourDevelopemntProcessu_A087/WIM%20Lite.zip" target="_blank"&gt;Download
Slides&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ClosingToolGapsinyourDevelopemntProcessu_A087/DVP305%20-%20Closing%20Tool%20Gaps.zip" target="_blank"&gt;Download
Demos&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;
&lt;span lang="EN-US" style="mso-ansi-language: en-us"&gt;&lt;font face="Calibri" size="3"&gt;And
here the link to download WorkitemManager. At &lt;/font&gt;&lt;a href="http://www.alm-tools.com/"&gt;&lt;u&gt;&lt;font face="Calibri" color="#0000ff" size="3"&gt;www.alm-tools.com&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt; you
can download the Open version which is free and also the source code. And if you are
interested in one of the tools I showed, please just send me an e-Mail to tschissler
(at) artiso (.) com. 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=70f995f5-1e1a-4f05-a47f-6023a254303a" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,70f995f5-1e1a-4f05-a47f-6023a254303a.aspx</comments>
      <category>Team System Server</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=d3195557-b784-4a43-8c58-4e0aa0c0c260</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,d3195557-b784-4a43-8c58-4e0aa0c0c260.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,d3195557-b784-4a43-8c58-4e0aa0c0c260.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d3195557-b784-4a43-8c58-4e0aa0c0c260</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal" style="margin: 0cm 0cm 10pt; vertical-align: top; line-height: normal; mso-margin-bottom-alt: auto">
          <span lang="EN-US" style="font-size: 8.5pt; color: black; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: en-us; mso-fareast-language: de">Ok,
not to confuse you, I'm not going to blog English from now on. But I did a session
on UI-Testsing with the UI Automation Framework and to provide slides and demo-code
to the attendees I use this blog post. The session went fairly well from my point
of view and I had some really interesting discussions on this topic after the session.
I hope those who have joined me got some good information about how you can do UI-testing
today with completely free tools. </span>
        </p>
        <p class="MsoNormal" style="margin: 0cm 0cm 10pt; vertical-align: top; line-height: normal; mso-margin-bottom-alt: auto">
          <span lang="EN-US" style="font-size: 8.5pt; color: black; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: en-us; mso-fareast-language: de">I'll
provide some pictures later because I cannot read them from my camera right now.</span>
        </p>
        <p class="MsoNormal" style="margin: 0cm 0cm 10pt; vertical-align: top; line-height: normal; mso-margin-bottom-alt: auto">
          <span lang="EN-US" style="font-size: 8.5pt; color: black; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: en-us; mso-fareast-language: de">Here
comes the downloads:</span>
        </p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:f1e93ebb-79cc-41ac-b0c1-5378f06b17c9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/UITestingwithUIAutomationFrameworkMytalk_E717/UISpy.zip" target="_blank">Download
Demo-Code</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/UITestingwithUIAutomationFrameworkMytalk_E717/DVP313%20-%20UI%20Testing%20with%20UI%20Automation%20Framework_FINAL.zip" target="_blank">Download
UI Spy</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/UITestingwithUIAutomationFrameworkMytalk_E717/UITests%20(2).zip" target="_blank">Download
Slides</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=d3195557-b784-4a43-8c58-4e0aa0c0c260" />
      </body>
      <title>UI-Testing with UI Automation Framework - My talk on TechEd EMEA</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,d3195557-b784-4a43-8c58-4e0aa0c0c260.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,d3195557-b784-4a43-8c58-4e0aa0c0c260.aspx</link>
      <pubDate>Tue, 11 Nov 2008 15:27:49 GMT</pubDate>
      <description>&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt; vertical-align: top; line-height: normal; mso-margin-bottom-alt: auto"&gt;
&lt;span lang="EN-US" style="font-size: 8.5pt; color: black; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: en-us; mso-fareast-language: de"&gt;Ok,
not to confuse you, I'm not going to blog English from now on. But I did a session
on UI-Testsing with the UI Automation Framework and to provide slides and demo-code
to the attendees I use this blog post. The session went fairly well from my point
of view and I had some really interesting discussions on this topic after the session.
I hope those who have joined me got some good information about how you can do UI-testing
today with completely free tools. &lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt; vertical-align: top; line-height: normal; mso-margin-bottom-alt: auto"&gt;
&lt;span lang="EN-US" style="font-size: 8.5pt; color: black; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: en-us; mso-fareast-language: de"&gt;I'll
provide some pictures later because I cannot read them from my camera right now.&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt; vertical-align: top; line-height: normal; mso-margin-bottom-alt: auto"&gt;
&lt;span lang="EN-US" style="font-size: 8.5pt; color: black; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: en-us; mso-fareast-language: de"&gt;Here
comes the downloads:&lt;/span&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:f1e93ebb-79cc-41ac-b0c1-5378f06b17c9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/UITestingwithUIAutomationFrameworkMytalk_E717/UISpy.zip" target="_blank"&gt;Download
Demo-Code&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/UITestingwithUIAutomationFrameworkMytalk_E717/DVP313%20-%20UI%20Testing%20with%20UI%20Automation%20Framework_FINAL.zip" target="_blank"&gt;Download
UI Spy&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/UITestingwithUIAutomationFrameworkMytalk_E717/UITests%20(2).zip" target="_blank"&gt;Download
Slides&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=d3195557-b784-4a43-8c58-4e0aa0c0c260" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,d3195557-b784-4a43-8c58-4e0aa0c0c260.aspx</comments>
      <category>UI Automation</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=2b82f570-79f6-43b5-9f8a-7f2d92c4a81a</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,2b82f570-79f6-43b5-9f8a-7f2d92c4a81a.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,2b82f570-79f6-43b5-9f8a-7f2d92c4a81a.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=2b82f570-79f6-43b5-9f8a-7f2d92c4a81a</wfw:commentRss>
      <title>Guter &amp;Uuml;berblick &amp;uuml;ber VSTS Content auf dem Technical Summit und offline</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,2b82f570-79f6-43b5-9f8a-7f2d92c4a81a.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,2b82f570-79f6-43b5-9f8a-7f2d92c4a81a.aspx</link>
      <pubDate>Thu, 16 Oct 2008 06:41:18 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.msdn.com/cbinder/"&gt;Christian Binder&lt;/a&gt; hat eine sehr Übersichtliche
Darstellung über die verschiedenen VSTS-Sessions auf dem &lt;a href="http://www.technical-summit.de/Home_ts08.mspx?ActiveID=1127"&gt;Technical
Summit&lt;/a&gt; in Berlin zusammengestellt. Die Map stellt nicht nur die dort live vorgestellten
Sessions zusammen, soondern auch bereits bestehende und in Kürze erscheinende Webcasts
zu dem Thema. Die Map zeigt auch, dass wir versucht haben unsere Inhalte auf dem Technical
Summit so aufeinander abzustimmen, dass sowohl EInsteiger als auch fortgeschrittene
Anwender sich ein möglichst komplettes Bild von VSTS machen kann. Die WebCast sind
thematisch entsprechend eingeordnet und können als Vorbereitung bzw. zur Vertiefung
zu den Live-Sessions genutzt werden.
&lt;/p&gt;
&lt;p&gt;
Danke Christian, endlich mal eine übersichtliche Darstellung der verschiendenen Inhalte!&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;map id="FPMap0" name="FPMap0"&gt;
&lt;area title="Die Grundlage von Team Foundation Server" shape="RECT" coords="11,23,203,107" href="http://www.technical-summit.de/Vortraege_ts08.mspx#DurchgaengigeEntwicklungsprozesse"&gt;
&lt;area title="Die VSTS2008 Grundlagen Webcast Serie mit Neno Loje, Dariusz Paris, Lars Roith, Christian Binder... " shape="RECT" coords="474,11,827,86" href="http://www.microsoft.com/germany/msdn/webcasts/serien/MSDNWCS-0802-01.mspx"&gt;
&lt;area title="Version Control in der Praxis mit Neno Loje, mit Themen wie Branching, Dependency Handling..." shape="RECT" coords="140,136,345,209" href="http://www.technical-summit.de/Vortraege_ts08.mspx#DieTFS-Versionsverwaltung"&gt;
&lt;area title="Schon jetzt wissen, was morgen kommt" shape="RECT" coords="138,229,343,311" href="http://www.technical-summit.de/Vortraege_ts08.mspx#VSTSRosario"&gt;
&lt;area title=" MOSS Development mit VSTS beherrschen" shape="RECT" coords="139,426,344,504" href="http://www.technical-summit.de/"&gt;
&lt;area title="QM unter Kontrolle, baut direkt auf &amp;quot;Durchg&amp;auml;ngige Entwicklungsprozesse mit VSTS&amp;quot; auf" shape="RECT" coords="140,324,343,396" href="http://www.technical-summit.de/Vortraege_ts08.mspx#QualitaetsmanagementMitVSTS"&gt;
&lt;area title="Am Do 18:00 bis 19:30 Q&amp;amp;A mit allem VSTS Sprechern: Neno Loje, Thomas Schissler, Thorsten Mandelkow, Christian Binder  " shape="RECT" coords="140,524,342,599" href="http://www.technical-summit.de/"&gt;
&lt;area title="Workitem Manager mit der TFS API selbest entwickeln" shape="RECT" coords="475,108,639,176" href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032365693"&gt;
&lt;area title="Wie verwende ich Hierarchische Workitems in der Praxis? " shape="RECT" coords="663,107,826,176" href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032391829"&gt;
&lt;area title="Grundlagen Talk zu UI Automantion mit TFS Unit Test Integration" shape="RECT" coords="477,349,639,412" href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032376565"&gt;
&lt;area title="Testing von UI's mit Record and Play " shape="RECT" coords="665,351,825,411" href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032383658"&gt;&lt;/map&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/AlleVisualStudioTeamsystemSessionaufdemT_10175/Tech%20Summit%20TFS%20Track.jpg"&gt;&lt;img title="Tech Summit TFS Track" style="display: inline" height="620" alt="Tech Summit TFS Track" src="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/AlleVisualStudioTeamsystemSessionaufdemT_10175/Tech%20Summit%20TFS%20Track_thumb.jpg" width="845" usemap="#FPMap0"&gt;&lt;/a&gt;&lt;strong&gt; 
&lt;br&gt;
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Was bedeutet was?
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/AlleVisualStudioTeamsystemSessionaufdemT_10175/image_2.png"&gt;&lt;img title="image" style="display: inline" height="155" alt="image" src="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/AlleVisualStudioTeamsystemSessionaufdemT_10175/image_thumb.png" width="277"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/cbinder/archive/2008/10/13/alle-visual-studio-teamsystem-session-auf-dem-technical-summit-2008-im-berblick.aspx"&gt;Christian
Binder's Weblog : Alle Visual Studio Teamsystem Session auf dem Technical Summit 2008
im Überblick&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=2b82f570-79f6-43b5-9f8a-7f2d92c4a81a" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,2b82f570-79f6-43b5-9f8a-7f2d92c4a81a.aspx</comments>
      <category>Team System Server</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Microsoft Research hat vor kurzer Zeit <a href="http://research.microsoft.com/pex">PEX</a> zum
freien Download veröffentlicht. Hinter diesem unscheinbaren Kürzel verbirgt sich ein
Tool das absolut genial und beeindruckend ist und klar mach, warum Microsoft ein research
center unterhält. Das Tool verspricht nichts weniger als die automatische Generierung
von Unit-Tests und den dazugehörigen Testcases um eine möglichst hohe Code-Abdeckung
zu erzielen. Detaillierte Informationen bietet das <a href="http://research.microsoft.com/pex/articles/pextutorial.pdf">Whitepaper</a>,
wer sich auf die schnelle einen Einblick verschaffen möchte findet einen Überblick
im Folgenden (na ja, für einen Überblick ist der Post vielleicht doch ein wenig lang
geraden, aber ich konnte mich nicht bremsen vor Begeisterung):
</p>
        <p>
          <strong>Darf ich vorstellen - PEX</strong>
        </p>
        <p>
Gegeben sei folgende Methode die getestet werden soll:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> SimpleTest(<span style="color: #0000ff">int</span> x1, <span style="color: #0000ff">int</span> x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">if</span> (x1
&gt; x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
&gt; x2"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">if</span> (x1
&lt; x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
&lt; x2"</span>; </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">else</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
== x2"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span> }</pre>
          </div>
        </div>
        <p>
Für das versierte Auge eines Entwicklers ist sofort klar, da brauchen wir 3 Testcases
um eine vollständige Code-Abdeckung zu erzielen. Mal sehen, was PEX daraus macht.
Zunächst mal muss PEX heruntergeladen und installiert sein.  Dann kann man einfach
einen "Parameterized Unit Test Stub" erzeugen. Dazu in der Methode rechts klicken
und den Befehl aus dem Pex-Menü auswählen.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_2.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="161" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb.png" width="447" border="0" />
          </a>
        </p>
        <p>
Im folgenden Dialog können Sie verschiedene Parameter angeben. Das wichtigste hier
ist das Testprojekt in dem der Stub erzeugt werden soll.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_6.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_2.png" width="469" border="0" />
          </a>
        </p>
        <p>
Der erzeugte Stub sieht dann so aus:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #008000">///
&lt;summary&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span>
              <span style="color: #008000">///
This class contains parameterized unit tests for Calculation</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #008000">///
&lt;/summary&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> [TestClass]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span> [PexClass(<span style="color: #0000ff">typeof</span>(Calculation))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">partial</span>
              <span style="color: #0000ff">class</span> CalculationTest</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span> [PexMethod]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> SimpleTest(</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span> [PexAssumeUnderTest]Calculation
target,</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span>
              <span style="color: #0000ff">int</span> x1,</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>
              <span style="color: #0000ff">int</span> x2</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span> )</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 15:</span>
              <span style="color: #0000ff">string</span> result
= target.SimpleTest(x1, x2);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span>
              <span style="color: #0000ff">return</span> result;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 17:</span>
              <span style="color: #008000">//
TODO: add assertions to method CalculationTest.SimpleTest(Calculation, Int32, Int32)</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 19:</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 20:</span> }</pre>
          </div>
        </div>
        <p>
Bei diesem Stub handelt es such um eine Vorlage für einen parameterisierten Unit-test.
Toll, und was lässt sich damit nun machen? Wir können eine "Exploration" starten.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_8.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="177" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_3.png" width="461" border="0" />
          </a>
        </p>
        <p>
Diese Exploration versucht nun Input-Parameter zu finden die zu einer möglichst 100%igen
Code-Abdeckung führen. Und hier beginnt nun die Magic von PEX. Ohne unser Zutun findet
PEX 3 Kombinationen von Input-Parametern die tatsächlich eine komplette Code-Abdeckung
erzielen- WOW! Dazu analysiert PEX wirklich den von uns erstellten Code und kann daraus
definieren, mit welchen Input-Parametern die einzelnen noch nicht abgedeckten Zweige
erreicht werden können.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_10.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_4.png" width="407" border="0" />
          </a>
        </p>
        <p>
Und das schönste, PEX baut uns automatisch 3 Unit-Tests die diese Testcases implementieren:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span> [TestMethod]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> [PexGeneratedBy(<span style="color: #0000ff">typeof</span>(CalculationTest))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> SimpleTest01()</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">string</span> s;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span> Calculation
calculation = <span style="color: #0000ff">new</span> Calculation();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span> s
= <span style="color: #0000ff">this</span>.SimpleTest(calculation, 1, 2);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span> Assert.AreEqual&lt;<span style="color: #0000ff">string</span>&gt;(<span style="color: #006080">"x1
&lt; x2"</span>, s);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span>  </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span> [TestMethod]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span> [PexGeneratedBy(<span style="color: #0000ff">typeof</span>(CalculationTest))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> SimpleTest02()</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 15:</span>
              <span style="color: #0000ff">string</span> s;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span> Calculation
calculation = <span style="color: #0000ff">new</span> Calculation();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 17:</span> s
= <span style="color: #0000ff">this</span>.SimpleTest(calculation, 1879212556, 1879212556);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span> Assert.AreEqual&lt;<span style="color: #0000ff">string</span>&gt;(<span style="color: #006080">"x1
== x2"</span>, s);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 19:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 20:</span>  </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 21:</span> [TestMethod]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 22:</span> [PexGeneratedBy(<span style="color: #0000ff">typeof</span>(CalculationTest))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 23:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> SimpleTest03()</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 24:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 25:</span>
              <span style="color: #0000ff">string</span> s;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 26:</span> Calculation
calculation = <span style="color: #0000ff">new</span> Calculation();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 27:</span> s
= <span style="color: #0000ff">this</span>.SimpleTest(calculation, 256, 254);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 28:</span> Assert.AreEqual&lt;<span style="color: #0000ff">string</span>&gt;(<span style="color: #006080">"x1
&gt; x2"</span>, s);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 29:</span> }</pre>
          </div>
        </div>
        <p>
Diese Unit-Tests können wir nun starten und sehen, dass diese wie erwartet alle erfolgreich
sind.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_12.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="150" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_5.png" width="244" border="0" />
          </a>
        </p>
        <p>
Damit haben wir einen Test automatisiert erstellt, der sicherstellen kann, dass diese
Methode ihr Verhalten nach Außen für die aktuell definierten Test-Cases nicht verändert.
Damit können ungewollte Änderungen an der Methode erkannt und beseitigt werden. Ob
die Methode allerdings ihre Aufgabe korrekt erledigt, kann PEX natürlich nicht testen.
Haben wir die Funktionsweise einer Methode allerdings einmal validiert, kann PEX nun
sehr einfach dieses Verhalten prüfen. Und natürlich eignet es sich auch sehr gut um
mögliche Test-Cases zu definieren. Es müssen in diesem Fall dann nur noch die einzelnen
Ergebnisse je Test validiert werden.
</p>
        <p>
Ändern wir die Methode ab, so dass sich ihr Verhalten ändert, dann alarmiert uns der
entsprechende Test.
</p>
        <p>
          <strong>Soweit sogut - Und was geht sonst noch?</strong>
        </p>
        <p>
Wenn wir nun ein gewünschte Änderung der Funktionalität implementieren, wie kann PEX
dann damit umgehen? Zunächst würden wir die vorhandenen Tests durchführen, damit wir
sicher sind, dass die aktuelle Funktionalität noch korrekt läuft. Dann erweitern wir
unsere Methode:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> SimpleTest(<span style="color: #0000ff">int</span> x1, <span style="color: #0000ff">int</span> x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">if</span> (x1
&gt; x2 * 2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
&gt; x2 * 2"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">if</span> (x1
&gt; x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
&gt; x2"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">if</span> (x1
&lt; x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
&lt; x2"</span>; </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">else</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
== x2"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span> }</pre>
          </div>
        </div>
        <div>Zeile 3+4 haben wir neu hinzugefügt. Nun starten wir eine neue Exploration und
PEX ermittelt einen weiteren Test-Case um diese Funktion ebenfalls abzudecken.
</div>
        <div> 
</div>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_14.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="148" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_6.png" width="376" border="0" />
          </a>
        </p>
        <p>
          <strong>Schön - darf's noch ein bisschen mehr sein?</strong>
        </p>
        <p>
Dieses einfache Sample war ja schon sehr beeindruckend. Die Frage, die sich aber natürlich
direkt stellt, ist wie weit geht denn das? Wir wollen nun den Schwierigkeitsgrad für
PEX schrittweise steigern. Integer-Werte sind ja noch relativ einfach zu handhaben,
aber wie sieht's denn beispielsweise mit Strings aus? Hierzu zunächst wieder eine
Methode, die wir testen wollen:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> StringOperations</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> CheckString(<span style="color: #0000ff">string</span> Input)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">if</span> (Input.StartsWith(<span style="color: #006080">"abc"</span>)
&amp;&amp; Input.Length &gt; 10)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">return</span> Input
+ <span style="color: #006080">" Starts with 'abc' and length &gt; 10"</span>; </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">if</span> (Input.StartsWith(<span style="color: #006080">"abc"</span>))</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span>
              <span style="color: #0000ff">return</span> Input
+ <span style="color: #006080">" Starts with 'abc'"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">if</span> (Input.StartsWith(<span style="color: #006080">"ABC"</span>))</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span>
              <span style="color: #0000ff">return</span> Input
+ <span style="color: #006080">" Starts with 'ABC'"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"Unknown
pattern"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span> }</pre>
          </div>
        </div>
        <p>
Stubs erzeugen und Exploration starten. Ob PEX wohl solche Operationen wie "StartsWith"
und "Length" versteht?
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_16.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="172" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_7.png" width="433" border="0" />
          </a>
        </p>
        <p>
Es findet tatsächlich alle erforderlichen Input-Parameter und sogar noch mehr! PEX
stell fest, dass unsere Methode beim Übergeben einer NULL-Referenz eine Exception
wirft. Und damit nicht genug, PEX kann uns auch einen Vorschlag machen, wie wir unseren
Code verbessern können. Dazu im "Pex Exploration Results" - Fenster unter Views "Show
suggestions window" aufrufen. 
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_18.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="206" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_8.png" width="725" border="0" />
          </a>
        </p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_20.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="156" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_9.png" width="736" border="0" />
          </a>
        </p>
        <p>
Durch einen Doppelklick auf den Eintrag am unteren Rand des Bereichs öffnet sich ein
Fenster, das die vorgeschlagene Änderung direkt in unseren Code einfügen kann.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_22.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="432" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_10.png" width="536" border="0" />
          </a>
        </p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> CheckString(<span style="color: #0000ff">string</span> Input)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #008000">//
&lt;pex&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span>
              <span style="color: #0000ff">if</span> (Input
== (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">null</span>)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">throw</span>
              <span style="color: #0000ff">new</span> ArgumentNullException(<span style="color: #006080">"Input"</span>);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #008000">//
&lt;/pex&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">if</span> (Input.StartsWith(<span style="color: #006080">"abc"</span>)
&amp;&amp; Input.Length &gt; 10)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span>
              <span style="color: #0000ff">return</span> Input
+ <span style="color: #006080">" Starts with 'abc' and length &gt; 10"</span>; </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">if</span> (Input.StartsWith(<span style="color: #006080">"abc"</span>))</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span>
              <span style="color: #0000ff">return</span> Input
+ <span style="color: #006080">" Starts with 'abc'"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span>
              <span style="color: #0000ff">if</span> (Input.StartsWith(<span style="color: #006080">"ABC"</span>))</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>
              <span style="color: #0000ff">return</span> Input
+ <span style="color: #006080">" Starts with 'ABC'"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"Unknown
pattern"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span> }</pre>
          </div>
        </div>
        <p>
Die Zeilen 3-6 wurden von PEX erzeugt. Natürlich können wir das entsprechende Verhalten
im Code direkt ändern und an unsere Vorstellungen anpassen. Vielleicht ist es aber
gar keine schlechte Idee, in diesem Fall eine Exception zu werden. Dies ist das Standard-Verhalten
von PEX an dieser Stelle. Wird die erwartete Exception nicht mehr geworfen oder eine
andere Exception tritt auf, wird dies durch einen fehlgeschlagenen Test angezeigt.
</p>
        <p>
          <strong>Der nächste bitte!</strong>
        </p>
        <p>
So nun wollen wir noch einen Schritt weitergehen und sehen, wie PEX mit Listen umgehen
kann. Dazu habe ich folgende Testmethode erstellt (über den Sinn einer solchen Methode
wollen wir jetzt nicht nachdenken)
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">int</span> result
= 0;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span>
              <span style="color: #0000ff">if</span> (list.Count
&gt; 10)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span>
              <span style="color: #0000ff">foreach</span> (<span style="color: #0000ff">int</span> i <span style="color: #0000ff">in</span> list)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span> result
+= i;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">else</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">foreach</span> (<span style="color: #0000ff">int</span> i <span style="color: #0000ff">in</span> list)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span> result
*= i;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>
              <span style="color: #0000ff">return</span> result;</pre>
          </div>
        </div>
        <p>
Die Methode bekommt eine Liste von Integer-Werten übergeben. Wenn es mehr als 10 Elemente
sind, werden diese addiert, sonst werden die Werte miteinander Multipliziert. Mal
sehen, wie PEX mit Listen umgeht.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_24.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="120" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_11.png" width="572" border="0" />
          </a>
        </p>
        <p>
PEX erkennt noch, dass unsere Methode mit Null-References nicht korrekt umgeht, aber
dann verließen sie ihn.  Aber freundlicherweise bekommen wir noch einen Hinweis
"2 Object Creations". klickt man darauf, dann bekommt man schon mehr Informationen. 
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_26.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="128" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_12.png" width="441" border="0" />
          </a>
        </p>
        <p>
Aha, PEX kann also eine List&lt;int&gt; nicht erzeugen. Also was tun? Klickt man den
unteren der beiden Einträge an, bietet PEX etwas weiter rechts die Möglichkeit eine
Factory zu definieren. Eine Factory ist ein Extensibility-Point mit dem PEX beigebracht
werden kann mit solchen Objekten umzugehen. Ein Beispiel für eine solche Factory kann
so aussehen:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">namespace</span> System.Collections.Generic</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span> [PexFactoryClass]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">partial</span>
              <span style="color: #0000ff">class</span> ListFactory</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span> [PexFactoryMethod(<span style="color: #0000ff">typeof</span>(List&lt;<span style="color: #0000ff">int</span>&gt;))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">static</span> List&lt;<span style="color: #0000ff">int</span>&gt;
Create(<span style="color: #0000ff">int</span> i)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">if</span> (i
&gt; 100)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span> i
= 100;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span> List&lt;<span style="color: #0000ff">int</span>&gt;
l = <span style="color: #0000ff">new</span> List&lt;<span style="color: #0000ff">int</span>&gt;();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>
              <span style="color: #0000ff">for</span> (<span style="color: #0000ff">int</span> j
= 0; j &lt; i; j++)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span> l.Add(j
* 10);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 15:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span>
              <span style="color: #0000ff">return</span> l;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 17:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 19:</span> }</pre>
          </div>
        </div>
        <p>
Hier teilt man PEX nun mit, welche Elemente es damit erzeugen kann (Zeile 6). Anschließend
implementiert man eine Create-Methode die beliebige Parameter übernehmen kann. In
Abhängigkeit dieser Parameter wird nun eine Instanz des gewünschten Objektes erzeugt.
In unserem Beispiel übernehmen wir nur einen Parameter der die Länge der Liste angibt.
In den Zeilen 9/10 begrenzen wir die Länge der Lsite auf 100 Elemente. Die Liste selbst
befüllen wir mit einer Reihe von Zahlen. Hier ist es sicher keine gute Idee, z.B.
Zufallszahlen zu verwenden, da diese ja bei jedem Testdurchlauf andere Werte liefern
und deshalb der Assert nicht erfolgreich ausgeführt werden kann.
</p>
        <p>
Mit hilfe dieser Factory kannPEX nun unsere Testcases definieren. Dazu ermittelt es
einfach geeignete Parameter für die Create-Methode in unserer Factory statt das Objekt
selbst zu erzeugen.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_28.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="145" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_13.png" width="597" border="0" />
          </a>
        </p>
        <p>
Die erzeugten Tests sehen dann so aus:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span> [TestMethod]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> [PexGeneratedBy(<span style="color: #0000ff">typeof</span>(ListCalculationTest))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> SumList03()</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span> List&lt;<span style="color: #0000ff">int</span>&gt;
list;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">int</span> i;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span> list
= ListFactory.Create(2);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span> ListCalculation
listCalculation = <span style="color: #0000ff">new</span> ListCalculation();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span> i
= <span style="color: #0000ff">this</span>.SumList(listCalculation, list);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span> Assert.AreEqual&lt;<span style="color: #0000ff">int</span>&gt;(0,
i);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>  </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span> [TestMethod]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span> [PexGeneratedBy(<span style="color: #0000ff">typeof</span>(ListCalculationTest))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 15:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> SumList04()</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 17:</span> List&lt;<span style="color: #0000ff">int</span>&gt;
list;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span>
              <span style="color: #0000ff">int</span> i;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 19:</span> list
= ListFactory.Create(536870912);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 20:</span> ListCalculation
listCalculation = <span style="color: #0000ff">new</span> ListCalculation();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 21:</span> i
= <span style="color: #0000ff">this</span>.SumList(listCalculation, list);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 22:</span> Assert.AreEqual&lt;<span style="color: #0000ff">int</span>&gt;(49500,
i);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 23:</span> }</pre>
          </div>
        </div>
        <p>
 
</p>
        <p>
          <strong>Nun folgt noch die Kür</strong>
        </p>
        <p>
Nach den Erfahrungen mit der Liste bereits etwas skeptischer geworden, wollen wir's
jetzt aber doch wissen. Wie sieht's mit eigenen Objekten aus? Wie weit kommt PEX damit?
Auch hier gibt es wieder eine einfache Methode die wir testen wollen:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> ComplexDataCalculation</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> DoComplexDataCalculation(cData
d)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">if</span> (!d.IsValid)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"NotValid"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>  </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span>
              <span style="color: #0000ff">if</span> (d.DataValues.x1
&gt; d.DataValues.x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
&gt; x2"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span>
              <span style="color: #0000ff">if</span> (d.DataValues.x1
&lt; d.DataValues.x2)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
&lt; x2"</span>; </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>
              <span style="color: #0000ff">else</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span>
              <span style="color: #0000ff">return</span>
              <span style="color: #006080">"x1
== x2"</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span>  </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 15:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 17:</span>  </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> cData</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 19:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 20:</span>
              <span style="color: #0000ff">public</span> cDataValues
DataValues { get; set; }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 21:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> ObsoleteParameter
{ get; set; }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 22:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">bool</span> IsValid
{ get; set; }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 23:</span> }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 24:</span>  </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 25:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> cDataValues</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 26:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 27:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">int</span> x1
{ get; set; }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 28:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">int</span> x2
{ get; set; }</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 29:</span> }</pre>
          </div>
        </div>
        <p>
Die Methode bekommt einen komplexen Datentyp übergeben. Und was macht PEX???
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_32.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="190" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_15.png" width="543" border="0" />
          </a>
        </p>
        <p>
PEX erkennt nicht nur, dass wir zwei Null-Exceptions abfangen sollten, sondern kann
auch unser Datenobjekt so initialisieren, dass wir wieder eine 100% Codeabdeckung
bekommen. Die Unit-Tests sehen ungefähr so aus:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span> [TestMethod]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> [PexGeneratedBy(<span style="color: #0000ff">typeof</span>(ComplexDataCalculationTest))]</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> DoComplexDataCalculation04()</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span> cDataValues
cDataValues;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span> cData
cData;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">string</span> s;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span> cDataValues
= <span style="color: #0000ff">new</span> cDataValues();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span> cDataValues.x1
= 3;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span> cDataValues.x2
= 4;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span> cData
= <span style="color: #0000ff">new</span> cData();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span> cData.DataValues
= cDataValues;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span> cData.ObsoleteParameter
= <span style="color: #006080">""</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span> cData.IsValid
= <span style="color: #0000ff">true</span>;</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 15:</span> ComplexDataCalculation
complexDataCalculation = <span style="color: #0000ff">new</span> ComplexDataCalculation();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span> s
= <span style="color: #0000ff">this</span>.DoComplexDataCalculation(complexDataCalculation,
cData);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 17:</span> Assert.AreEqual&lt;<span style="color: #0000ff">string</span>&gt;(<span style="color: #006080">"x1
&lt; x2"</span>, s);</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span> }</pre>
          </div>
        </div>
        <p>
Das ist schon extrem beeindruckend, wie PEX tatsächlich eine entsprechende Instanz
unseres Datenobjektes erzeugt und initialisiert und das so, dass wir alle Testcases
abdecken. Wirklich beeindruckend.
</p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:35094c03-c207-4962-9c04-0342f1082d8c" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/PEX.zip" target="_blank">Die
Demos können hier heruntergeladen werden</a>
          </p>
        </div>
        <p>
        </p>
        <p>
Was haltet ihr davon? Würde mich über Feedback freuen.
</p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c" />
      </body>
      <title>PEX - Automatisches Generieren von Unit-Tests</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c.aspx</link>
      <pubDate>Tue, 14 Oct 2008 12:10:10 GMT</pubDate>
      <description>&lt;p&gt;
Microsoft Research hat vor kurzer Zeit &lt;a href="http://research.microsoft.com/pex"&gt;PEX&lt;/a&gt; zum
freien Download veröffentlicht. Hinter diesem unscheinbaren Kürzel verbirgt sich ein
Tool das absolut genial und beeindruckend ist und klar mach, warum Microsoft ein research
center unterhält. Das Tool verspricht nichts weniger als die automatische Generierung
von Unit-Tests und den dazugehörigen Testcases um eine möglichst hohe Code-Abdeckung
zu erzielen. Detaillierte Informationen bietet das &lt;a href="http://research.microsoft.com/pex/articles/pextutorial.pdf"&gt;Whitepaper&lt;/a&gt;,
wer sich auf die schnelle einen Einblick verschaffen möchte findet einen Überblick
im Folgenden (na ja, für einen Überblick ist der Post vielleicht doch ein wenig lang
geraden, aber ich konnte mich nicht bremsen vor Begeisterung):
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Darf ich vorstellen - PEX&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Gegeben sei folgende Methode die getestet werden soll:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; SimpleTest(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x1, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (x1
&amp;gt; x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
&amp;gt; x2"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (x1
&amp;lt; x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
&amp;lt; x2"&lt;/span&gt;; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
== x2"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Für das versierte Auge eines Entwicklers ist sofort klar, da brauchen wir 3 Testcases
um eine vollständige Code-Abdeckung zu erzielen. Mal sehen, was PEX daraus macht.
Zunächst mal muss PEX heruntergeladen und installiert sein.&amp;nbsp; Dann kann man einfach
einen "Parameterized Unit Test Stub" erzeugen. Dazu in der Methode rechts klicken
und den Befehl aus dem Pex-Menü auswählen.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="161" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb.png" width="447" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Im folgenden Dialog können Sie verschiedene Parameter angeben. Das wichtigste hier
ist das Testprojekt in dem der Stub erzeugt werden soll.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_2.png" width="469" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Der erzeugte Stub sieht dann so aus:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #008000"&gt;///
&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; &lt;span style="color: #008000"&gt;///
This class contains parameterized unit tests for Calculation&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #008000"&gt;///
&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; [TestClass]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; [PexClass(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Calculation))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; CalculationTest&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; [PexMethod]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; SimpleTest(&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; [PexAssumeUnderTest]Calculation
target,&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x1,&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x2&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; )&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; result
= target.SimpleTest(x1, x2);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt; &lt;span style="color: #008000"&gt;//
TODO: add assertions to method CalculationTest.SimpleTest(Calculation, Int32, Int32)&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 19:&lt;/span&gt; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 20:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Bei diesem Stub handelt es such um eine Vorlage für einen parameterisierten Unit-test.
Toll, und was lässt sich damit nun machen? Wir können eine "Exploration" starten.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_8.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="177" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_3.png" width="461" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Diese Exploration versucht nun Input-Parameter zu finden die zu einer möglichst 100%igen
Code-Abdeckung führen. Und hier beginnt nun die Magic von PEX. Ohne unser Zutun findet
PEX 3 Kombinationen von Input-Parametern die tatsächlich eine komplette Code-Abdeckung
erzielen- WOW! Dazu analysiert PEX wirklich den von uns erstellten Code und kann daraus
definieren, mit welchen Input-Parametern die einzelnen noch nicht abgedeckten Zweige
erreicht werden können.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_10.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_4.png" width="407" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Und das schönste, PEX baut uns automatisch 3 Unit-Tests die diese Testcases implementieren:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; [TestMethod]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; [PexGeneratedBy(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(CalculationTest))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; SimpleTest01()&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; s;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; Calculation
calculation = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Calculation();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; s
= &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SimpleTest(calculation, 1, 2);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; Assert.AreEqual&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color: #006080"&gt;"x1
&amp;lt; x2"&lt;/span&gt;, s);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; [TestMethod]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; [PexGeneratedBy(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(CalculationTest))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; SimpleTest02()&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; s;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; Calculation
calculation = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Calculation();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt; s
= &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SimpleTest(calculation, 1879212556, 1879212556);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; Assert.AreEqual&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color: #006080"&gt;"x1
== x2"&lt;/span&gt;, s);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 19:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 20:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 21:&lt;/span&gt; [TestMethod]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 22:&lt;/span&gt; [PexGeneratedBy(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(CalculationTest))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 23:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; SimpleTest03()&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 24:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 25:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; s;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 26:&lt;/span&gt; Calculation
calculation = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Calculation();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 27:&lt;/span&gt; s
= &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SimpleTest(calculation, 256, 254);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 28:&lt;/span&gt; Assert.AreEqual&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color: #006080"&gt;"x1
&amp;gt; x2"&lt;/span&gt;, s);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 29:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Diese Unit-Tests können wir nun starten und sehen, dass diese wie erwartet alle erfolgreich
sind.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_12.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="150" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_5.png" width="244" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Damit haben wir einen Test automatisiert erstellt, der sicherstellen kann, dass diese
Methode ihr Verhalten nach Außen für die aktuell definierten Test-Cases nicht verändert.
Damit können ungewollte Änderungen an der Methode erkannt und beseitigt werden. Ob
die Methode allerdings ihre Aufgabe korrekt erledigt, kann PEX natürlich nicht testen.
Haben wir die Funktionsweise einer Methode allerdings einmal validiert, kann PEX nun
sehr einfach dieses Verhalten prüfen. Und natürlich eignet es sich auch sehr gut um
mögliche Test-Cases zu definieren. Es müssen in diesem Fall dann nur noch die einzelnen
Ergebnisse je Test validiert werden.
&lt;/p&gt;
&lt;p&gt;
Ändern wir die Methode ab, so dass sich ihr Verhalten ändert, dann alarmiert uns der
entsprechende Test.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Soweit sogut - Und was geht sonst noch?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Wenn wir nun ein gewünschte Änderung der Funktionalität implementieren, wie kann PEX
dann damit umgehen? Zunächst würden wir die vorhandenen Tests durchführen, damit wir
sicher sind, dass die aktuelle Funktionalität noch korrekt läuft. Dann erweitern wir
unsere Methode:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; SimpleTest(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x1, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (x1
&amp;gt; x2 * 2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
&amp;gt; x2 * 2"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (x1
&amp;gt; x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
&amp;gt; x2"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (x1
&amp;lt; x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
&amp;lt; x2"&lt;/span&gt;; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
== x2"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;Zeile 3+4 haben wir neu hinzugefügt. Nun starten wir eine neue Exploration und
PEX ermittelt einen weiteren Test-Case um diese Funktion ebenfalls abzudecken.
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_14.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="148" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_6.png" width="376" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Schön - darf's noch ein bisschen mehr sein?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Dieses einfache Sample war ja schon sehr beeindruckend. Die Frage, die sich aber natürlich
direkt stellt, ist wie weit geht denn das? Wir wollen nun den Schwierigkeitsgrad für
PEX schrittweise steigern. Integer-Werte sind ja noch relativ einfach zu handhaben,
aber wie sieht's denn beispielsweise mit Strings aus? Hierzu zunächst wieder eine
Methode, die wir testen wollen:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; StringOperations&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; CheckString(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Input)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Input.StartsWith(&lt;span style="color: #006080"&gt;"abc"&lt;/span&gt;)
&amp;amp;&amp;amp; Input.Length &amp;gt; 10)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Input
+ &lt;span style="color: #006080"&gt;" Starts with 'abc' and length &amp;gt; 10"&lt;/span&gt;; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Input.StartsWith(&lt;span style="color: #006080"&gt;"abc"&lt;/span&gt;))&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Input
+ &lt;span style="color: #006080"&gt;" Starts with 'abc'"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Input.StartsWith(&lt;span style="color: #006080"&gt;"ABC"&lt;/span&gt;))&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Input
+ &lt;span style="color: #006080"&gt;" Starts with 'ABC'"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"Unknown
pattern"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Stubs erzeugen und Exploration starten. Ob PEX wohl solche Operationen wie "StartsWith"
und "Length" versteht?
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_16.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="172" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_7.png" width="433" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Es findet tatsächlich alle erforderlichen Input-Parameter und sogar noch mehr! PEX
stell fest, dass unsere Methode beim Übergeben einer NULL-Referenz eine Exception
wirft. Und damit nicht genug, PEX kann uns auch einen Vorschlag machen, wie wir unseren
Code verbessern können. Dazu im "Pex Exploration Results" - Fenster unter Views "Show
suggestions window" aufrufen. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_18.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="206" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_8.png" width="725" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_20.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="156" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_9.png" width="736" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Durch einen Doppelklick auf den Eintrag am unteren Rand des Bereichs öffnet sich ein
Fenster, das die vorgeschlagene Änderung direkt in unseren Code einfügen kann.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_22.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="432" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_10.png" width="536" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; CheckString(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Input)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #008000"&gt;//
&amp;lt;pex&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Input
== (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ArgumentNullException(&lt;span style="color: #006080"&gt;"Input"&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #008000"&gt;//
&amp;lt;/pex&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Input.StartsWith(&lt;span style="color: #006080"&gt;"abc"&lt;/span&gt;)
&amp;amp;&amp;amp; Input.Length &amp;gt; 10)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Input
+ &lt;span style="color: #006080"&gt;" Starts with 'abc' and length &amp;gt; 10"&lt;/span&gt;; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Input.StartsWith(&lt;span style="color: #006080"&gt;"abc"&lt;/span&gt;))&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Input
+ &lt;span style="color: #006080"&gt;" Starts with 'abc'"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Input.StartsWith(&lt;span style="color: #006080"&gt;"ABC"&lt;/span&gt;))&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Input
+ &lt;span style="color: #006080"&gt;" Starts with 'ABC'"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"Unknown
pattern"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Die Zeilen 3-6 wurden von PEX erzeugt. Natürlich können wir das entsprechende Verhalten
im Code direkt ändern und an unsere Vorstellungen anpassen. Vielleicht ist es aber
gar keine schlechte Idee, in diesem Fall eine Exception zu werden. Dies ist das Standard-Verhalten
von PEX an dieser Stelle. Wird die erwartete Exception nicht mehr geworfen oder eine
andere Exception tritt auf, wird dies durch einen fehlgeschlagenen Test angezeigt.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Der nächste bitte!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
So nun wollen wir noch einen Schritt weitergehen und sehen, wie PEX mit Listen umgehen
kann. Dazu habe ich folgende Testmethode erstellt (über den Sinn einer solchen Methode
wollen wir jetzt nicht nachdenken)
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; result
= 0;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (list.Count
&amp;gt; 10)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; i &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; list)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; result
+= i;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; i &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; list)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; result
*= i;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Die Methode bekommt eine Liste von Integer-Werten übergeben. Wenn es mehr als 10 Elemente
sind, werden diese addiert, sonst werden die Werte miteinander Multipliziert. Mal
sehen, wie PEX mit Listen umgeht.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_24.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="120" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_11.png" width="572" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
PEX erkennt noch, dass unsere Methode mit Null-References nicht korrekt umgeht, aber
dann verließen sie ihn.&amp;nbsp; Aber freundlicherweise bekommen wir noch einen Hinweis
"2 Object Creations". klickt man darauf, dann bekommt man schon mehr Informationen. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_26.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="128" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_12.png" width="441" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Aha, PEX kann also eine List&amp;lt;int&amp;gt; nicht erzeugen. Also was tun? Klickt man den
unteren der beiden Einträge an, bietet PEX etwas weiter rechts die Möglichkeit eine
Factory zu definieren. Eine Factory ist ein Extensibility-Point mit dem PEX beigebracht
werden kann mit solchen Objekten umzugehen. Ein Beispiel für eine solche Factory kann
so aussehen:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; System.Collections.Generic&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; [PexFactoryClass]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ListFactory&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; [PexFactoryMethod(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;
Create(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; i)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (i
&amp;gt; 100)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; i
= 100;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;
l = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; j
= 0; j &amp;lt; i; j++)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; l.Add(j
* 10);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; l;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 19:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Hier teilt man PEX nun mit, welche Elemente es damit erzeugen kann (Zeile 6). Anschließend
implementiert man eine Create-Methode die beliebige Parameter übernehmen kann. In
Abhängigkeit dieser Parameter wird nun eine Instanz des gewünschten Objektes erzeugt.
In unserem Beispiel übernehmen wir nur einen Parameter der die Länge der Liste angibt.
In den Zeilen 9/10 begrenzen wir die Länge der Lsite auf 100 Elemente. Die Liste selbst
befüllen wir mit einer Reihe von Zahlen. Hier ist es sicher keine gute Idee, z.B.
Zufallszahlen zu verwenden, da diese ja bei jedem Testdurchlauf andere Werte liefern
und deshalb der Assert nicht erfolgreich ausgeführt werden kann.
&lt;/p&gt;
&lt;p&gt;
Mit hilfe dieser Factory kannPEX nun unsere Testcases definieren. Dazu ermittelt es
einfach geeignete Parameter für die Create-Methode in unserer Factory statt das Objekt
selbst zu erzeugen.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_28.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="145" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_13.png" width="597" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Die erzeugten Tests sehen dann so aus:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; [TestMethod]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; [PexGeneratedBy(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(ListCalculationTest))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; SumList03()&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;
list;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; i;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; list
= ListFactory.Create(2);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; ListCalculation
listCalculation = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ListCalculation();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; i
= &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SumList(listCalculation, list);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; Assert.AreEqual&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;(0,
i);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; [TestMethod]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; [PexGeneratedBy(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(ListCalculationTest))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; SumList04()&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;
list;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; i;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 19:&lt;/span&gt; list
= ListFactory.Create(536870912);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 20:&lt;/span&gt; ListCalculation
listCalculation = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ListCalculation();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 21:&lt;/span&gt; i
= &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SumList(listCalculation, list);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 22:&lt;/span&gt; Assert.AreEqual&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;(49500,
i);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 23:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Nun folgt noch die Kür&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Nach den Erfahrungen mit der Liste bereits etwas skeptischer geworden, wollen wir's
jetzt aber doch wissen. Wie sieht's mit eigenen Objekten aus? Wie weit kommt PEX damit?
Auch hier gibt es wieder eine einfache Methode die wir testen wollen:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ComplexDataCalculation&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; DoComplexDataCalculation(cData
d)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (!d.IsValid)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"NotValid"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (d.DataValues.x1
&amp;gt; d.DataValues.x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
&amp;gt; x2"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (d.DataValues.x1
&amp;lt; d.DataValues.x2)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
&amp;lt; x2"&lt;/span&gt;; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"x1
== x2"&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; cData&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 19:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 20:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; cDataValues
DataValues { get; set; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 21:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ObsoleteParameter
{ get; set; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 22:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; IsValid
{ get; set; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 23:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 24:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 25:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; cDataValues&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 26:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 27:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x1
{ get; set; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 28:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x2
{ get; set; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 29:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Die Methode bekommt einen komplexen Datentyp übergeben. Und was macht PEX???
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_32.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="190" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/image_thumb_15.png" width="543" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
PEX erkennt nicht nur, dass wir zwei Null-Exceptions abfangen sollten, sondern kann
auch unser Datenobjekt so initialisieren, dass wir wieder eine 100% Codeabdeckung
bekommen. Die Unit-Tests sehen ungefähr so aus:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; [TestMethod]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; [PexGeneratedBy(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(ComplexDataCalculationTest))]&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; DoComplexDataCalculation04()&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; cDataValues
cDataValues;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; cData
cData;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; s;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; cDataValues
= &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; cDataValues();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; cDataValues.x1
= 3;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; cDataValues.x2
= 4;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; cData
= &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; cData();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; cData.DataValues
= cDataValues;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; cData.ObsoleteParameter
= &lt;span style="color: #006080"&gt;""&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; cData.IsValid
= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; ComplexDataCalculation
complexDataCalculation = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexDataCalculation();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; s
= &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.DoComplexDataCalculation(complexDataCalculation,
cData);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt; Assert.AreEqual&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color: #006080"&gt;"x1
&amp;lt; x2"&lt;/span&gt;, s);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Das ist schon extrem beeindruckend, wie PEX tatsächlich eine entsprechende Instanz
unseres Datenobjektes erzeugt und initialisiert und das so, dass wir alle Testcases
abdecken. Wirklich beeindruckend.
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:35094c03-c207-4962-9c04-0342f1082d8c" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/PEXAutomatischesGenerierenvonUnitTests_12C9A/PEX.zip" target="_blank"&gt;Die
Demos können hier heruntergeladen werden&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Was haltet ihr davon? Würde mich über Feedback freuen.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,7d3e3e4a-eb47-434a-acd5-bbb92a0fb88c.aspx</comments>
      <category>Qualitätsmanagement</category>
      <category>Tipps und Tricks</category>
      <category>Tools</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=a8e2e3f9-29dc-4393-a4c7-993de78d0872</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,a8e2e3f9-29dc-4393-a4c7-993de78d0872.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,a8e2e3f9-29dc-4393-a4c7-993de78d0872.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=a8e2e3f9-29dc-4393-a4c7-993de78d0872</wfw:commentRss>
      <title>Thomas auf der ADC08</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,a8e2e3f9-29dc-4393-a4c7-993de78d0872.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,a8e2e3f9-29dc-4393-a4c7-993de78d0872.aspx</link>
      <pubDate>Thu, 09 Oct 2008 23:05:40 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img alt="Advanced Developers Conference, Windows Development, Windwos Entwicklung, ADC, LINQ, LINQ (DB), Testing, Deployment, Visual Studio Team System, VSTS-Versionkontrolle, Dynamische Sprachen, C++, C#, Debugging, Architektur, WCF, WF, WPF, Parallel LINQ, OpenMP, MPI, C++/CLI, C++-Interop, MFC, TR1, Vista-API&amp;rsquo;s, Debugging, VS-Extensions, Database Data Mining, Analysis, Reporting, VS-DB-Edition, visual studio, .net, vista, Anwendungsentwicklung .NET, managed code, unmanaged code" src="http://www.adc08.de/Images08/Index.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
Nächste Woche Dienstag bin ich mit zwei Vorträgen auf der ADC08 vertreten.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a name="VSTS"&gt;Testing Practices mit VSTS und TFS&lt;/a&gt;&lt;/strong&gt;
&lt;br&gt;
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. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a name="UI"&gt;UI-Testing mit UI Automation&lt;/a&gt;&lt;/strong&gt;
&lt;br&gt;
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 Web-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-Rekorder 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. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=a8e2e3f9-29dc-4393-a4c7-993de78d0872" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,a8e2e3f9-29dc-4393-a4c7-993de78d0872.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=667a97e1-6d04-4744-935f-7b796f621643</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,667a97e1-6d04-4744-935f-7b796f621643.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,667a97e1-6d04-4744-935f-7b796f621643.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=667a97e1-6d04-4744-935f-7b796f621643</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img height="100" alt="MSDN Webcasts" src="http://www.microsoft.com/germany/msdn/images/vkey/vkey_webcasts.jpg" width="550" />
        </p>
        <p>
Seit ein paar Tagen ist ein neuer Web-Cast online in dem ich zusammen mit <a href="http://blogs.msdn.com/cbinder">Christian
Binder</a> zusammen erörtere welche Vorteile die hierarchische Organisation von Workitems
bietet. Ohne schon zuviel vom Inhalt verraten zu wolle, es geht um Requirementmanagement,
Traceability, Impace-Analyse und einiges mehr. Im Webcast wird ein kostenloses Tool
vorgestellt mit dem bereits mit TFS 2008 hierarchische Workitems realisiert werden
können.
</p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=667a97e1-6d04-4744-935f-7b796f621643" />
      </body>
      <title>Hierarchische Workitems mit VSTS 2008 erfolgreich anwenden - Eine Einf&amp;uuml;hrung in den Workitem Manager Open</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,667a97e1-6d04-4744-935f-7b796f621643.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,667a97e1-6d04-4744-935f-7b796f621643.aspx</link>
      <pubDate>Thu, 09 Oct 2008 22:56:33 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img height="100" alt="MSDN Webcasts" src="http://www.microsoft.com/germany/msdn/images/vkey/vkey_webcasts.jpg" width="550"&gt;
&lt;/p&gt;
&lt;p&gt;
Seit ein paar Tagen ist ein neuer Web-Cast online in dem ich zusammen mit &lt;a href="http://blogs.msdn.com/cbinder"&gt;Christian
Binder&lt;/a&gt; zusammen erörtere welche Vorteile die hierarchische Organisation von Workitems
bietet. Ohne schon zuviel vom Inhalt verraten zu wolle, es geht um Requirementmanagement,
Traceability, Impace-Analyse und einiges mehr. Im Webcast wird ein kostenloses Tool
vorgestellt mit dem bereits mit TFS 2008 hierarchische Workitems realisiert werden
können.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=667a97e1-6d04-4744-935f-7b796f621643" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,667a97e1-6d04-4744-935f-7b796f621643.aspx</comments>
      <category>Team System Server</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=f1ff5328-0001-4890-9191-1d1698bd7f3b</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,f1ff5328-0001-4890-9191-1d1698bd7f3b.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,f1ff5328-0001-4890-9191-1d1698bd7f3b.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=f1ff5328-0001-4890-9191-1d1698bd7f3b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img alt="" src="http://www.herbstcampus.de/hc08/style/image/logo.gif" />
        </p>
        <p>
Ok, OK, ich weiß, ich bin spät dran, aber ich möchte dennoch nicht versäumen, einen
kurzen Rückblick auf den <a target="_blank" href="http://www.herbstcampus.de/">Herbstcampus</a> zu
tun und meine Folien zu veröffentlichen.
</p>
        <p>
Interessant war für mich an der Veranstaltung, dass es Tracks sowohl für JAVA als
auch .Net gab. Ich selbst hatte zwei Talks:
</p>
        <p>
          <strong>Qualitätsmanagement mit VSTS und TFS<br /></strong>In dieser Session habe ich zunächst einmal beleuchtet, warum Entwickler QM
nicht unbedingt mögen. Einer der Gründe liegt in der mangelnden Integration von QM
in den Entwicklungsprozess. Gerade hier bietet VSTS und TFS einige Verbesserungen.
Wichtig ist, dass QM nicht erst mit dem Testing beginnt, sondern bereits früh im Prozess
ansetzen muss. Ohne ein gutes Requirement-Management wird kein gutes Qualitäts-Management
möglich sein. Im Vortrag habe ich demonstriert, welche Methoden mit diesem Toolset
über die verschiedenen Prozessphasen zur Verfügung stehen um in Software-Projekten
wirklich mehr Qualität zu erzielen.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:91f4b23d-ffc9-4b17-9b4d-4be0bdf2f703" class="wlWriterSmartContent">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/RckblickHerbstcampusMnchen_14E80/Qualit%C3%A4tsmanagement%20mit%20VSTS_artiso%202.pptx" target="_blank">Folien
zum Download</a>
          </p>
        </div>
        <p>
        </p>
        <p>
          <a name="47">
            <font color="#000000">
              <strong>Agile Development Process</strong>
            </font>
          </a>
          <strong> -
Ein Architektur-basierter Entwicklungsprozess</strong>
        </p>
        <p>
Architektur und Prozesse werden meist getrennt betrachtet. Dass aber gerade eine gemeinsame
Betrachtung dieser beiden Themen viele Vorteile bringt, habe ich versucht in dieser
Session zu vermitteln. Im Kern ging es darum, dass verschiedene Prozesse wie z.B.
das UI Driven Development erst durch eine passende Architektur ermöglicht wird. Sehr
gut fand ich auch die Diskussion am Ende meines Vortrags. Das versprochene Whitepaper
zu diesem Vortrag wird noch nachgereicht.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ec5faf08-1fc5-49a7-bade-9777826eab55" class="wlWriterSmartContent">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/RckblickHerbstcampusMnchen_14E80/Architekturgest%C3%BCtzter%20Entwicklungsprozes.pptx" target="_blank">Folien
zum Download</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=f1ff5328-0001-4890-9191-1d1698bd7f3b" />
      </body>
      <title>R&amp;uuml;ckblick Herbstcampus N&amp;uuml;rnberg</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,f1ff5328-0001-4890-9191-1d1698bd7f3b.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,f1ff5328-0001-4890-9191-1d1698bd7f3b.aspx</link>
      <pubDate>Wed, 01 Oct 2008 08:10:06 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img alt="" src="http://www.herbstcampus.de/hc08/style/image/logo.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, OK, ich weiß, ich bin spät dran, aber ich möchte dennoch nicht versäumen, einen
kurzen Rückblick auf den &lt;a target="_blank" href="http://www.herbstcampus.de/"&gt;Herbstcampus&lt;/a&gt; zu
tun und meine Folien zu veröffentlichen.
&lt;/p&gt;
&lt;p&gt;
Interessant war für mich an der Veranstaltung, dass es Tracks sowohl für JAVA als
auch .Net gab. Ich selbst hatte zwei Talks:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Qualitätsmanagement mit VSTS und TFS&lt;br&gt;
&lt;/strong&gt;In dieser Session habe ich zunächst einmal beleuchtet, warum Entwickler QM
nicht unbedingt mögen. Einer der Gründe liegt in der mangelnden Integration von QM
in den Entwicklungsprozess. Gerade hier bietet VSTS und TFS einige Verbesserungen.
Wichtig ist, dass QM nicht erst mit dem Testing beginnt, sondern bereits früh im Prozess
ansetzen muss. Ohne ein gutes Requirement-Management wird kein gutes Qualitäts-Management
möglich sein. Im Vortrag habe ich demonstriert, welche Methoden mit diesem Toolset
über die verschiedenen Prozessphasen zur Verfügung stehen um in Software-Projekten
wirklich mehr Qualität zu erzielen.
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:91f4b23d-ffc9-4b17-9b4d-4be0bdf2f703" class="wlWriterSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/RckblickHerbstcampusMnchen_14E80/Qualit%C3%A4tsmanagement%20mit%20VSTS_artiso%202.pptx" target="_blank"&gt;Folien
zum Download&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a name="47"&gt;&lt;font color="#000000"&gt;&lt;strong&gt;Agile Development Process&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt; -
Ein Architektur-basierter Entwicklungsprozess&lt;/strong&gt; 
&lt;p&gt;
Architektur und Prozesse werden meist getrennt betrachtet. Dass aber gerade eine gemeinsame
Betrachtung dieser beiden Themen viele Vorteile bringt, habe ich versucht in dieser
Session zu vermitteln. Im Kern ging es darum, dass verschiedene Prozesse wie z.B.
das UI Driven Development erst durch eine passende Architektur ermöglicht wird. Sehr
gut fand ich auch die Diskussion am Ende meines Vortrags. Das versprochene Whitepaper
zu diesem Vortrag wird noch nachgereicht.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ec5faf08-1fc5-49a7-bade-9777826eab55" class="wlWriterSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/RckblickHerbstcampusMnchen_14E80/Architekturgest%C3%BCtzter%20Entwicklungsprozes.pptx" target="_blank"&gt;Folien
zum Download&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=f1ff5328-0001-4890-9191-1d1698bd7f3b" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,f1ff5328-0001-4890-9191-1d1698bd7f3b.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=be13e72b-f553-4e49-885b-2dabb292ad8b</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,be13e72b-f553-4e49-885b-2dabb292ad8b.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,be13e72b-f553-4e49-885b-2dabb292ad8b.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=be13e72b-f553-4e49-885b-2dabb292ad8b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/StefanLieserbeider.NetDevelopergroupUlm_13C1F/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/StefanLieserbeider.NetDevelopergroupUlm_13C1F/image_thumb.png" width="689" height="92" />
          </a>
        </p>
        <p>
Am 08.10.2008 haben wir Stefan Lieser zu Gast bei der .Net Developer-Group Ulm. Er
wird in seinem Vortrag einige "Software Design Principles" vorstellen und erläutern
wie diese helfen, Software wartbarer wird.
</p>
        <p>
Mitglieder und Gäste sind herzlich eingeladen. Weitere Infos unter <a href="http://www.dotnet-ulm.de/Treffen.aspx">http://www.dotnet-ulm.de/Treffen.aspx</a></p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=be13e72b-f553-4e49-885b-2dabb292ad8b" />
      </body>
      <title>Stefan Lieser bei der .Net Developer-Group Ulm</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,be13e72b-f553-4e49-885b-2dabb292ad8b.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,be13e72b-f553-4e49-885b-2dabb292ad8b.aspx</link>
      <pubDate>Mon, 29 Sep 2008 20:40:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/StefanLieserbeider.NetDevelopergroupUlm_13C1F/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/StefanLieserbeider.NetDevelopergroupUlm_13C1F/image_thumb.png" width="689" height="92"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Am 08.10.2008 haben wir Stefan Lieser zu Gast bei der .Net Developer-Group Ulm. Er
wird in seinem Vortrag einige "Software Design Principles" vorstellen und erläutern
wie diese helfen, Software wartbarer wird.
&lt;/p&gt;
&lt;p&gt;
Mitglieder und Gäste sind herzlich eingeladen. Weitere Infos unter &lt;a href="http://www.dotnet-ulm.de/Treffen.aspx"&gt;http://www.dotnet-ulm.de/Treffen.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=be13e72b-f553-4e49-885b-2dabb292ad8b" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,be13e72b-f553-4e49-885b-2dabb292ad8b.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=42832f75-8e2c-4bf1-8ebf-5fa32ff6c315</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,42832f75-8e2c-4bf1-8ebf-5fa32ff6c315.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,42832f75-8e2c-4bf1-8ebf-5fa32ff6c315.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=42832f75-8e2c-4bf1-8ebf-5fa32ff6c315</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Vom 19.11 bis zum 21.11.2008 findet in Berlin der <a href="http://technical-summit.de" target="_blank">Technical
Summit</a> statt. Neben einem Überblick über die aktuellen Microsoft Entwicklungstechnologien
könenn sie sich hier auch über die wichtigsten Trends auf der DC informieren.
</p>
        <p>
Ich bin auf dem Technical Summit als <a href="http://www.technical-summit.de/Referenten_ts08.mspx?ActiveID=1155#ThomasSchissler" target="_blank">Sprecher</a> und
als ATE vertreten sein. Meine Vortragsthemen:
</p>
        <li>
          <a href="http://technical-summit.de/Vortraege_ts08.mspx?ActiveID=1154#DurchgaengigeEntwicklungsprozesse " target="_self" temp_href="http://technical-summit.de/Vortraege_ts08.mspx?ActiveID=1154#DurchgaengigeEntwicklungsprozesse ">
            <u>
              <font color="#0066cc">Durchgängige
Entwicklungsprozesse mit Visual Studio Team System</font>
            </u>
          </a>
        </li>
        <li>
          <a href="http://technical-summit.de/Vortraege_ts08.mspx?ActiveID=1154#QualitaetsmanagementMitVSTS" target="_self">
            <u>
              <font color="#0066cc">Qualitätsmanagement
mit VSTS und TFS</font>
            </u>
          </a>
          <p>
 
</p>
          <p>
            <a href="http://www.technical-summit.de/AskTheExperts_ts08.mspx?ActiveID=1383" target="_blank">
              <img style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; BORDER-BOTTOM: 0px solid" height="250" alt="Offizieller ATE @ Microsoft Technical Summit 2008: Treffen Sie mich in den Ask the Experts-Sessions!" src="http://www.technical-summit.de/upload/ts_banner_300x250_ate_1213.jpg" width="300" align="top" />
            </a>
          </p>
        </li>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=42832f75-8e2c-4bf1-8ebf-5fa32ff6c315" />
      </body>
      <title>Developer, Developer, Developer</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,42832f75-8e2c-4bf1-8ebf-5fa32ff6c315.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,42832f75-8e2c-4bf1-8ebf-5fa32ff6c315.aspx</link>
      <pubDate>Thu, 25 Sep 2008 18:19:14 GMT</pubDate>
      <description>&lt;p&gt;
Vom 19.11 bis zum 21.11.2008 findet in Berlin der &lt;a href="http://technical-summit.de" target=_blank&gt;Technical
Summit&lt;/a&gt; statt. Neben einem Überblick über die aktuellen Microsoft Entwicklungstechnologien
könenn sie sich hier auch über die wichtigsten Trends auf der DC informieren.
&lt;/p&gt;
&lt;p&gt;
Ich bin auf dem Technical Summit als &lt;a href="http://www.technical-summit.de/Referenten_ts08.mspx?ActiveID=1155#ThomasSchissler" target=_blank&gt;Sprecher&lt;/a&gt; und
als ATE vertreten sein. Meine Vortragsthemen:
&lt;/p&gt;
&lt;li&gt;
&lt;a href="http://technical-summit.de/Vortraege_ts08.mspx?ActiveID=1154#DurchgaengigeEntwicklungsprozesse " target=_self temp_href="http://technical-summit.de/Vortraege_ts08.mspx?ActiveID=1154#DurchgaengigeEntwicklungsprozesse "&gt;&lt;u&gt;&lt;font color=#0066cc&gt;Durchgängige
Entwicklungsprozesse mit Visual Studio Team System&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://technical-summit.de/Vortraege_ts08.mspx?ActiveID=1154#QualitaetsmanagementMitVSTS" target=_self&gt;&lt;u&gt;&lt;font color=#0066cc&gt;Qualitätsmanagement
mit VSTS und TFS&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.technical-summit.de/AskTheExperts_ts08.mspx?ActiveID=1383" target=_blank&gt;&lt;img style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; BORDER-BOTTOM: 0px solid" height=250 alt="Offizieller ATE @ Microsoft Technical Summit 2008: Treffen Sie mich in den Ask the Experts-Sessions!" src="http://www.technical-summit.de/upload/ts_banner_300x250_ate_1213.jpg" width=300 align=top&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=42832f75-8e2c-4bf1-8ebf-5fa32ff6c315" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,42832f75-8e2c-4bf1-8ebf-5fa32ff6c315.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=d1868740-eefb-4ed4-8c6e-2493baffaa23</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,d1868740-eefb-4ed4-8c6e-2493baffaa23.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,d1868740-eefb-4ed4-8c6e-2493baffaa23.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d1868740-eefb-4ed4-8c6e-2493baffaa23</wfw:commentRss>
      <title>MSDN WebCast zum UI-Recording</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,d1868740-eefb-4ed4-8c6e-2493baffaa23.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,d1868740-eefb-4ed4-8c6e-2493baffaa23.aspx</link>
      <pubDate>Thu, 24 Jul 2008 20:18:50 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img alt="MSDN Webcasts" src="http://www.microsoft.com/germany/msdn/images/vkey/vkey_webcasts.jpg" width="550" height="100"&gt;
&lt;/p&gt;
&lt;p&gt;
Zusammen mit &lt;a href="http://blogs.msdn.com/cbinder" target="_blank"&gt;Christian Binder&lt;/a&gt; habe
ich nun einen MSDN Webcast aufgenommen der sich mit dem Thema UI Events und Record
&amp; Play für UI Testing beschäftigt. Dieser Webcast ist als Fortsetzung zum Thema &lt;a href="http://www.artiso.com/ProBlog/PermaLink,guid,723fe3a3-b97e-4eb2-90c7-0e8515580937.aspx" target="_blank"&gt;UI
Testing mit dem UI Automation Framework&lt;/a&gt; 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 &lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MSDNWebCastzumUIRecording_137AC/UITests.zip" target="_blank"&gt;hier&lt;/a&gt; runterladen. 
&lt;/p&gt;
&lt;p&gt;
Kurz hier der Inhalt des Webcasts zusammengefasst. 
&lt;p&gt;
Ü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. 
&lt;p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/MSDNWebCastzumUIRecording_137AC/UITests.zip" target="_blank"&gt;Download
Demo-Code&lt;/a&gt; 
&lt;p&gt;
&lt;a href="http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032383658"&gt;Download
Webcast&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=d1868740-eefb-4ed4-8c6e-2493baffaa23" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,d1868740-eefb-4ed4-8c6e-2493baffaa23.aspx</comments>
      <category>Qualitätsmanagement</category>
      <category>UI Automation</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=b0daa488-fd53-4f8c-bb27-93da00db0ae5</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,b0daa488-fd53-4f8c-bb27-93da00db0ae5.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,b0daa488-fd53-4f8c-bb27-93da00db0ae5.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=b0daa488-fd53-4f8c-bb27-93da00db0ae5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
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.
</p>
        <style type="text/css">
        .style1
        {
            height: 75.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style2
        {
            width: 718pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style3
        {
            height: 75.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style4
        {
            width: 718pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style5
        {
            height: 45.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style6
        {
            height: 45.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style7
        {
            height: 90.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style8
        {
            height: 105.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style9
        {
            height: 90.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style10
        {
            height: 60.0pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: nowrap;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
    </style>
        <table style="border-collapse: collapse" border="0" cellspacing="0" cellpadding="0">
          <tbody>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" id="MSOZoneCell_WebPartWPQ1" class="style1" height="100">
Qualitätsmanagement mit VSTS und TFS</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2">
Qualität spielt bei Software eine immer stärkere Rolle. Gleichzeitig werden immer
effizientere<span style="mso-spacerun: yes">  </span>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.</td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style3" height="100">
Agile Development Process - Ein Architekturbasierter Entwicklungsprozess</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4">
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.<span style="mso-spacerun: yes"> </span></td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style5" height="60">
Mehrschichtige Architekturen mit .Net</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2">
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.</td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style6" height="60">
Build-Management mit Team Foundation Server</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4">
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.</td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style7" height="120">
Testing Practices mit VSTS und TFS</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2">
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.</td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style8" height="140">
UI-Testing mit UI Automation</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4">
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.</td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style1" height="100">
Closing Tool-Gaps in your Development Process with the TFS API</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2">
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.</td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style9" height="120">
Durchgängige Entwicklungsprozesse mit Visual Studio Team System</td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4">
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.</td>
            </tr>
            <tr>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style10" height="80">
                <div width="100%" allowdelete="false" haspers="false" webpartid="8e8157d0-9bed-48a8-b7a5-44d0def79500" allowexport="false">Reporting
mit dem TFS
</div>
              </td>
              <td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2">
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.</td>
            </tr>
          </tbody>
        </table>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=b0daa488-fd53-4f8c-bb27-93da00db0ae5" />
      </body>
      <title>Aktuelle Vortragsthemen</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,b0daa488-fd53-4f8c-bb27-93da00db0ae5.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,b0daa488-fd53-4f8c-bb27-93da00db0ae5.aspx</link>
      <pubDate>Wed, 23 Jul 2008 22:07:56 GMT</pubDate>
      <description>&lt;p&gt;
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.
&lt;/p&gt;
&lt;style type="text/css"&gt;
        .style1
        {
            height: 75.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style2
        {
            width: 718pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style3
        {
            height: 75.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style4
        {
            width: 718pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style5
        {
            height: 45.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style6
        {
            height: 45.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style7
        {
            height: 90.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style8
        {
            height: 105.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style9
        {
            height: 90.0pt;
            width: 230pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: normal;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style10
        {
            height: 60.0pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: top;
            white-space: nowrap;
            border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
    &lt;/style&gt;
&lt;table style="border-collapse: collapse" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" id="MSOZoneCell_WebPartWPQ1" class="style1" height="100"&gt;
Qualitätsmanagement mit VSTS und TFS&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2"&gt;
Qualität spielt bei Software eine immer stärkere Rolle. Gleichzeitig werden immer
effizientere&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style3" height="100"&gt;
Agile Development Process - Ein Architekturbasierter Entwicklungsprozess&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4"&gt;
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.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style5" height="60"&gt;
Mehrschichtige Architekturen mit .Net&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style6" height="60"&gt;
Build-Management mit Team Foundation Server&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style7" height="120"&gt;
Testing Practices mit VSTS und TFS&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style8" height="140"&gt;
UI-Testing mit UI Automation&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style1" height="100"&gt;
Closing Tool-Gaps in your Development Process with the TFS API&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style9" height="120"&gt;
Durchgängige Entwicklungsprozesse mit Visual Studio Team System&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #dbe5f1 none" class="style4"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style10" height="80"&gt;
&lt;div width="100%" allowdelete="false" haspers="false" webpartid="8e8157d0-9bed-48a8-b7a5-44d0def79500" allowexport="false"&gt;Reporting
mit dem TFS
&lt;/div&gt;
&lt;/td&gt;
&lt;td style="text-underline-style: none; text-line-through: none; mso-pattern: #b8cce4 none" class="style2"&gt;
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.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=b0daa488-fd53-4f8c-bb27-93da00db0ae5" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,b0daa488-fd53-4f8c-bb27-93da00db0ae5.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=a89690e3-b826-416a-984c-bfa6573c53b1</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,a89690e3-b826-416a-984c-bfa6573c53b1.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,a89690e3-b826-416a-984c-bfa6573c53b1.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=a89690e3-b826-416a-984c-bfa6573c53b1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
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:
</p>
        <blockquote>
          <p>
            <span style="font-size: 9pt; color: #000000; font-family: verdana">
              <b>Windows Presentation
Foundation</b> ... nach 20 Jahren hat Microsoft uns Entwicklern nun eine neue Alternative
gegeben, mit Hilfe derer wir <b>flexible User Interfaces</b> 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?<br />
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: 
<ul><li>
Aufbau von WPF 
</li><li>
Einfache WPF-Codebeispiele 
</li><li>
Tipps &amp; Tricks / best practices 
</li><li>
Wann soll man WPF verwenden und wann nicht? 
</li></ul><p>
Noch dazu hat man bei dieser Gelegenheit auch <b>Silverlight</b> 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. 
</p></span>
          </p>
        </blockquote>
        <p>
Weitere Informationen unter <a href="http://www.dotnet-ulm.de">www.dotnet-ulm.de</a></p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Tre.netDeveloperGroupUlmWindowsPresentat_7C80/Kopfleiste800pix_2.gif">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="110" alt="Kopfleiste800pix" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Tre.netDeveloperGroupUlmWindowsPresentat_7C80/Kopfleiste800pix_thumb.gif" width="800" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=a89690e3-b826-416a-984c-bfa6573c53b1" />
      </body>
      <title>Treffen der .net Developer-Group Ulm - Windows Presentation Foundation</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,a89690e3-b826-416a-984c-bfa6573c53b1.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,a89690e3-b826-416a-984c-bfa6573c53b1.aspx</link>
      <pubDate>Mon, 14 Jul 2008 06:51:13 GMT</pubDate>
      <description>&lt;p&gt;
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:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;span style="font-size: 9pt; color: #000000; font-family: verdana"&gt;&lt;b&gt;Windows Presentation
Foundation&lt;/b&gt; ... nach 20 Jahren hat Microsoft uns Entwicklern nun eine neue Alternative
gegeben, mit Hilfe derer wir &lt;b&gt;flexible User Interfaces&lt;/b&gt; 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?&lt;br&gt;
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: 
&lt;ul&gt;
&lt;li&gt;
Aufbau von WPF 
&lt;li&gt;
Einfache WPF-Codebeispiele 
&lt;li&gt;
Tipps &amp;amp; Tricks / best practices 
&lt;li&gt;
Wann soll man WPF verwenden und wann nicht? 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Noch dazu hat man bei dieser Gelegenheit auch &lt;b&gt;Silverlight&lt;/b&gt; 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. 
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Weitere Informationen unter &lt;a href="http://www.dotnet-ulm.de"&gt;www.dotnet-ulm.de&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Tre.netDeveloperGroupUlmWindowsPresentat_7C80/Kopfleiste800pix_2.gif"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="110" alt="Kopfleiste800pix" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/Tre.netDeveloperGroupUlmWindowsPresentat_7C80/Kopfleiste800pix_thumb.gif" width="800" border="0"&gt;&lt;/a&gt; &gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=a89690e3-b826-416a-984c-bfa6573c53b1" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,a89690e3-b826-416a-984c-bfa6573c53b1.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=8cca807a-d61c-43de-9654-5634bf0c2b8c</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,8cca807a-d61c-43de-9654-5634bf0c2b8c.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,8cca807a-d61c-43de-9654-5634bf0c2b8c.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=8cca807a-d61c-43de-9654-5634bf0c2b8c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Heute hatten wir bei der UG Ulm <a href="http://blogs.msdn.com/cbinder" target="_blank">Christian
Binder</a> 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:
</p>
        <ul>
          <li>
Lightweight Projektmanagement und Kapazitätsplanung</li>
          <li>
Neue Verknüpfungen und hierarchische Workitems</li>
          <li>
Build definition über Workflow Foundation</li>
          <li>
Planung und Verwaltung von manuellen Tests</li>
          <li>
Aufzeichnung eines Web UI-Tests und Umwandlung in einen coded Test</li>
          <li>
Historical Debugging</li>
          <li>
Sequential Diagramms</li>
          <li>
und vieles mehr</li>
        </ul>
        <p>
Danke an Chris für den tollen Vortrag.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010173.jpg">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="284" alt="P1010173" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010173_thumb.jpg" width="377" border="0" />
          </a> <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010168.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="282" alt="P1010168" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010168_thumb.jpg" width="375" border="0" /></a></p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=8cca807a-d61c-43de-9654-5634bf0c2b8c" />
      </body>
      <title>Vortrag UG Ulm - Ausblick auf Rosario</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,8cca807a-d61c-43de-9654-5634bf0c2b8c.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,8cca807a-d61c-43de-9654-5634bf0c2b8c.aspx</link>
      <pubDate>Wed, 28 May 2008 21:51:39 GMT</pubDate>
      <description>&lt;p&gt;
Heute hatten wir bei der UG Ulm &lt;a href="http://blogs.msdn.com/cbinder" target="_blank"&gt;Christian
Binder&lt;/a&gt; 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:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Lightweight Projektmanagement und Kapazitätsplanung&lt;/li&gt;
&lt;li&gt;
Neue Verknüpfungen und hierarchische Workitems&lt;/li&gt;
&lt;li&gt;
Build definition über Workflow Foundation&lt;/li&gt;
&lt;li&gt;
Planung und Verwaltung von manuellen Tests&lt;/li&gt;
&lt;li&gt;
Aufzeichnung eines Web UI-Tests und Umwandlung in einen coded Test&lt;/li&gt;
&lt;li&gt;
Historical Debugging&lt;/li&gt;
&lt;li&gt;
Sequential Diagramms&lt;/li&gt;
&lt;li&gt;
und vieles mehr&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Danke an Chris für den tollen Vortrag.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010173.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="284" alt="P1010173" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010173_thumb.jpg" width="377" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010168.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="282" alt="P1010168" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragUGUlmAusblickaufRosario_149DE/P1010168_thumb.jpg" width="375" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=8cca807a-d61c-43de-9654-5634bf0c2b8c" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,8cca807a-d61c-43de-9654-5634bf0c2b8c.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=98ccf0f1-6a2b-433a-ace7-886f16109c12</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,98ccf0f1-6a2b-433a-ace7-886f16109c12.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,98ccf0f1-6a2b-433a-ace7-886f16109c12.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=98ccf0f1-6a2b-433a-ace7-886f16109c12</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Am 28.05.2008 findet um 18:00 Uhr das nächste Treffen der <a href="http://www.dotnet-ulm.de" target="_blank">.net
DeveloperGroup Ulm</a> statt. Diesesmal haben wir <a href="http://blogs.msdn.com/cbinder" target="_blank">Christian
Binder</a>, Microsoft Evangelist zu Gast, der uns einen Blick in die Zukunft gewährt.
Er wird in seinem Vortrag Neuerungen von Rosario, dem Nachfolger von Visual Studio
2008 vorstellen. Rosario bring viele neue Funktionen, die für alle Entwickler interessant
sein dürften. Wer also wissen will, was auf uns zukommt, der sollte sich diese Veranstaltung
nicht entgehen lassen. 
</p>
        <p>
Nähere Informationen gibt es unter <a href="http://www.dotnet-ulm.de/Treffen.aspx">http://www.dotnet-ulm.de/Treffen.aspx</a></p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=98ccf0f1-6a2b-433a-ace7-886f16109c12" />
      </body>
      <title>Vortrag zu Rosario bei der .net Developergroup Ulm</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,98ccf0f1-6a2b-433a-ace7-886f16109c12.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,98ccf0f1-6a2b-433a-ace7-886f16109c12.aspx</link>
      <pubDate>Mon, 19 May 2008 20:41:25 GMT</pubDate>
      <description>&lt;p&gt;
Am 28.05.2008 findet um 18:00 Uhr das nächste Treffen der &lt;a href="http://www.dotnet-ulm.de" target="_blank"&gt;.net
DeveloperGroup Ulm&lt;/a&gt; statt. Diesesmal haben wir &lt;a href="http://blogs.msdn.com/cbinder" target="_blank"&gt;Christian
Binder&lt;/a&gt;, Microsoft Evangelist zu Gast, der uns einen Blick in die Zukunft gewährt.
Er wird in seinem Vortrag Neuerungen von Rosario, dem Nachfolger von Visual Studio
2008 vorstellen. Rosario bring viele neue Funktionen, die für alle Entwickler interessant
sein dürften. Wer also wissen will, was auf uns zukommt, der sollte sich diese Veranstaltung
nicht entgehen lassen. 
&lt;/p&gt;
&lt;p&gt;
Nähere Informationen gibt es unter &lt;a href="http://www.dotnet-ulm.de/Treffen.aspx"&gt;http://www.dotnet-ulm.de/Treffen.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=98ccf0f1-6a2b-433a-ace7-886f16109c12" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,98ccf0f1-6a2b-433a-ace7-886f16109c12.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=ca05fb23-29fb-4f79-b02f-43d800b1bf22</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=ca05fb23-29fb-4f79-b02f-43d800b1bf22</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Die Videos zu den Sessions vom Launch-Event in Frankfurt im Februar sind jetzt für
alle frei verfügbar. 
</p>
        <p>
Ich hatte ja die Möglichkeit, am Ende einer Session von <a href="http://blogs.msdn.com/cbinder" target="_blank">Christian
Binder</a> kurz vorzustellen, wie wir den TFS in unserem Entwicklungsprozess nutzen. 
</p>
        <p>
Das Video kann man <a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100" target="_blank">hier</a> abrufen.
Mein Einsatz beginnt dann ab der Minute 54. Mein Video, das ich in dem Vortrag nutze,
kann <a href="http://www.artiso.com/ProBlog/ct.ashx?id=944da1ef-2f47-4857-824e-bd30586abd58&amp;url=http%3a%2f%2fwww.artiso.com%2fdownloads%2fartisoWebCastTeil1.wmv" target="_blank">hier</a> heruntergeladen
werden.<br />
War echt ne coole Sache vor mehr als 500 Leuten zu reden. 
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_2.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="277" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_thumb.png" width="546" border="0" />
          </a>
        </p>
        <p>
          <a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100">Visual
Studio 2008 Team System 2008 - {Überblick}</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ca05fb23-29fb-4f79-b02f-43d800b1bf22" />
      </body>
      <title>Visual Studio 2008 Team System 2008 - {&amp;Uuml;berblick}</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</link>
      <pubDate>Thu, 01 May 2008 00:48:48 GMT</pubDate>
      <description>&lt;p&gt;
Die Videos zu den Sessions vom Launch-Event in Frankfurt im Februar sind jetzt für
alle frei verfügbar. 
&lt;/p&gt;
&lt;p&gt;
Ich hatte ja die Möglichkeit, am Ende einer Session von &lt;a href="http://blogs.msdn.com/cbinder" target="_blank"&gt;Christian
Binder&lt;/a&gt; kurz vorzustellen, wie wir den TFS in unserem Entwicklungsprozess nutzen. 
&lt;/p&gt;
&lt;p&gt;
Das Video kann man &lt;a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100" target="_blank"&gt;hier&lt;/a&gt; abrufen.
Mein Einsatz beginnt dann ab der Minute 54. Mein Video, das ich in dem Vortrag nutze,
kann &lt;a href="http://www.artiso.com/ProBlog/ct.ashx?id=944da1ef-2f47-4857-824e-bd30586abd58&amp;amp;url=http%3a%2f%2fwww.artiso.com%2fdownloads%2fartisoWebCastTeil1.wmv" target="_blank"&gt;hier&lt;/a&gt; heruntergeladen
werden.&lt;br&gt;
War echt ne coole Sache vor mehr als 500 Leuten zu reden. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="277" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_thumb.png" width="546" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100"&gt;Visual
Studio 2008 Team System 2008 - {Überblick}&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ca05fb23-29fb-4f79-b02f-43d800b1bf22" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</comments>
      <category>Team System Server</category>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=0c7ebdcc-1597-4f5f-a590-a7776713a508</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0c7ebdcc-1597-4f5f-a590-a7776713a508</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ich war in den letzten Tagen auf der <a href="http://www.teamconf.de/" target="_blank">TeamConf
2008</a> in München. Es war sehr schön zu sehen, dass Team System inzwischen recht
gut etabliert. Es gab auf dieser Konferenz eine ganze Reihe von Praxisberichten die
darstellten, welche Erfahrungen Anwender bereits mit Team System gesammelt haben.
Und es war sehr interessant, mit vielen Leuten aus dem ALM-Umfeld zu diskutieren.
Ein persönliches Highlight war für mich, ein Treffen mit Sam Guckenheimer, Group Product
Planner bei Microsoft, der sich unseren WorkitemManager angesehen hat und mit dem
ich einige Ideen diskutieren konnte.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/P1010021.jpg">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="238" alt="P1010021" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/P1010021_thumb.jpg" width="316" border="0" />
          </a>
        </p>
        <p>
Ich habe auf der TeamConf einen Vortrag zu Programmierung mit dem TFS API am Beispiel
einer hierarchsichen Workitem-Organisation gehalten. 
</p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:f66ad4fd-88b9-481f-b65e-1a12d8c63629" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/TFS%20SDK.pptx" target="_blank">Download
Folien</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/WIM%20Lite.zip" target="_blank">Download
Beispielcode</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=0c7ebdcc-1597-4f5f-a590-a7776713a508" />
      </body>
      <title>TeamConf 2008 R&amp;uuml;ckblick</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</link>
      <pubDate>Thu, 24 Apr 2008 22:57:49 GMT</pubDate>
      <description>&lt;p&gt;
Ich war in den letzten Tagen auf der &lt;a href="http://www.teamconf.de/" target=_blank&gt;TeamConf
2008&lt;/a&gt; in München. Es war sehr schön zu sehen, dass Team System inzwischen recht
gut etabliert. Es gab auf dieser Konferenz eine ganze Reihe von Praxisberichten die
darstellten, welche Erfahrungen Anwender bereits mit Team System gesammelt haben.
Und es war sehr interessant, mit vielen Leuten aus dem ALM-Umfeld zu diskutieren.
Ein persönliches Highlight war für mich, ein Treffen mit Sam Guckenheimer, Group Product
Planner bei Microsoft, der sich unseren WorkitemManager angesehen hat und mit dem
ich einige Ideen diskutieren konnte.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/P1010021.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=238 alt=P1010021 src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/P1010021_thumb.jpg" width=316 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Ich habe auf der TeamConf einen Vortrag zu Programmierung mit dem TFS API am Beispiel
einer hierarchsichen Workitem-Organisation gehalten. 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=wlWriterSmartContent id=scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:f66ad4fd-88b9-481f-b65e-1a12d8c63629 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/TFS%20SDK.pptx" target=_blank&gt;Download
Folien&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/WIM%20Lite.zip" target=_blank&gt;Download
Beispielcode&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=0c7ebdcc-1597-4f5f-a590-a7776713a508" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=db1ee1b5-7f84-487a-b906-cec9a39ad917</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,db1ee1b5-7f84-487a-b906-cec9a39ad917.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,db1ee1b5-7f84-487a-b906-cec9a39ad917.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=db1ee1b5-7f84-487a-b906-cec9a39ad917</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Der AfterLaunch Event in Köln war eine sehr gute Veranstaltung und sehr professionell
organisiert. Für die lächerliche Teilnahmegebühr von nur 8,-- € haben die Teilnehmer
hochkarätige Vorträge rund um die 2008er Launch-Produkte von Microsoft erhalten. Großer
Wert wurde dabei auf den Praxisbezug der Vorträge gelegt. Auch ich war dabei und hatte
zwei Sessions zum Einsatz des Team Foundation Servers 2008 in der Praxis. Leider hatte
ich etwas mit dem Beamer zu kämpfen, ich hoffe aber dass die Teilnehmer dennoch einige
Tipps zum Einsatz des TFS mitnehmen konnte und ich den einen oder anderen animieren
konnte dieses Tool nun doch einmal zu installieren und sich näher damit zu beschäftigen.
</p>
        <div class="wlWriterSmartContent" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:ed0cb9f7-3d0a-49ac-aa38-d0eb8eadf43d" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">
          <p>
          </p>
          <div>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_BC28/AfterLaunch_Vortrag.pptx" target="_blank">Download
der Folien zum Vortrag</a>
          </div>
          <p>
          </p>
        </div>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010005.jpg">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="184" alt="P1010005" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010005_thumb.jpg" width="244" border="0" />
          </a>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010011.jpg">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="184" alt="P1010011" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010011_thumb.jpg" width="244" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=db1ee1b5-7f84-487a-b906-cec9a39ad917" />
      </body>
      <title>AfterLaunch in K&amp;ouml;ln - ich war dabei!</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,db1ee1b5-7f84-487a-b906-cec9a39ad917.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,db1ee1b5-7f84-487a-b906-cec9a39ad917.aspx</link>
      <pubDate>Sun, 13 Apr 2008 11:22:50 GMT</pubDate>
      <description>&lt;p&gt;
Der AfterLaunch Event in Köln war eine sehr gute Veranstaltung und sehr professionell
organisiert. Für die lächerliche Teilnahmegebühr von nur 8,-- € haben die Teilnehmer
hochkarätige Vorträge rund um die 2008er Launch-Produkte von Microsoft erhalten. Großer
Wert wurde dabei auf den Praxisbezug der Vorträge gelegt. Auch ich war dabei und hatte
zwei Sessions zum Einsatz des Team Foundation Servers 2008 in der Praxis. Leider hatte
ich etwas mit dem Beamer zu kämpfen, ich hoffe aber dass die Teilnehmer dennoch einige
Tipps zum Einsatz des TFS mitnehmen konnte und ich den einen oder anderen animieren
konnte dieses Tool nun doch einmal zu installieren und sich näher damit zu beschäftigen.
&lt;/p&gt;
&lt;div class=wlWriterSmartContent id=scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:ed0cb9f7-3d0a-49ac-aa38-d0eb8eadf43d style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;
&lt;p&gt;
&lt;div&gt;&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_BC28/AfterLaunch_Vortrag.pptx" target=_blank&gt;Download
der Folien zum Vortrag&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010005.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=184 alt=P1010005 src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010005_thumb.jpg" width=244 border=0&gt;&lt;/a&gt; &lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010011.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=184 alt=P1010011 src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/AfterLaunchinKlnichwardabei_9B79/P1010011_thumb.jpg" width=244 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=db1ee1b5-7f84-487a-b906-cec9a39ad917" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,db1ee1b5-7f84-487a-b906-cec9a39ad917.aspx</comments>
      <category>Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=b8102f65-ed2e-41b6-ae88-e5a4f71d9b92</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,b8102f65-ed2e-41b6-ae88-e5a4f71d9b92.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,b8102f65-ed2e-41b6-ae88-e5a4f71d9b92.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=b8102f65-ed2e-41b6-ae88-e5a4f71d9b92</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
          <img alt=".NET Developer Group Braunschweig Logo" src="http://www.dotnet-braunschweig.de/App_Themes/Default/images/logo.gif" />
        </p>
        <p>
Am Donnerstag, 10.04 war ich zu Gast bei der Usergroup Braunschweig und habe dort
den Vortrag zum Thema Qualitätsmanagement mit Visual Studio Team System 2008 und Team
Foundation Server gehalten. Der Vortrag war für mich sehr interessant, da es eine
rege Beteiligung und viele Fragen durch die Teilnehmer gab. 
</p>
        <p>
Vielen Dank an <a href="http://blog.lars-keller.net/">Lars</a> für die Einladung.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragQMmitVSTS2008beiderUGBraunschweig_BECD/Qualit%C3%A4tsmanagement%20mit%20VSTS_artiso2_1.pptx" target="_blank">Folien
zum Vortrag</a>
        </p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/QADemoProject.zip" target="_blank">Beispielcode
zum Vortrag</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=b8102f65-ed2e-41b6-ae88-e5a4f71d9b92" />
      </body>
      <title>Vortrag zu QM mit VSTS 2008 bei der UG Braunschweig</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,b8102f65-ed2e-41b6-ae88-e5a4f71d9b92.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,b8102f65-ed2e-41b6-ae88-e5a4f71d9b92.aspx</link>
      <pubDate>Sat, 12 Apr 2008 10:10:04 GMT</pubDate>
      <description>&lt;p&gt;
&lt;p&gt;
&lt;img alt=".NET Developer Group Braunschweig Logo" src="http://www.dotnet-braunschweig.de/App_Themes/Default/images/logo.gif"&gt; 
&lt;p&gt;
Am Donnerstag, 10.04 war ich zu Gast bei der Usergroup Braunschweig und habe dort
den Vortrag zum Thema Qualitätsmanagement mit Visual Studio Team System 2008 und Team
Foundation Server gehalten. Der Vortrag war für mich sehr interessant, da es eine
rege Beteiligung und viele Fragen durch die Teilnehmer gab. 
&lt;p&gt;
Vielen Dank an &lt;a href="http://blog.lars-keller.net/"&gt;Lars&lt;/a&gt; für die Einladung.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VortragQMmitVSTS2008beiderUGBraunschweig_BECD/Qualit%C3%A4tsmanagement%20mit%20VSTS_artiso2_1.pptx" target=_blank&gt;Folien
zum Vortrag&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/QADemoProject.zip" target=_blank&gt;Beispielcode
zum Vortrag&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=b8102f65-ed2e-41b6-ae88-e5a4f71d9b92" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,b8102f65-ed2e-41b6-ae88-e5a4f71d9b92.aspx</comments>
      <category>Vorträge</category>
    </item>
  </channel>
</rss>