SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
08. - 12. Februar 2021, Online-Konferenz
SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
08. - 12. Februar 2021, Online-Konferenz
Das Projekt läuft, die Rahmenbedingungen sind abgesteckt, die Performance des Systems ist gut - ideale Bedingungen also. Leider ist die Realität oft anders. Der Nutzungskontext ändert sich und plötzlich muss ein Vielfaches der ursprünglichen Last bewältigt werden, natürlich in Erwartung gleichbleibender Qualität.
Wie man diese Herausforderung mit gezielten Maßnahmen aus dem Baukasten der Qualitätssicherung beherrschen kann, zeigen wir am Beispiel verschiedener Systeme, die wir auf dem Weg vom Projekt zum Produkt begleitet haben.
Zielpublikum: Tester:innen, Qualitätsmanager:innen, Entwickler:innen
Voraussetzungen: Projekterfahrung
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Das Projekt läuft, die Rahmenbedingungen sind abgesteckt, neue Anforderungen bewegen sich in diesem Rahmen, die Performance des Systems ist gut - ideale Bedingungen also. Leider ist die Realität oft anders. Die Software kommt auch in anderen Abteilungen der Kund:innen gut an und schnell erweitert sich der Nutzerkreis. Oder neue Kund:innen interessieren sich für die gleiche Software und schon wird aus einem Projekt für einen Kunden schnell ein Produkt, das verschiedene Kunden im Einsatz haben. Der Nutzungskontext ändert sich, die Anforderungen verlassen den gesteckten Rahmen und plötzlich sieht sich die Entwicklung damit konfrontiert, ein Vielfaches der ursprünglichen Datenmengen oder Anfragen managen zu müssen. Und natürlich gibt es die Erwartung gleichbleibender Qualität, insbesondere gleichbleibender Performance.
Wie schafft man es, die Hotspots schnell zu identifizieren? Wie helfen architekturelle Entscheidungen? Was sagt man den Kund:innen, welche Probleme die neue Last bedeutet, und wie schätzt man schnell ab, in welchem Zeitraum man diese beheben kann. Wie misst man, wie stark der Host skalieren muss, um zukunftsfähig zu bleiben? Wie muss man Last- und Performancetests gestalten, dass sie wirklich Antworten auf die Fragen geben?
Wie man diese Problemstellungen beherrschen kann, zeigen wir anhand verschiedener Beispiele, bei denen wir Systeme auf dem Weg vom Projekt zum Produkt begleitet haben. Wir stellen insbesondere die Maßnahmen vor, mit denen wir die Herausforderungen erfolgreich gemeistert haben.
Dehla Sokenou fühlt sich in allen Phasen der Software-Entwicklung zu Hause, besonders im Testen. Bei WPS - Workplace Solutions ist sie als Test- und Qualitätsmanagerin und Software-Architektin tätig.
Mehr Inhalte dieses Speakers? Schaut doch mal bei SIGS.de vorbei: https://www.sigs.de/experten/dehla-sokenou/
Bevor wir uns in die Zukunft bewegen, in der wir unsere schicke neue Applikation oder unsere neuen Features auf echte Benutzer loslassen, sollten wir wissen, ob sie mit den zu erwartenden Anfragen umgehen kann.
Moderne Performance-Test-Tools unterstützen hier nicht nur durch einmalige manuelle Tests, sondern auch mit der Möglichkeit, Lasttests als Teil der Continuous-Integration-Pipelines durchzuführen. Dieser Vortrag soll mit Live-Demos eine Einführung in nötige Voraussetzungen bieten und aufzeigen, wie man Ergebnisse visualisieren kann.
Zielpublikum: Entwickler:innen, QA, Projektleiter:innen
Voraussetzungen: Basiswissen über Java, APIs und Continuous Integration sind von Vorteil, aber nicht dringend
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Regelmäßige Lasttests, auch schon während der Entwicklung, helfen dabei, möglichst gut einschätzen zu können, wie sich eine Anwendung samt ihrer Infrastruktur unter Last verhält, ob sie der anstehenden Nachfrage standhalten kann, oder ob sie vielleicht zu groß definiert ist.
Anhand von Demos mithilfe des Last-Test-Simulators "Gatling" wird gezeigt, wie man zu erwartende Last-Szenarien für eine (Web-)App als Code darstellen kann und wie sie je nach Anwendungsfall skaliert werden können.
Die Demo wird sich auch (kurz) damit beschäftigen, wie man mit Mocking für Dritt-Services umgehen kann, etwa wenn ein Service-Anbieter keine Performance-Tests gegen seine Dienste zulässt.
Die Ergebnisse lassen sich über Metrik-Exporte auch in modernen Visualisierungs-Tools wie Grafana anzeigen, auswerten und vergleichen.
80% of machine learning is said to be data wrangling. Is all this wasted effort? Hardly - often the journey really is its own reward.
In this talk, we'll briefly describe a machine learning project that predicts the outcome of test cases in a large-scale software development cycle. We'll then show what we gained from collecting the necessary data and how these insights can have lasting impact on the day-to-day work of developers, testers and architects. This includes a quick answer to the well-known question: Whose defect is it anyway?
Target Audience: Developers, Testers, Architects
Prerequisites: Basic knowledge of software development and testing and an interest in data analytics
Level: Basic
Extended Abstract:
Data science folk wisdom holds that at least 80% of machine learning consists of data wrangling, i.e. finding, integrating, annotating, and cleaning the necessary data.
While sometimes viewed as less "glorious" than the deployment of powerful models, this journey has its own rewards as well.
Benefits may sometimes be somewhat expectable, if still non-trivial, like data cleaning potentially exposing errors in underlying data bases.
In other cases, though, there may be some low-hanging fruit a casual glance might miss even though they are indeed rewarding.
Data integration often reveals opportunities for statistical analyses that are relatively simple, but may still have high impact.
In this talk, we'll start at the destination: the result of a machine learning project where we successfully predicted test results from code changes.
A necessary task was the integration of several data sources from the full software development cycle - from code to testing to release in a large industry project with more than 500 developers.
Naturally, this required all typical steps in the data science cycle: building up domain knowledge and problem understanding, both semantic and technical data integration, data base architecture and administration, machine learning feature design, model training and evaluation, and communicating results to stakeholders.
These steps yielded several benefits, on which we will focus in our talk.
Among others these include data quality insights (e.g. about actual "back to the future" timestamps), and new analyses which were made possible by a unified view of the data (e.g. survival analysis of defects).
Last but not least, we demonstrate a simple answer to a well-known question, especially in larger software development contexts: Whose defect is it anyway - how can we avoid assigning defects to teams that have nothing to do with them?
Thanks to the integrated information sources from systems concerned with version control, test result logging, and defect management, we are able to support the claims made in this talk with statistics taken from 6 years of real-world data.
Gregor Endler holds a doctor's degree in Computer Science for his thesis on completeness estimation of timestamped data. His work at Codemanufaktur GmbH deals with Machine Learning and Data Analysis.
Marco Achtziger is a Test Architect working for Siemens Healthcare GmbH in Forchheim. He has several qualifications from iSTQB and iSQI and is a certified Software Architect by Siemens AG.
Vortrag Teilen
Machine Learning hat uns privat längst erreicht: Netflix schlägt mir Filme vor, die mir oft sogar gefallen. Warum gibt es keine Software, die mir fundiert vorschlägt, was ich testen soll?
Es gibt Forschungsansätze, die das versprechen: Defect Prediction nutzt Machine Learning auf historischen Fehlerdaten, um vorherzusagen, wo am meisten Fehler sein sollen. Aber wie gut funktioniert das in der Praxis?
Wir haben solche Ansätze selbst implementiert und eingesetzt. In diesem Vortrag stelle ich die Ergebnisse aus Forschung und Praxis vor.
Zielpublikum: Entwickler:innen, Testende, Verantwortliche für Entwicklung und Test
Voraussetzungen: Interesse an Software-Test
Schwierigkeitsgrad: Fortgeschritten
Dr. Elmar Jürgens hat über statische Codeanalyse promoviert und für seine Doktorarbeit den Software-Engineering-Preis der Ernst Denert-Stiftung erhalten. Er ist Mitgründer der CQSE GmbH und begleitet Teams bei der Verbesserung ihrer Qualitätssicherungs- und Testprozesse. Jürgens spricht regelmäßig auf Forschungs- und Industriekonferenzen und wurde für seine Vorträge mehrfach ausgezeichnet. Er wurde 2015 zum Junior Fellow der Gesellschaft für Informatik ernannt.
Vortrag Teilen
Nicht nur Menschen, auch Testsuiten geraten unter Stress. Solche Tests sind fragil, langsam in der Durchführung oder kosten auf andere Art Zeit und Nerven.In diesem Vortrag beschreibe ich, wie man diesen Stress abbauen kann. Dazu gehören:- Tägliche *A*temübungen mit *A*utomatischen Analysen, die Probleme in Tests beim Erstellen verhindern- *M*editation über einfache *M*etriken zur Früherkennung von Stress in Testsuiten- Yoga-*P*ositionen in Form von *P*rozessen und Aktivitäten, um die Qualität von Tests von Anfang an in den Griff zu bekommen.
Zielpublikum: Testende, Qualitätsmanager:innen, Entwickler:innen
Voraussetzungen: Grundkenntnisse Testen
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Nicht nur Menschen (vor allem Software-Entwickler und -Tester), sondern auch Testsuiten geraten im Laufe ihres Lebens unter Stress. Woran zeigt sich das? Tests, die unter Stress stehen, sind fragil (also schlagen häufig fälschlich Alarm), langsam in der Änderung und Durchführung oder kosten auf andere Art Zeit und Nerven. Konkrete, messbare Symptome von Stress sind u. a. mehrdeutige Testfallbeschreibungen, eine unverständliche Struktur, unklare Testabdeckung oder zahlreiche Duplikate. Folgen des Stresses für das Projekt sind schlechte Software-Qualität und hohe Test- und Wartungskosten.In diesem Vortrag zeige ich Gründe für den Stress in Testsuiten auf. Vor allem aber beschreibe ich, wie man in Projekten diesen Stress abbauen kann. Dazu gehört:- Tägliche *A*temübungen mit *A*utomatischen Analysten, die Probleme in Testsuiten schon bei der Erstellung verhindern- *M*editation über einfache *M*etriken zur Erkennung von Stress in Testsuiten- *P*ositionen in Form von *P*rozessen und Aktivitäten, um die Qualität von Tests von Anfang an konstruktiv in den Griff zu bekommen.Wir haben diese Techniken seit etwa 5 Jahren in über 60 Projekten im Einsatz. In dem Vortrag berichte ich aus unseren Erfahrungen: Wann helfen diese Techniken der Testsuite Stress abzubauen? Und was steht auf dem Pfad zum inneren Gleichgewicht im Weg?
Dr. Henning Femmer ist einer der Gründer von Qualicen. Bei Qualicen hilft Henning unterschiedlichsten Firmen bei der Einführung von Text-Analytics-Ansätzen. Er hat im Bereich Software Engineering an der Technischen Universität München promoviert und ist unter anderem im Steering Committee des Artificial Intelligence for Requirements Engineering Workshops tätig. Henning ist häufig Speaker auf nationalen und internationalen Konferenzen.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/henning.femmer
The Test Pyramid is an efficient and effective approach for Software Testing but does not come with any details about concrete test methods or fixtures.
In my talk I will show you how to combine the principles of the Test Pyramid and the C4 Model for Software Architecture to elaborate a specific test strategy for your software product in a simple manner.
Target Audience: Architects, Developers, QA Engineers
Prerequisites: Basic knowledge in Software Architecture and QA Engineering
Level: Advanced
Extended Abstract:
Software tests have to specify the behaviour of your product as extensive and reliable as possible. At the same time their implementation and maintenance costs should be kept at a minimum.
As Kent Beck said before: "I get paid for code that works, not for tests".
The Test Pyramid is a proven approach for this problem but leaves a lot of room for interpretation when elaborating a test strategy for your product.
Furthermore there are a lot of partly contradictory definitions of Unit, Service and Integration Tests and variations like “Test Diamond” and “Test Trophy” make it even more confusing. So, how do we get from the Test Pyramid to a concrete test strategy?
In my talk I will show you how to combine the principles of the Test Pyramid and the C4 Model for Software Architecture to obtain a test concept tailored for your product. Examples taken from a recent project will demonstrate how this approach balances test coverage, maintainability and development costs.
What would your first thought be when you are told there is no testing or quality structure in a team? How would you inspire a team to follow vital processes to thoroughly test a data science model?
I would like to share my knowledge about testing a model in a data science team.
Data science is a very interesting area to explore. It presents testing challenges that are quite different from “traditional” software applications. I will share my journey introducing testing activities to help build quality into a data science model.
Target Audience: Testers, QA, Developers, delivery managers, product owners, scrum masters, everyone is welcome
Prerequisites: QA, Testing
Level: Basic
Laveena Ramchandani is an experienced Testing Consultant with a comprehensive understanding of tools available for software testing and analysis. She aims to provide valuable insights that have high technical aptitude and hopes to inspire others in the world through her work. Laveena holds a degree in Business Computing from Queen Mary University of London and regularly speaks at events on data science models and other topics.
The Tech world is ever growing, and Laveena Ramchandani has been working in Tech for 10 years now. She works in testing and quality assurance, a good mix of technical and business awareness role. Laveena has learned a lot through her career and looks forward to gaining more knowledge and at the same time inspires and spreads more Testing eminence around the world.
Raiffeisen Bank International (RBI) started in 2017 with “Group Digital Solutions” a journey in order not to oversleep the digitization of the banking industry.
Due to new approaches such as DevSecOps & Continuous Testing, the topic of software tests, whether manual or automated, had to be completely redesigned and implemented.
This talk gives insights into the test strategy & the fullstack test automation architecture that were used.
Target audience: testers, developers, architects, managers
Prerequisites: none
Level: Advanced
Extended Abstract:
So that Raiffeisen Bank International can keep up with digitization in the banking sector, the company relies on the use of native apps, microservices and REST APIs in the Amazon cloud when implementing its mobile banking strategy.
In order to support the DevOps mantra "Automate everything", a full stack test automation strategy was developed that is based on open source tools and takes all components of the system architecture into account.
The independent services of the microservice architecture make additional interfaces visible that are not available in a monolithic architecture. The advantage is that they can be deployed and tested independently of each other.
Testing these systems is much more complex than testing a conventional monolithic application and needs additional demands on test automation, with classic integration tests being even more important for the overall structure.
These integration tests were usefully supplemented by consumer contract tests. But end-2-end tests should not be missing either, since an effective test strategy must take into account both the isolated testing of individual services and the verification of the overall system behavior.
Aligning test automation with the classic test pyramid is a very useful approach if the individual layers are seen as the basis for “what is being tested” and not as a measure of the number of tests. Because the old wisdom still counts: “Quality over quantity!”.
Rudolf Grötz has been in IT for 30 years and has been a passionate software tester since 2008. He works as an agile engineering coach for the topic & test automation at Raiffeisen Bank International in Vienna and lives the motto "Test automation is not an act, test automation is a habit!". In addition to various author activities, including for IX-Magazin, he organizes the Agile (Test) Automation Meetup in Vienna and the TestBustersNight Vienna 6 times a year.
------------------
Rudolf Grötz ist seit 30 Jahren in der IT unterwegs und seit 2008 passionierter Softwaretester. Er ist als Agile Engineering Coach für das Thema & Test Automation bei der Raiffeisen Bank International in Wien tätig und lebt den Leitspruch „Testautomation is not an act, Testautomation is a habit!“. Neben diverser Autorentätigkeiten, u.a. für das IX-Magazin, organisiert er in Wien das Agile (Test) Automation Meetup und 6x pro Jahr die TestBustersNight Vienna.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/Rudolf.Gr%C3%B6tz
Matthias Zax arbeitet als Agile Engineering Coach bei Raiffeisen Bank International AG (RBI). Eigentlich gelernter Software Developer und '#developerByHeart, beschäftigt er sich seit 2018 mit dem Testen von Software mit Schwerpunkt Testautomation im DevOps Umfeld und organisiert die RBI Testautomation Community of Practice.
Vortrag Teilen
Autonomous and automated systems are increasingly being used in IT such as finance, but also transport, medical surgery and industry automation. Yet, the distrust in their reliability is growing. This presentation introduces the validation of autonomous systems. We evaluate in practical situations such as automatic driving and autonomous robots different validation methods. The conclusion: Classic methods are relevant for coverage in defined situations but must be supplemented with cognitive test methods and scenario-based testing.
Target Audience: Testers, Quality assurance, Architects, Requirements Engineers, Product Owners, Software Engineers
Prerequisites: Testing basic know-how
Level: Advanced
Extended Abstract:
Autonomous and automated systems are increasingly being used in IT such as finance, but also transport, medical surgery and industry automation. Yet, the distrust in their reliability is growing. There are many open questions about the validation of autonomous systems: How to define reliability? How to trace back decision making and judge afterwards about it? How to supervise? Or, how to define liability in the event of failure? The underlying algorithms are difficult to understand and thus intransparent. Traditional validations are complex, expensive and therefore expensive. In addition, no repeatable effective coverage for regression strategies for upgrades and updates is available, thus limiting OTA and continuous deployment.
With artificial intelligence and machine learning, we need to satisfy algorithmic transparency. For instance, what are the rule in an obviously not anymore algorithmically tangible neural network to determine who gets a credit or how an autonomous vehicle might react with several hazards at the same time? Classic traceability and regression testing will certainly not work. Rather, future verification and validation methods and tools will include more intelligence based on big data exploits, business intelligence, and their own learning, to learn and improve about software quality in a dynamic way.
Verification and validation depend on many factors. Every organization implements its own methodology and development environment, based on a combination of several of the tools presented in this presentation. It is however relevant to not only deploy tools, but also build the necessary verification and validation competences. Too often we see solid tool chains, but no tangible test strategy. To mitigate these pure human risks, software must increasingly be capable to automatically detect its own defects and failure points.
Various new intelligent validation methods and tools are evolving which can assist in a smart validation of autonomous systems.
This presentation introduces the validation of autonomous systems. We evaluate in practical situations such as automatic driving and autonomous robots different validation methods. The conclusion: Classic methods are relevant for coverage in defined situations but must be supplemented with cognitive test methods and scenario-based testing.
Christof Ebert is managing director at Vector Consulting Services. He supports clients around the world in agile transformations. Before he had been working for ten years in global senior management positions. A trusted advisor and a member of several of industry boards, he is a professor at the University of Stuttgart and at Sorbonne in Paris. He authored several books including "Requirements Engineering" published by dPunkt and in China by Motor Press. He is serving on the editorial Boards of "IEEE Software" and "Journal of Systems and Software (JSS)".
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/christof.ebert
Michael Weyrich is the director of the University of Stuttgart’s Institute for Automation and Software Systems. Before he spent many years at Daimler and Siemens where he had senior management positions in engineering. Ever since he engages in technology transfer and is heading numerous industry projects on automation and validation. He authored several books including the leading reference book on "Industrial Automation" published by Springer. Since many years he serves on VDI in various leadership positions. He is leading the VDI/VDE committee on testing of connected systems and industry 4.0.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/michael.weyrich
Vortrag Teilen
Um agiler auf Kundenbedürfnisse einzugehen und Entwicklungszyklen zu verkürzen, setzt die DATEV in der Breite auf Cloud-native Microservice Architekturen. Teams sollen damit in die Lage versetzt werden, weitgehend autonom an ihren Themen zu arbeiten und dabei kontinuierlich Wert zu liefern.
Wir berichten von unseren praktischen Erfahrungen, wie Teams nun qualitätsgetrieben ihre Systeme entwickeln und durch den Einsatz diverser Testmethoden die Erfüllung der geforderten Qualitätsanforderungen absichern: Architecture Fitness Functions demystified!
Zielpublikum: Entwickler:innen, Architekt:innen, Entscheider:innen, Product Owner, Projektleiter:innen
Voraussetzungen: Architekturkenntnisse, Grundwissen Testing
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Seit einigen Jahren wird das kontinuierliche Prüfen der Architektur und deren Tauglichkeit oder eben Fitness für die Nutzerbedürfnisse unter dem Schlagwort Architecture Fitness Function thematisiert.
Die DATEV eG befindet sich sowohl in einer technologischen als auch organisatorischen Modernisierung. Mit dem Ziel, schneller Wert für den Kunden zu liefern, entwickeln wir mehr und mehr Cloud-native Microservice-Architekturen, auf dessen Grundlage Teams weitgehend autark an ihren Themen arbeiten können. Dabei beschäftigte uns auch der agile Architekturentwurf, der Over-Engineering und aufwendige Big-Upfront-Designs vermeiden soll. Teams starten mit einer schlanken (lean) Architektur, die sich iterativ weiterentwickelt. Die Gratwanderung zwischen Entwickeln auf Sicht und dem nachhaltigen, systematischen Architekturentwurf meistern wir nun durch den frühzeitigen und konsequenten Einsatz der Architecture Fitness Functions.
In diesem Vortrag berichten wir von unserem begangenen Weg, diese Methode immer effektiver und effizienter im Projektalltag anzuwenden. Die Einführung und insb. das Demystifizieren des Begriffs Fitness Functions dauerte eine Weile. Wir zeigen unsere Maßnahmen auf: Wie und welches Fundament schufen wir dafür? Wie veränderten wir das Rollenzusammenspiel im Entwicklungsprozess und wie sorgten wir für die entsprechende Vorbereitung und Fokussierung? Leider war auch der Weg zu wirklich überprüfbaren Qualitätsanforderungen steinig. Aber wir konnten durch passende Techniken wie bspw. Quality Fathoming auch dort den Zustand deutlich verbessern.
Wir zeigen unsere ersten Gehversuche mit Tests der Architekturfitness und wie heute unsere Testnetze zur kontinuierlichen Überprüfung und Visualisierung der Architekturfitness aussehen. Zudem demonstrieren wir, wie sich unser agiler Architekturentwurf und die daraus resultierenden Architekturen durch den Einsatz von Fitness Functions verändert haben.
Vortrag Teilen