On this site, there is only displayed the English speaking sessions of the OOP 2021 Digital. You can find all conference sessions, including the German speaking ones, here.
Theme: Testing & Quality
- Back to Architecture
- Business Agility
- Design Erosion & Learning from Failure
- DevOps & Continuous Everything
- Diversity & Inclusion
- Domain-Driven Design moving forward
- Full Day Tutorial
- Fusion: IT-Future-Society
- Half Day Tutorial
- Modern C++ Programming
- Modern Enterprise Architecture
- Product Discovery, Customer Centricity & RE
- Signature Track: Back to the Future
- Social Integration
- Special Event
- Testing & Quality
- Trends & Techniques
We know that quality cannot be tested into our products afterwards, but we typically could do much more in our testing approach to built-in quality right from the beginning. But how does this look like in practice?
This interactive tutorial provides practical guidance on the needed strategies, tactics, and practices in different areas, and shares experiences and lessons learned to do better testing in the future!
Maximum number of participants: 25
Target Audience: Test Architects, Software Architects, Test Engineers, Product Owners, Quality Managers, Developers
Prerequisites: Basic knowledge about testing and quality engineering
Today we have to deal with shorter time-to-market, increasing complexity and more agility while keeping quality and other key system properties high. Our test systems increase in size, volume, flexibility, velocity, complexity and unpredictability. Additionally, digitalization requires more than just a face lift in testing.
We know that quality cannot be tested into our products afterwards, but we typically could do much more in our testing approach to built-in quality right from the beginning:
- This means even an improvement to classical defect prevention: defect prevention is good, but just “avoiding” some defects does not mean that we build something really “right”.
- This is more than just the trendy shift-left approach in DevOps.
But how does this look like in practice?
This interactive tutorial provides practical guidance on the needed strategies, tactics, and practices in different areas, and shares experiences and lessons learned:
- Requirements and test-driven approaches (xTDD)
- Utility trees and quality models
- Scenario descriptions and test design techniques
- Design strategies and design tactics
- Design for Testability and test architectures
- Mindset by example
Attend this tutorial and do not only learn what built-in quality really means but be enabled to apply the strategies, tactics, and practices as a major lever for better testing in the future!
Peter Zimmerer is a Principal Key Expert Engineer at Siemens AG, Corporate Technology, in Munich, Germany. For more than 25 years he has been working in the field of software testing and quality engineering. He performs consulting, coaching, and training on test management and test engineering practices in real-world projects and drives research and innovation in this area. As ISTQB® Certified Tester Full Advanced Level he is a member of the German Testing Board (GTB). Peter has authored several journal and conference contributions and is a frequent speaker at international conferences.
35 years ago, Eliyahu Goldratt introduced the Theory of Constraints (ToC) in his seminal book "The Goal" as a new management paradigm for manufacturing plants, struggling with excess inventory, late deliveries, poor quality. The ToC solved this through five focusing steps - a guideline to systematic improvement and continuous learning.
Today, the ToC is one of the pillars of the DevOps movement. This talk will present its principles, and how it applies to the software industry, through a mix of theory, stories and experiences, and practical advice.
Target Audience: Architects, Developers, Project Leaders, Managers, Decision Makers
Prerequisites: Some previous knowledge of software delivery is helpful, but not required
He strives to help customers to build and improve not only their product, but also how it is made.
He is a passionate advocate for collaborative work environments, knowledge sharing, and diversity.
On the side, he founded ThinkingLabs where he advises organisations in the adoption of Continuous Integration and Continuous Delivery.
Thierry is a lean software engineer, junior ops engineer, CI/CD advocate and jack-of-all-trades with a passion to help teams create meaningful software, with a keen eye for code quality and the software delivery process, from customer interaction to continuous delivery. Instead of balancing quality and delivery, he believes and practices, that better quality is actually a way to more and better deliveries.
This talk will provide insights for a successful integration of lean-quality management to scaled agile projects. We will show based on our project experience that by improving process quality, higher product quality is achieved, resulting in significantly increased customer satisfaction. We will share how the lean principles and an easy-to-use toolkit helped us to tackle complex problems by providing a proven and scalable approach for continuous improvement and boost business agility at the same time.
Target Audience: Quality & Test Engineers, Agile Coaches, Project Managers, Quality Managers
Prerequisites: Solid agile knowledge, basic lean understanding, basic understanding of quality assurance
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
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.
AI is maybe the most powerful tool our generation has available. Andrew NG called it "the new electricity". But what does it take to build AI enabled products? What are the key elements to achieve production grade AI? How does it impact your development process? How can quality be achieved? These are the questions this talk tries to answer. You will get an idea why the industry is talking about nothing less than a paradigm shift when it comes to developing AI based products.
Target Audience: Everyone interested in the shift from classical software engineering to data driven AI applications
Prerequisites: Interested in AI, how it works and its impact on engineering departments
AI is maybe the most powerful tool our generation has available. Andrew NG called it "the new electricity". Most likely you used an AI based product within the last 3 hours, maybe without even noticing it. But what does it take to build AI enabled products? What are the key elements to achieve production grade AI? How does it impact your development process? How can quality be achieved? These are the questions this talk tries to answer. In addition we will look into the different stages of AI development and the tools which can help to make this process more efficient. You will get an idea why the industry is talking about nothing less than a paradigm shift when it comes to developing AI based products.
Whether evolution or revolution, or yet old wine in new skins, for more than 10 years, DevOps is changing how we develop and deliver software. This session looks back on the roots of DevOps, its movement until today, and current as well as possible future directions. This interactive session aims to offer a set of fruitful starting points for reflection and discussions.
Target Audience: Anyone interested in developing and delivering software
Prerequisites: Knowledge in DevOps and agile software development
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
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
She has been awarded a Business Computing degree from Queen Mary University Of London. She thoroughly enjoyed the technical aspects of the computing side of her degree applied those skills to the business side of her degree.
She will bring an innovative and valuable contribution to any programme through her aptitude for IT, her interest in the business world and interpersonal skills. She is and will be a practical and valuable member of any team, as she is able to work effectively and efficiently with others to complete any given task.
She has excellent communication skills gained from both academic and non-academic environments.
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
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!”.
Throw a line of code into many codebases and it’s sure to hit one or more testing frameworks. There’s no shortage of frameworks for testing, each with their particular spin and set of conventions and, but that glut is not always matched by a clear vision of how to structure and use tests — a framework is a vehicle, but you still need to know how to drive.
Compared to many languages, C++ has had slower widespread adoption of unit testing. This talk takes a deep dive into the practices and issues, looking at examples and counterexamples in C++.
Target Audience: C++ developers
Prerequisites: C++ programming
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
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.
Agile testers need to lead the team, other testers, product owners and customers towards better quality. Yet agile teams don’t generally bestow formal authority. And, as testers, we’re often trying to lead from a position that is still not always appreciated.
The workshop will focus on hands-on exercises and activities for achieving enablement for whole team quality. No programming skills are necessary, but we will be doing some work involving code in groups and in a safe learning environment.
Maximum Number of participants: 12
Target Audience: Testers, developers
The role of a tester on an agile team is so much more than “hey can you test this with your super testing skills”. Testers are, on the one hand, chameleons who need to adapt their skills to new situations within the team. On the other hand, we can’t just react to situations – we need to lead the team, other testers, product owners and customers towards better quality. Yet agile teams don’t generally bestow formal authority. And, as testers, we’re often trying to lead from a position that is still not always appreciated (“agile teams don’t need testers”, “testers are just bad developers”, “you’re just a tester”…).
In complex situations where we’re dealing with unknown unknowns plus sticky, messy humans, communication is key. A degree in psychology would sometimes be helpful. Multiple years of cat-herding too. In this workshop, Alex will focus on communication.
The workshop will consist of the following topics:
- Communicating the value and role of testing
- Testers as the communication glue for various stakeholders and within the team: talking about testing, risk and quality at the right level for the right audience
- Enablement: Teaching, coaching, coercing and encouraging others within the team to take on quality- related tasks and to support the value of the product through testing
- What testers and other team members can do together, resulting in better and more efficient results
The workshop will focus on hands-on exercises and activities. No programming skills are necessary, but we will be doing some work involving code in groups and in a safe learning environment.
In diesen Rollen unterstützt sie Kollegen, Kunden und Teams auf ihrer Reise, bessere Qualität zu liefern: in Produkten, in Prozessen und in der Kommunikation.
In früheren Rollen war sie für die Befähigung von Teams und qualitativ hochwertige Systeme verantwortlich. Nun befähigt sie andere, genau das zu machen, und sorgt für eine Umgebung in der Firma, wo jede(r) aufblühen kann.
Alex schaut mit neugierigen Tester-Augen auf die Welt und möchte immer dazu lernen. Sie teilt ihr Wissen und ihre Erfahrungen in Workshops, Coachings und als Sprecherin oder Keynote-Sprecherin auf Konferenzen.