SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Marc Müller 4tecture GmbH, Schweiz
Nico Orschel AIT GmbH & Co. KG, Deutschland
Alternativen zu Visual Studio Test Tools
Zielstellung
Überblick
Alternative Testing Tools
Integration von Test-Frameworks
Fazit
Agenda
No deep dive today!
Die Visual Studio Welt von früher
Die Visual Studio Welt von heute
Die Visual Studio Welt von heute
Testing Quadranten
Business Facing
SupportingTeam
Functional Tests
Examples
Story Test
Prototypes
Simulations
Explorative Testing
Scenarios
Usability Testing
UAT (User Acceptance Testing)
Alpha / Beta
CritiqueProduct
Unit Tests
Component Tests
Performance and Load Testing
Security Testing
“Ility Testing”
Technology-Facing
Frameworks sollten immer Technology-spezifisch gewählt warden
Bsp.:
Java – Junit
C++ - MSTest; Google C++ Test, …
PHP – PHPUnit, …
C# - MSTest, Nunit, Xunit , …
…
Link: https://de.wikipedia.org/wiki/Liste_von_Modultest-Software
Business + Data Acces Layer
Fluent Assertions
Fluent Assertions
Quelle: https://github.com/dennisdoomen/FluentAssertions/wiki/Documentation-(Release-2.2)
SpecFlow
SpecFlow – How it works
Business writes
SpecFlow scenarios
Coding
Test Steps
Re-use of coded
Test Steps
SpecFlow – How it works
SpecFlow Feature File Steps Implementation Test automation code
Generate
or
write by hand
Use any test
framework
Component
under test
SpecFlow Sample
UI Testing
UI Testing
Mobil Gerät
Windows
Mobile /
Phone
iOS
Android
Coded UI
Ranorex
Xamarin UITest
Perfecto Mobile
Squish
WebDriver /
Appium
PC
WinForms /
WPFCoded UI
Web
Selenium
/ WebDriver
/ Perfecto
Store Apps
Coded UI
Java
Ranorex /
Squish
Flash, SAP
Stärken:
- Support für alle
modernen Browser
(Chrome, Firefox, Edge)
- Open Source
- .NET Wrapper
vorhanden
Alternative Frameworks - Selenium
Stärken:
- Basiert auf Webdriver
Engine
- Berücksichtigt und
Abstrahiert Angular
Suchstrategien
- Testen wie Endnutzer
(Ausführung in richtigen
Browser)
Alternative Frameworks - Protractor
Selenium How-To
Client
Firefox
Driver
Chrome
Driver
Edge
Driver
Json Wire Protocol Proprietäres Protokoll
Beispiel: JSON Wire Protocol
{
"SessionId": "a433343ec6e678b1bc17a93bbbf6aea7",
"Status": 0,
"Value": { "AcceptSslCerts": true,
"ApplicationCacheEnabled": false,
"BrowserConnectionEnabled": false,
"BrowserName": "chrome",
"Chrome": { "UserDataDir":
"/var/folders/p6/ll1grbcs4jv_k7675qv47l6m0000gn/T/.org.chromium.Chromium.wEZRL6" },
"CssSelectorsEnabled": true,
"DatabaseEnabled": false,
"HandlesAlerts": true,
"JavascriptEnabled": true,
"LocationContextEnabled": true,
"NativeEvents": true,
"Platform": "Mac OS X",
"Rotatable": false,
"TakesHeapSnapshot": true,
"TakesScreenshot": true,
"Version": "38.0.2125.111",
"WebStorageEnabled": true } }
Quelle: https://app.codegrid.net/entry/selenium-1
Mehr Informationen:
https://github.com/Selenium
HQ/selenium/wiki/JsonWire
Protocol
Demo Selenium
Stärken:
- Support für Mobile Geräte
und andere Plattformen
(Java, SAP, Android, iOS, …)
- Trennung Aktionen und
Ansteuerung
- Geeignet auch für Nicht-
Programmierer
- .NET Engine
Alternative Frameworks - Ranorex
Technologie Unterstützung
http://www.ranorex.com/automate-testing-of-desktop-web-mobile-software.html
Demo Ranorex
Stärken:
- .NET API orientiert sich
an CodedUI
- .NET Abstraktion
(Alternative Python)
- Physische Geräte (iOS,
Android)
Alternative Frameworks – Xamarin Testcloud
Demo Xamarin
Stärken:
- Breite
Geräteunterstützung
- Multi Browser-Testing
- VSTS+VS Support
- Remote Manual Testing
Alternative Frameworks – Perfecto Mobile
Demo Perfecto Mobile
Stärken:
- Support für Mobile +
Desktop Browser (> 100)
- Selenium Cloud Testing
(C#, Java, … )
- Live Debugging
- Local Server Testing
Alternative Frameworks – BrowserStack
Integration in
die VS Test Tools
MSTest Extension
(Alles )Einpacken in MSTest (Unit)Test
Generic Test
Optionen zur Integration bei <= VS 2010
Beispiel: https://nunitforvs.codeplex.com/
MSTest Extension
Generic Tests
Generic Tests
MSTest Extension
Einpacken in MSTest (Unit)Test
Generic Test
VS Test Adapter (VS + Build Server only, Kein Lab)
Optionen zur Integration bei >= VS 2012
Bestandteile eines Testadapters
Test
Adapter
Test
Discoverer
Test
Executor
Test
Container
(non DLL +
EXE)
MSTest Extension
Einpacken in MSTest (Unit)Test
Generic Test
VS Test Adapter (VS, Build, Release Management)
Publish Test Results
Optionen zur Integration bei >= VS 2015
Publish Results Buildstep
Frameworks mit Junit Support
- Cucumber
(https://www.relishapp.com/cucumber/cucumber/docs/formatt
ers/junit-output-formatter )
- GoogleTest (C++ Unittest)
(http://www.yolinux.com/TUTORIALS/Cpp-GoogleTest.html
- …
Publish Results Buildstep – Junit Export
Publish Code Coverage Data
Demo
Importing 3rd Party Code Coverage and Test Data
- Es gibt nicht das “Universelle Werkzeug”
- Aufgaben-spezifisch das Framework wählen
- VSTS / TFS 2015 ist offen für viele Frameworks
- Integration
- VS Nutzer: Testadapter
- Alles andere: Publish Testresults
Fazit
KONTAKT
Nico.Orschel@aitgmbh.de
+49 151 55052624
@nicoorschel
AIT GmbH & Co. KG
Leitzstr. 45, 70469 Stuttgart
www.aitgmbh.de
BERATUNG
Agile ALM und TFS
.NET und Architektur
ENTWICKLUNG
Dienstleister für individuelle
Lösungen mit .NET und Azure
© AIT GmbH & Co. KG – Alle genannten und gezeigten Marken oder Warenzeichen sind eingetragene Marken oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer und ggf. nicht gesondert gekennzeichnet. Aus dem Fehlen der
Kennzeichnung kann nicht geschlossen werden, daß es sich bei einem Begriff oder einem Bild nicht um eine eingetragene Marke oder ein eingetragenes Warenzeichen handelt.
Marc Müller
Principal Consultant
für DevOps, ALM, TFS /VS, .NET
E-Mail: marc.mueller@4tecture.ch
Webseite: http://www.4tecture.ch
Schulungen: http://4tecture.ch/trainings
Blog: http://4tecture.ch/blog
Twitter: @muellermarc

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (7)

Development Toolbox
Development ToolboxDevelopment Toolbox
Development Toolbox
 
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetproTest-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
 
DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Einführung Maven
Einführung MavenEinführung Maven
Einführung Maven
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
OSGi und Spring MVC - inovex BrownBag
OSGi und Spring MVC - inovex BrownBag OSGi und Spring MVC - inovex BrownBag
OSGi und Spring MVC - inovex BrownBag
 

Ähnlich wie BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch mal fremdzugehen?

Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013
Nico Orschel
 
2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian
Matthias Reining
 
Whitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab ManagementWhitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab Management
Nico Orschel
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
Benjamin Schmid
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010
Patrick Lauke
 

Ähnlich wie BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch mal fremdzugehen? (20)

Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?
 
Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
Basta Spring 2017 - DevOps&#58; Automatisieren der Deployment-Prozesse mit Te...
Basta Spring 2017 - DevOps&#58; Automatisieren der Deployment-Prozesse mit Te...Basta Spring 2017 - DevOps&#58; Automatisieren der Deployment-Prozesse mit Te...
Basta Spring 2017 - DevOps&#58; Automatisieren der Deployment-Prozesse mit Te...
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian
 
Whitepaper Team Foundation Server 2010 Lab Management
Whitepaper Team Foundation Server 2010 Lab ManagementWhitepaper Team Foundation Server 2010 Lab Management
Whitepaper Team Foundation Server 2010 Lab Management
 
Whitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab ManagementWhitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab Management
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
 

Mehr von Marc Müller

Mehr von Marc Müller (20)

.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
 
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
 
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
 
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-BenutzerDWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
 
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes ReleaseDWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
 
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request DeploymentsDWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
 
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
 
Global Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deploymentsGlobal Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deployments
 
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTSBASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
 
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESSBASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
 
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für KubernetesBASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
 
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 
.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments
 
DWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHubDWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHub
 
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-ProzessDWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
Einführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für KubernetesEinführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für Kubernetes
 
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsDWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Helm introduction
Helm introductionHelm introduction
Helm introduction
 
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
 

BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch mal fremdzugehen?

Hinweis der Redaktion

  1. Mittlerweile haben sich im VS-Umfeld immer mehr Nicht-MSTest-Testframeworks etabliert. Im Vortrag wollen wir auf mögliche Alternativen zu MSTest und Coded UI eingehen (z. B. Selenium, Ranorex, Protractor, …). Es geht dabei um Vor-/Nachteile, sinnvolle Szenarien und wie man es geschickt in die TFS-Werkzeugwelt integriert. Das Ziel ist dabei, das Beste aus beiden Welten zu bekommen
  2. Marc
  3. Marc
  4. Nico
  5. Marc
  6. Nico
  7. Nico
  8. Marc
  9. Marc
  10. Marc
  11. Marc
  12. Nico
  13. Nico
  14. Nico
  15. Nico
  16. Nico
  17. Nico
  18. Nico
  19. The solution: Perfecto + Microsoft Accelerate time to market Move towards continuous quality Enable DevOps transformation for digital: mobile and web application Donovan to add perspectives
  20. Uzi/Amir/Donovan introduce Demo: Complete worklow from: Automated test development in C# with Selenium – Visual Studio IDE Automation with CI, testing with every build – VSTS Detailed reporting for both test procedures and personas Post test exploratory testing and reporting to VSTS
  21. https://github.com/perfectomobile/PerfectoVSOCodeEXample
  22. Marc
  23. Marc
  24. Marc
  25. Marc
  26. Marc
  27. http://help.catchsoftware.com/display/ET/JUnit+Format
  28. https://github.com/vokal/cobertura-parse/tree/master/test/assets