eBay Europa hat ein neues Verfahren zur Messung von Reife und momentanem Status von Software Projekten eingeführt. Diese Präsentation illustriert den Mechanismus dieser sogenannten Projekt Surveys and zeigt anhand von Beispielen aus eBay Projekten auf, wie sich die Software Qualität nach Anwendung des Verfahrens signifikant verbessert hat.
Das Survey wird teils manuell und teils automatisch unter Verwendung des Open Source Tools “SONAR” ausgeführt. Sonar ist ein webbasiertes Dashboard / Cockpit, das die Daten aus den Testausführungen, statischer Codeanalyse, dupliziertem Code und Code Komplexität aggregiert und darstellt.
Der manuelle Teil besteht aus Reviews von Dokumentation, Source Code, Test Code und Test Cases. Zusammen mit den Ergebnissen aus dem automatisierten Teil wird das Gesamtergebnis übersichtlich und klar in einem Dashboard dargestellt, aufgrund dessen auch Verbesserungsmöglichkeiten klar ersichtlich sind.
Wandelbarkeit wieder herstellen - Refactoring C# Legacy CodeStefan Lieser
http://refactoring-legacy-code.net
Die meisten Teams beginnen ihre Projekte nicht auf der sogenannten "grünen Wiese", sondern sie arbeiten an Bestandscode. Dieser Code ist häufig schon sehr alt und über die Jahre durch viele Entwicklerhände gegangen. Da mit den Legacy-Systemen nach wie vor Geld verdient wird, ist Abschalten keine Option. Auch Neuschreiben kommt aufgrund des Umfangs nicht in Frage. Um den Code wieder unter die Kontrolle des Teams zu bringen, muss ein Refactoring her.
In seinem Vortrag gibt Stefan Lieser Antworten auf die Frage, wie man dabei vorgeht. Er zeigt anhand von Beispielen auf, wie mit kleinen toolgestützten Refactoring-Maßnahmen die Lesbarkeit des Codes verbessert werden kann. Ferner zeigt er auf, wie wichtig automatisierte Tests als Sicherheitsnetz sind und wie sie auch bei Legacy-Code ergänzt werden können. Damit ist die Grundlage geschaffen, um mit der Mikado-Methode größere Refactorings umzusetzen, um auf diese Weise die Codebasis wieder wandelbar zu machen und so die hohen Investitionen zu schützen. Alle Beispiele liegen in C# vor, sind aber übertragbar auf andere Sprachen und Plattformen.
Implementing Test Automation in Agile ProjectsDominik Dary
All new features at eBay Europe are developed using SCRUM. One key success factor for those projects is to have a reliable end-to-end test automation safety net. This presentation illustrates how in addition to a robust automation toolset it is essential to have an integrated approach to test automation design:
Test Aspects - Test Aspects are used to do the functional design of the end-to-end automation test cases. Since this is done upfront, the tester is able to focus on the what rather than the how.
Modeling of the Biz Domain Layer - The Biz Domain Layer is an abstraction layer above the user interface that is implemented in the test code. This layer is divided into pages and flows which are then used in the tests.
Test Implementation - Tests are written in Java, stored in SVN and are executed using the WebDriver Grid (Selenium2). Tests execution can be triggered by all team members via a continuous integration server (Hudson).
Lean Test Automation – it is important to retain and maintain the quality of the tests. Key success factors for this are: Code Reviews, Software Craftsmanship, Test Aspect Reviews and the “Definition of Done”.
Following an integrated approach to test automation ensures high efficiency, low overhead and easier maintenance.
Android Test Automation – one year laterDominik Dary
This talk would showcase the road of eBay in the field of mobile test automation and our applied learnings from the past. It would also include showing Selendroid as a tool in action. As well the presentation would showcase the interaction between test engineers and developers and show the use of other tools in the field of mobile automation.
Wandelbarkeit wieder herstellen - Refactoring C# Legacy CodeStefan Lieser
http://refactoring-legacy-code.net
Die meisten Teams beginnen ihre Projekte nicht auf der sogenannten "grünen Wiese", sondern sie arbeiten an Bestandscode. Dieser Code ist häufig schon sehr alt und über die Jahre durch viele Entwicklerhände gegangen. Da mit den Legacy-Systemen nach wie vor Geld verdient wird, ist Abschalten keine Option. Auch Neuschreiben kommt aufgrund des Umfangs nicht in Frage. Um den Code wieder unter die Kontrolle des Teams zu bringen, muss ein Refactoring her.
In seinem Vortrag gibt Stefan Lieser Antworten auf die Frage, wie man dabei vorgeht. Er zeigt anhand von Beispielen auf, wie mit kleinen toolgestützten Refactoring-Maßnahmen die Lesbarkeit des Codes verbessert werden kann. Ferner zeigt er auf, wie wichtig automatisierte Tests als Sicherheitsnetz sind und wie sie auch bei Legacy-Code ergänzt werden können. Damit ist die Grundlage geschaffen, um mit der Mikado-Methode größere Refactorings umzusetzen, um auf diese Weise die Codebasis wieder wandelbar zu machen und so die hohen Investitionen zu schützen. Alle Beispiele liegen in C# vor, sind aber übertragbar auf andere Sprachen und Plattformen.
Implementing Test Automation in Agile ProjectsDominik Dary
All new features at eBay Europe are developed using SCRUM. One key success factor for those projects is to have a reliable end-to-end test automation safety net. This presentation illustrates how in addition to a robust automation toolset it is essential to have an integrated approach to test automation design:
Test Aspects - Test Aspects are used to do the functional design of the end-to-end automation test cases. Since this is done upfront, the tester is able to focus on the what rather than the how.
Modeling of the Biz Domain Layer - The Biz Domain Layer is an abstraction layer above the user interface that is implemented in the test code. This layer is divided into pages and flows which are then used in the tests.
Test Implementation - Tests are written in Java, stored in SVN and are executed using the WebDriver Grid (Selenium2). Tests execution can be triggered by all team members via a continuous integration server (Hudson).
Lean Test Automation – it is important to retain and maintain the quality of the tests. Key success factors for this are: Code Reviews, Software Craftsmanship, Test Aspect Reviews and the “Definition of Done”.
Following an integrated approach to test automation ensures high efficiency, low overhead and easier maintenance.
Android Test Automation – one year laterDominik Dary
This talk would showcase the road of eBay in the field of mobile test automation and our applied learnings from the past. It would also include showing Selendroid as a tool in action. As well the presentation would showcase the interaction between test engineers and developers and show the use of other tools in the field of mobile automation.
Selendroid is a test automation framework which drives of the UI of Android native and hybrid applications (apps). Tests are written using the Selenium 2 client API.
Selendroid can be used on emulators and real devices and can be integrated as a node into the Selenium Grid for scaling and parallel testing.
Features of selendroid
- The app under test must not be modified in order to automate it
- Between the native and the web context can be switched back and forth, which basically means the concept of automating native or hybrid apps are the same.
- Different locator types are supported to find elements
- Gestures are supported: Advanced User Interactions API
- Selendroid can interact with multiple Android devices (emulators or hardware devices) at the same time
- Existing Emulators are started automatically
- Selendroid supports hot plugging of hardware devices
- It can be integrated as a node into the Selenium Grid for scaling and parallel testing
- Multiple Android target API support (10 to 19)
- Build in Inspector to simplify test case development.
Documentation is available at http://selendroid.io
Neuerungen für gewerbliche Händler – der eBay Marktplatz 2016 (e-CommerceDay ...eCommerce_Day
Michael Möglich (Director EU Trust, eBay) stellt die Neuerungen für den eBay Marktplatz 2016 vor. Es sieht u.a. Erleichterungen im Bewertungssystem vor und eine Vereinfachung der Verkaufsprozesse.
Vortrag vom e-Commerce Day 2016
https://www.hitmeister.de/ecommerceday/
Am Tag des Onlinehandels 2014 in Berlin hält Oliver Prothmann, Präsident Bundesverband Onlinehandel e.V. (BVOH), einen Vortrag über die wichtigsten Massnahmen zum erfolgreichen Verkaufen auf eBay.
Agenda:
After covering the basics about how to find and interact with UI elements, we will look into techniques of writing maintainable tests with selendroid.
In the end we will run our tests in parallel using the Selenium Grid.
The workshop repository can be found here:
https://github.com/DominikDary/selendroid-workshop
2013 - Herausforderung Spitallandschaft im DRG-Zeitalter. Die Stadt Zürich, 11 Spitäler und unterschiedliche Positionierungen. Laufende Case Study über ergänzende Massnahmen mit viralem Marketing des Stadtspital Waid. Zusammenfassung für Tagung zu Qualitätsmedizin im Inselspital Bern.
Designing some kind of cross/inter/trans media game around a small and nice castle. Should be "intergenerative", so here I designed some tasks where also younger and older people together could succeed within the game.
Also, some thoughts on real-life adventure design are attached in the end.
Wer wünscht sich nicht "Mehr Softwarequalität"? Insbesondere an Individualsoftware werden hohe Qualitätsanforderungen gestellt. Einen Königsweg gibt es zwar nicht, aber viele „Best practices“, mit denen Sie systematisch die Softwarequalität erhöhen können.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Selendroid is a test automation framework which drives of the UI of Android native and hybrid applications (apps). Tests are written using the Selenium 2 client API.
Selendroid can be used on emulators and real devices and can be integrated as a node into the Selenium Grid for scaling and parallel testing.
Features of selendroid
- The app under test must not be modified in order to automate it
- Between the native and the web context can be switched back and forth, which basically means the concept of automating native or hybrid apps are the same.
- Different locator types are supported to find elements
- Gestures are supported: Advanced User Interactions API
- Selendroid can interact with multiple Android devices (emulators or hardware devices) at the same time
- Existing Emulators are started automatically
- Selendroid supports hot plugging of hardware devices
- It can be integrated as a node into the Selenium Grid for scaling and parallel testing
- Multiple Android target API support (10 to 19)
- Build in Inspector to simplify test case development.
Documentation is available at http://selendroid.io
Neuerungen für gewerbliche Händler – der eBay Marktplatz 2016 (e-CommerceDay ...eCommerce_Day
Michael Möglich (Director EU Trust, eBay) stellt die Neuerungen für den eBay Marktplatz 2016 vor. Es sieht u.a. Erleichterungen im Bewertungssystem vor und eine Vereinfachung der Verkaufsprozesse.
Vortrag vom e-Commerce Day 2016
https://www.hitmeister.de/ecommerceday/
Am Tag des Onlinehandels 2014 in Berlin hält Oliver Prothmann, Präsident Bundesverband Onlinehandel e.V. (BVOH), einen Vortrag über die wichtigsten Massnahmen zum erfolgreichen Verkaufen auf eBay.
Agenda:
After covering the basics about how to find and interact with UI elements, we will look into techniques of writing maintainable tests with selendroid.
In the end we will run our tests in parallel using the Selenium Grid.
The workshop repository can be found here:
https://github.com/DominikDary/selendroid-workshop
2013 - Herausforderung Spitallandschaft im DRG-Zeitalter. Die Stadt Zürich, 11 Spitäler und unterschiedliche Positionierungen. Laufende Case Study über ergänzende Massnahmen mit viralem Marketing des Stadtspital Waid. Zusammenfassung für Tagung zu Qualitätsmedizin im Inselspital Bern.
Designing some kind of cross/inter/trans media game around a small and nice castle. Should be "intergenerative", so here I designed some tasks where also younger and older people together could succeed within the game.
Also, some thoughts on real-life adventure design are attached in the end.
Wer wünscht sich nicht "Mehr Softwarequalität"? Insbesondere an Individualsoftware werden hohe Qualitätsanforderungen gestellt. Einen Königsweg gibt es zwar nicht, aber viele „Best practices“, mit denen Sie systematisch die Softwarequalität erhöhen können.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Agiles Testen (z.B. in Scrum, Kanban, XP) ist zu einem unverzichtbaren Bestandteil agiler Softwareentwicklung geworden.
Testen in agilen Entwicklungsprojekten unterscheidet sich vom klassischen Testen in erster Linie dadurch, dass Testen eine präventive Maßnahme ist und dass die Tests viel häufiger ausgeführt werden müssen. Der Fokus liegt dabei in der Einbindung von Testern unter Beachtung des agilen Manifests und der Anwendung agiler Prinzipien auf das Testen, wie beispielsweise schnelles Feedback, hoher Automatisierungsgrad, Auflösung starrer Teststufen, enge Zusammenarbeit in selbstorganisierten Teams.
Inhalt
- Definition
- Agiles Testen im Team
- Testkategorien
- Unit-Tests
- TDD/ATDD/BDD
- 3 Amigo
- Akzeptanztests
- Exploratives Testen
- Continuous Integration, Delivery & Deployment
- Integration in Scrum
- Genereller Umgang mit Bugs
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?René Spengler
Das Testmanagement wird im agilen Entwicklungsprozess wie Scrum vom Team getragen. Doch kann das Scrum-Team die Aufgaben eines Testmanagers vollumfänglich wahrnehmen? Der Vortrag folgt den Aufgaben des Testmanagers und vergleicht die Umsetzung in klassischen und agilen Arbeitsumfeldern. Am Ende steht die Frage, ob man in Scrum noch einen Testmanager braucht.
Referenten:
Kay Grebenstein, Saxonia Systems AG
René Spengler, ANECON Software Design und Beratung GmbH
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Connected-Blog
Philipp Benkler, Geschäftsführer Testbirds.de
Veranstaltung: M-Days 2013
Das Blog der Messe Frankfurt zur Digitalisierung des Geschäftslebens:
http://connected.messefrankfurt.com/de/
Zum Testen von Software gehören sowohl das Aufspüren von Fehlern während der Entwicklung, als auch die Überprüfung des Gesamtproduktes. Das heißt, man sucht zunächst in einzelnen Codefragmenten nach Fehlern, und überprüft dann das Gesamtpaket auf seine Vollständigkeit und Korrektheit hin. Unzureichende oder unvollständige Dokumentationen führen häufig zu einer unzulänglichen Erfassung von fehlerfhaften Anforderungen. Dies fällt besonders bei sich wiederholenden und sich schnell verändernden PHP-Entwicklungen ins Gewicht. Der Grund dafür ist, dass PHP als nicht typisierte Sprache die Möglichkeit bietet, in hohem Tempo neue Funktionalitäten zu bestehender Software hinzuzufügen und zu ändern. Anwendungsteile, die mit PHP implementiert wurden, bedürfen keiner Neukompilierung. Die Genauigkeit des Gesamtkontextes kann noch während der Laufzeit des Prozesses geprüft werden. Des Weiteren muss auch sichergestellt werden, dass die Rückgabewerte von Methoden der Quellcode-Dokumentation bzw. dem erwarteten Typ entsprechen. In Projekten mit größeren Teams wird es häufig zur Wiederverwendung von Komponenten – oft auch in einem vom Software-Autor nicht erwarteten Kontext – kommen. Somit ist immer noch das Wichtigste nicht genannt: Sind neue Funktionen korrekt umgesetzt, und funktioniert die alte Funktionalität noch?
Häufig kommt in der Anwendungsentwicklung das Testen zu kurz. Dabei bietet sich ein enormes Einsparpotenzial, wenn Fehler bereits während der Entwicklungsphase und nicht erst nach Inbetriebnahme erkannt und behoben werden.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Florian Wolters
German slides that give a overview about developer tests in the C++ programming language. It tries to underline the dependencies between software design, clean code, software quality and the software testing activity itself.
Ähnlich wie Software Measurement in agilen Projekten mit Open Source Tools (20)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Software Measurement in agilen Projekten mit Open Source Tools
1. Software Measurement
in agilen Projekten
mit Open Source Tools
Michael Palotas & Dominik Dary
eBay Quality Engineering Europe
2011-10-11
2. Agenda
• Komplexität und Herausforderungen bei eBay
• Ausgangssituation
• Manuelles und Tool-basiertes Software Measurement
• Auswirkungen des Software Measurement
2
Erstellt von: Michael Palotas & Dominik Dary
3. Komplexität und Herausforderungen bei eBay
60 million lines of code
10.000+ Java application servers
2 billion page views/day
25,000 searches per second
110 million items in > 50,000 categories
25 Petabyte of data processed by Data Warehouse/day
4.4 billion API calls per month (public API)
48 billion SQL executions/day
2 Terabyte of application log files/day
2 million outbound emails/day
14 Gbps peak network utilization
Erstellt von: Michael Palotas & Dominik Dary
4. Ihre Referenten
Michael Palotas Dominik Dary
• Head of Quality Engineering • Senior Software Engineer in Test
Europe • E-Mail: ddary@ebay.com
• E-Mail: mpalotas@ebay.com
4
Erstellt von: Michael Palotas & Dominik Dary
5. Ziele von Software Measurement?
Wir möchten uns ständig verbessern in dem was wir tun
Festlegung von Akzeptanzkriterien aus der Sicht der
Qualitätssicherung
Schaffung der Vergleichbarkeit von Projekten und Teams
Ermittlung der aktuellen Reife (Maturity) der Projekte
Anreiz für das Team um sich zu verbessern
Um von dem „gutem Bauchgefühl“ Measurement Ansatz
wegzukommen J
5
Image Source: http://www.clickbuyhelp.org/wp-content/uploads/2010/03/Continuous-Improvement.jpg Erstellt von: Michael Palotas & Dominik Dary
7. Software Measurement in der Praxis?
Warum reicht Tool-basiertes Measurement nicht aus?
Ganzheitlicher Ansatz im Gegensatz nur zur Verwendung von
statischer Analyse-Tools
Nicht nur die “harten Fakten” werden mit einbezogen
Einige Kriterien können nicht Tool-basiert verifiziert werden (i.e.
Testfallqualität, Qualität der Dokumentation, Testplan)
Tool-basiert Manuelles Audit
- SONAR Open Source Tool
& - Durchgeführt vom QE
Engineer
- Alle 3-5 Iterationen
7
Erstellt von: Michael Palotas & Dominik Dary
8. Unsere Vision
Engineering Practices
QA QE DEV
Manual Tests Automated Testing
Large Small Integra-
Exploratory Tests Tests tion
Testing Tests
Projekt Audits
Fast
Continuous SCM Delivery
Integration
Acceptance
Test
Tools
Wiki
8
Erstellt von: Michael Palotas & Dominik Dary
9. Maturity-Definition der Key-Area “Test Strategy”
Test Plan
Maturity Definition
1
• Level 1:
Ein Testplan existiert für das Project.
Manual Tests
• Level 2:
User Acceptance Dev
Ein manueller Testplan existiert
Tests Tests
• Level 3:
System Tests & automatisierte Large
Regression Tests System Tests sind vorhanden und sind
Tests aufeinander abgestimmt.
• Level 4:
3 2 Low-Level Testplan existiert
• Level 5:
Large High-Level und Low-Level Tests sind
Tests aufeinander abgestimmt.
High level test
5
Low level test
Small Integration
Tests 4 Tests
Automated Tests 9
Erstellt von: Michael Palotas & Dominik Dary
10. Wie wird mit den Ergebnissen des Audits umgegangen?
Feedback an das SCRUM-Team & das Management
Scrum Master + Product Owner entscheiden basierend
auf den vorgeschlagenen Maßnahmen
Maßnahmen werden übers Produktbacklog umgesetzt
10
Image Source: http://en.wikipedia.org/wiki/File:Scrum_process.svg Erstellt von: Michael Palotas & Dominik Dary
11. Auswirkungen des Software Measurement
Messbare Verbesserung der Qualität des Quellcodes und des Produkts
Team sind motiviert sich beständig zu verbessern
Anreiz zwischen den Teams
Entwicklung der Maturity Levels: Beispiel Darstellung eines Audits
11
Erstellt von: Michael Palotas & Dominik Dary
12. Unsere Erfahrungen als Auditoren
Positive Erfahrungen Was haben wir geändert:
• Erste Audits benötigen • Neue Metriken:
einige Vorbereitungszeit • Continuous Integration
• Später durchgeführte • Code Reviews
Audits können schnell • Source Code Management
durchgeführt werden
• Schnelles Feedback über
die Projekte
• Die Leistungsfähigkeit
liegt in der Einfachheit
der Audits
12
Erstellt von: Michael Palotas & Dominik Dary