testing mit visual studio rolf wenger, cto werosoft ag · digicomp microsoft evolution day 2015 3...
TRANSCRIPT
![Page 1: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/1.jpg)
Digicomp Microsoft Evolution Day 2015 1
Testing mit Visual Studio
Rolf Wenger, CTO weroSoft AG
Partner:
![Page 2: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/2.jpg)
2 Digicomp Microsoft Evolution Day 2015
Vorstellung Referent
weroSoft ist in den Bereichen Beratung, Entwicklung und Ausbildung auf der Basis der .NET-Technologien tätig
Basierend auf unserem eigenen Application Framework entwickeln wir kundenspezifische Client-Server-Anwendungen
Langjährige Ausbildungstätigkeiten für Softwareentwickler mittels Firmenkursen und .NET CAS an der Berner Fachhochschule
Durchführung von kundenorientierten E-Learning-Projekten in den Bereichen Dienstleistung und Industrie
![Page 3: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/3.jpg)
3 Digicomp Microsoft Evolution Day 2015
Agenda
Warum testen
Wann testen
Was testen
Gehört Testen zur Architektur
Unterstützung in Visual Studio 2015
Zusammenfassung
![Page 4: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/4.jpg)
4 Digicomp Microsoft Evolution Day 2015
Warum testen
![Page 5: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/5.jpg)
5 Digicomp Microsoft Evolution Day 2015
Qualitätssicherung ohne Ende
Maschinenteile werden gemessen
Lebensmittel werden gewogen
Brücken werden belastet
Wissen wird geprüft
Beratung wird beurteilt
![Page 6: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/6.jpg)
6 Digicomp Microsoft Evolution Day 2015
Beispiel Fertigung
Herstellen Messen Einbauen Messen Integrieren
Erproben Bericht Zufriedener Kunde Lieferung Qualitätsgarantie
![Page 7: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/7.jpg)
7 Digicomp Microsoft Evolution Day 2015
Szenenwechsel
int variable = 1;
int result = variable++ + variable++ + variable++;
Welchen Wert hat die Variable «result»?
![Page 8: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/8.jpg)
8 Digicomp Microsoft Evolution Day 2015
Warum testen wir?
Weil wir zufriedene Kunden wollen!
![Page 9: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/9.jpg)
9 Digicomp Microsoft Evolution Day 2015
Wann testen
![Page 10: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/10.jpg)
10 Digicomp Microsoft Evolution Day 2015
Der Regelkreis
![Page 11: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/11.jpg)
11 Digicomp Microsoft Evolution Day 2015
Der Regelkreis
![Page 12: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/12.jpg)
12 Digicomp Microsoft Evolution Day 2015
Wann testen wir?
Auf mehreren Ebenen während der gesamten Entwicklung – und das unaufgefordert und zielorientiert!
![Page 13: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/13.jpg)
13 Digicomp Microsoft Evolution Day 2015
Was testen
![Page 14: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/14.jpg)
14 Digicomp Microsoft Evolution Day 2015
Happy Path Test
Testen der Anforderung unter Idealbedingungen
Alles soll so funktionieren wie angedacht
Keine Ausnahmen
Keine Varianten
Einmalige Ausführung
Optimale Unterstützung durch Visual Studio 2015
![Page 15: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/15.jpg)
15 Digicomp Microsoft Evolution Day 2015
Alternative Path Tests
Testen der Anforderung durch Nutzung von alternativen Code Pfaden
Permutationen von Varianten
Keine Ausnahmen
Einmalige Ausführung pro Variante
Optimale Unterstützung durch Visual Studio 2015
![Page 16: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/16.jpg)
16 Digicomp Microsoft Evolution Day 2015
Exceptional Path Tests
Testen der Anforderung durch gezielte Provokation von Fehlern
Permutationen von Fehlervarianten
Ausnahmen/Ausnahmetypen und Meldungen
Einmalige Ausführung pro Variante
Unterstützung durch Visual Studio 2015
![Page 17: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/17.jpg)
17 Digicomp Microsoft Evolution Day 2015
Regression Tests
Testen der wiederholten, korrekten Ausführung des Codes
Sicherstellen, dass nach Änderungen und Ergänzungen keine Seiteneffekte auftreten
Unterstützung durch Visual Studio 2015
![Page 18: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/18.jpg)
18 Digicomp Microsoft Evolution Day 2015
Was testen wir?
Die gesamte mögliche Codeausführung in allen Varianten und Lebenslagen!
![Page 19: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/19.jpg)
19 Digicomp Microsoft Evolution Day 2015
Wie testen
![Page 20: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/20.jpg)
20 Digicomp Microsoft Evolution Day 2015
Testpyramide
Unit Test
Integration Test
Acceptance Test
![Page 21: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/21.jpg)
21 Digicomp Microsoft Evolution Day 2015
Unit Test
Fundament der Qualitätssicherung
In der Verantwortung der Entwickler
Messung der Codeabdeckung
Kostengünstig
Kann sehr grosse Menge erreichen
Eine 100%-Automation ist anzustreben
![Page 22: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/22.jpg)
22 Digicomp Microsoft Evolution Day 2015
Integration Test
Testen der Zusammenarbeit der Komponenten
In der Verantwortung der Tester
Mittleres Automatisierungspotenzial
Erfordert oft Produktinstallation
Mittlere Menge
Automatisierbar, aber auch oft manuell ausgeführt
![Page 23: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/23.jpg)
23 Digicomp Microsoft Evolution Day 2015
Acceptance Test
Testen des gesamten Systems
In der Verantwortung der Tester
Teurere Automatisierung
Erfordert zwingend Produktinstallation
Kleinste Menge, Testen der Anforderungen / UC
Automatisierbar, aber auch oft manuell ausgeführt
![Page 24: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/24.jpg)
24 Digicomp Microsoft Evolution Day 2015
Wie testen wir?
Indem wir für unser Projekt die Testpyramide umsetzen und idealtypisch vollautomatisiert alle Tests jede Nacht ausführen!
![Page 25: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/25.jpg)
25 Digicomp Microsoft Evolution Day 2015
Gehört Testen zur Architektur
![Page 26: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/26.jpg)
26 Digicomp Microsoft Evolution Day 2015
Frage 1
Wie viele Tests brauche ich, um das Zahlenschloss zu öffnen?
![Page 27: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/27.jpg)
27 Digicomp Microsoft Evolution Day 2015
Frage 2
Wie viele Tests brauche ich, um das Zahlenschloss zu öffnen?
![Page 28: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/28.jpg)
28 Digicomp Microsoft Evolution Day 2015
Frage 3
Wie wollen Sie das Netzteil von diesem Gerät testen?
![Page 29: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/29.jpg)
29 Digicomp Microsoft Evolution Day 2015
Frage 4
Wie will weroSoft testen, dass die Webseite in allen Browsern korrekt angezeigt wird?
![Page 30: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/30.jpg)
30 Digicomp Microsoft Evolution Day 2015
Antworten auf alle Fragen
Zerlegung des Systems in Baugruppen
Zerlegen der Baugruppen in Komponenten
Erstellen der Komponenten
Testen der Komponenten
Zusammenbau der Komponenten zu Baugruppen
Testen der Baugruppe
Zusammenbau zum Produkt
Testen des Produkts
![Page 31: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/31.jpg)
31 Digicomp Microsoft Evolution Day 2015
Wir erinnern uns
Herstellen Messen Einbauen Messen Integrieren
Erproben Bericht Zufriedener Kunde Lieferung Qualitätsgarantie
![Page 32: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/32.jpg)
32 Digicomp Microsoft Evolution Day 2015
Übersetzung für Software-Engineers
Baugruppe
![Page 33: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/33.jpg)
33 Digicomp Microsoft Evolution Day 2015
… bis zur kleinsten Einheit …
Prüfling
MyClass.Method() Project Assembly
Unit Test
Unit Test Assembly
Mock
Simulation eines vom Prüfling
angesprochenen Objekts.
Project oder sonstige
Assembly
![Page 34: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/34.jpg)
34 Digicomp Microsoft Evolution Day 2015
Die Testautomation
Visual Studio 2015
oder
mstest.exe
Unit Test Framework
Unit Test Prüfling
![Page 35: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/35.jpg)
35 Digicomp Microsoft Evolution Day 2015
Gehört Testen zur Architektur?
Definitiv ja!
Testen soll bereits im Lösungsansatz Platz finden!
Schichtenmodell
Komponentenmodell
Ersetzbarkeit (Mocking/Simulation)
![Page 36: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/36.jpg)
36 Digicomp Microsoft Evolution Day 2015
Unterstützung in Visual Studio 2015
![Page 37: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/37.jpg)
37 Digicomp Microsoft Evolution Day 2015
Generelle Unterstützung
Classic Unit Tests
Happy Path Unit Tests
Alternative Path Unit Tests
Exception Path Unit Tests
Data-Driven Unit Tests
Coded UI Tests (nur Visual Studio Enterprise)
IntelliTesting (nur Visual Studio Enterprise)
Unterstützt auch 3rd Party Unit Test Frameworks
![Page 38: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/38.jpg)
38 Digicomp Microsoft Evolution Day 2015
Demo
Classic Unit Tests
Happy Path Unit Tests
Alternative Path Unit Tests
Exception Path Unit Tests
Data-Driven Unit Tests
![Page 39: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/39.jpg)
39 Digicomp Microsoft Evolution Day 2015
Scenario
public string SimpleMethod(string argument)
{
if (string.IsNullOrEmpty(argument))
throw new ArgumentNullException("argument");
int indexSpace = argument.IndexOf(" ");
switch(indexSpace)
{
case -1:
return argument;
case 0:
return string.Empty;
default:
return argument.Substring(0, indexSpace);
}
}
![Page 40: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/40.jpg)
40 Digicomp Microsoft Evolution Day 2015
Happy Path Unit Test
[TestClass()]
public class SimpleDemoTypeTests
{
[TestMethod()]
public void HappyPathSimpleMethodTest()
{
string expectedString = "Testing";
string resultingString = null;
SimpleDemoType sample = new SimpleDemoType();
resultingString = sample.SimpleMethod(expectedString);
Assert.AreEqual<string>(expectedString, resultingString);
}
…
![Page 41: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/41.jpg)
41 Digicomp Microsoft Evolution Day 2015
Alternative Path Test
[TestMethod()]
public void AlternativePathSimpleMethodTest()
{
string parameter = "Testing an alternative path";
string expectedString = "Testing";
string resultingString = null;
SimpleDemoType sample = new SimpleDemoType();
resultingString = sample.SimpleMethod(parameter);
Assert.AreEqual<string>(expectedString, resultingString);
}
![Page 42: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/42.jpg)
42 Digicomp Microsoft Evolution Day 2015
Exception Test
[ExpectedException(typeof(ArgumentNullException))]
[TestMethod()]
public void ExceptionPathSimpleMethodTest()
{
string parameter = null;
string resultingString = null;
SimpleDemoType sample = new SimpleDemoType();
resultingString = sample.SimpleMethod(parameter);
// On using the attribute ExpectedExceptionAttribute you must
// not assert the test. It is automatically asserted to the
// expected exception type.
}
![Page 43: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/43.jpg)
43 Digicomp Microsoft Evolution Day 2015
Data driven Test
[DeploymentItem("DataDrivenTestDemo.xml")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", // Type of data source
"DataDrivenTestDemo.xml", // Name of XML file
"SimpleTestData", // Name of table element
DataAccessMethod.Sequential)] // Kind of data access
[TestMethod()]
public void DataDrivenSimpleMethodTest()
{
string parameter = TestContext.DataRow["parameter"] as string;
string expectedString = TestContext.DataRow["expected"] as string;
string exceptionType = TestContext.DataRow["exceptionType"] as string;
string resultingString = null;
if (parameter == "null") parameter = null;
SimpleDemoType sample = new SimpleDemoType();
…
![Page 44: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/44.jpg)
44 Digicomp Microsoft Evolution Day 2015
Data driven Test
…
try
{
resultingString = sample.SimpleMethod(parameter);
Assert.AreEqual<string>(expectedString, resultingString);
}
catch (ArgumentNullException exception)
{
if (string.IsNullOrWhiteSpace(exceptionType))
Assert.Fail("An unexpected exception has been caught.");
else
if (string.Compare(exception.GetType().Name, exceptionType, true) != 0)
Assert.Fail("Type is not as expected.");
}
}
![Page 45: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/45.jpg)
45 Digicomp Microsoft Evolution Day 2015
Coded UI Test (nur Visual Studio Enterprise)
Testen von Benutzeroberflächen
Unterstützt Forms, WPF und Web
Tests können generiert werden
In der Praxis ist eine händische Codierung erfolgreicher
Integration für die Testausführung
![Page 46: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/46.jpg)
46 Digicomp Microsoft Evolution Day 2015
IntelliTest (nur Visual Studio Enterprise)
Neustes Kind der Testumgebung
Integriert in Visual Studio 2015
Generiert den Unit Test aufgrund des Nutzcodes
Instant-Ausführung möglich
Generierung des Unit Tests und Integration in Automation ist möglich
Ziel 100% Codeabdeckung
![Page 47: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/47.jpg)
47 Digicomp Microsoft Evolution Day 2015
IntelliTest – Create Unit Test
Generieren anstelle von ausführen
Erzeugt eine PEX1-Assembly
Generierten Test ausführen
Erzeugt die Test-Methoden
Prüfen der Codeabdeckung
Bereit für die Testautomation
1) PEX = Possible Execution
![Page 48: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/48.jpg)
48 Digicomp Microsoft Evolution Day 2015
IntelliTest – direkte Ausführung
![Page 49: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/49.jpg)
49 Digicomp Microsoft Evolution Day 2015
IntelliTest – Resultat der Ausführung
![Page 50: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/50.jpg)
50 Digicomp Microsoft Evolution Day 2015
Testüberwachung Visual Studio 2015
Test Explorer zeigt alle Unit Tests
Ausführung einzeln / mehrere / alle
Ausführung mit oder ohne Debugging
Verschiedene Sortierungen
Messen der Codeabdeckung (Enterprise)
![Page 51: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/51.jpg)
51 Digicomp Microsoft Evolution Day 2015
Test Explorer
![Page 52: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/52.jpg)
52 Digicomp Microsoft Evolution Day 2015
Testüberwachung TFS 2015
![Page 53: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/53.jpg)
53 Digicomp Microsoft Evolution Day 2015
Testdetails im TFS
![Page 54: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/54.jpg)
54 Digicomp Microsoft Evolution Day 2015
Zusammenfassung
![Page 55: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/55.jpg)
55 Digicomp Microsoft Evolution Day 2015
Recap
1. Testen gehört zur Entwicklung wie das Lesen der News zum Tag
2. Testen ist anspruchsvoll und muss bereits in der Architektur berücksichtigt werden
3. Visual Studio und der TFS unterstützt dieses Vorhaben in allen Belangen
4. Wer testet eigentlich den Testcode?
![Page 56: Testing mit Visual Studio Rolf Wenger, CTO weroSoft AG · Digicomp Microsoft Evolution Day 2015 3 Agenda Warum testen Wann testen Was testen Gehört Testen zur Architektur Unterstützung](https://reader030.vdocuments.net/reader030/viewer/2022041210/5dd09558d6be591ccb61b211/html5/thumbnails/56.jpg)
56 Digicomp Microsoft Evolution Day 2015
Besten Dank für Ihre Aufmerksamkeit
Für allfällige Fragen stehen wir Ihnen jederzeit gerne zur Verfügung:
weroSoft AG
Obere Zollgasse 75
3072 Ostermundigen