fbpx
Have something to share about Test Automation or WebDriver?
Become a speaker now

Talk

Appium meets Selenium and Docker

This talk will showcase how to leverage containers to solve UI-Test infrastructure for Android.

JDI 2.0 in examples

JDI is a great framework for UI testing but me moves forward. JDI 2.0 provides not only a tool or framework but a list of approaches and practices for testing. There are some breaking changes in 2.0 version, but most JDI features still available in JDI 2.0.

In this master class session I would like to demonstrate real QA automation tasks and how easy they can be resolved with JDI 2.0. Master class will cover the Web UI automation on JDI based on Selenium. It has “task – solution” format. No theory. No water. Only practice.

The essential tools for test code quality improvement

Is it reasonable or not to control the quality of a test code? Why do Software Engineers in Test have to follow the same rules and conventions as developers do? Is there any tool which may help to partially automate and simplify the code review process? Should it be integrated into main development flow?

It’s time to change the way you look at Test Automation. In this talk you’ll see practical examples of the use of code quality tools, and understand how they can be applied in the CI flow.

SCULPT! YOUR! TESTS!

Concise and elegant automated tests?
Pain free ( almost 😉 ) web UI test stack?
More time for drinking coffee/playing Cuphead/starring into the void* ?
Jump in, we’ll talk Lombok, Vavr, Owner, why you should use ready solutions and how to make tests more concise and readable. Vaper and/or hoverboard required.

Create Testing Environment with Docker for Integration Testing

Over the years, I’ve learned one key lesson from my experience in automating test cases. Regardless of how much effort I put into making my test suites the most well-designed, high-quality work of software engineering, the fact remains that all these test cases are useless if I don’t have a test infrastructure to adequately support running them. In my experience test environment availability is very limited and I need to be able to work with minimal resources.

For example, on a recent project I was responsible for, I had a suite of REST API tests, which needed to be run continuously in a collection of environments that mirrored a variety of customer environment configurations (OS, database server, application server, browser).

I could have gone the traditional route of having a permanent environment in place for each environment configuration but this would have been very draining on the limited resources available to me. Also, in my case, my test suite was made up of API tests, which meant they executed relatively quickly (compared to say UI tests). To have multiple environments dedicated to running a short test cycle a few times a day seemed to me like a massive waste of resources.

To solve this problem, I looked into using Docker containers. This way I could configure, create and remove environments easily, quickly so as best to suit our own environmental requirements.

So in this talk, I would like to take the audience through my journey of how I used Docker and CI tools to overcome the challenges I had around lack of test infrastructure resources.

Lightning talks

Testing on prod (without pain and humiliation)

In this talk I want to share our own experience testing on prod. Our users help us test and customize our algorithms and do not even know about it!

How it works?

Let’s discuss…

Pandora’s white box

Most of the time in testing communities all over the world discussions about “right way to test the system” are going from the “black box” point of view. At the same time “white box” assumed to be prerogative of developers.

I’ll try to answer the following questions:

– how to prevent developers from writing wrong code?
– how to inject failures in code during the testing before it will fail in production?
– what is source code parsing and why should you care about it?
– social coding analysis and coverage – what this can give you? “

Report Portal use cases with maximum value

Powerful tools give a lot room for improvements. In order to make it valuable for you, I define your way of configuration. This talk will represent use cases of ReportPortal and the most beneficial configurations of usage. Based on real project examples, with collected metrics and efficiency improvement for them.

Codeless Visual Testing

Record-playback tools have been used by countless applications, in order to test their UI functionality. In this talk we’ll take a look at how you can gain confidence in your application by using Selenium IDE in order to visually test your application without writing a single line of code.

Performance testing of microservices in action

Internet changed our lives. We no longer go to book store since there is Amazon. We no longer watch TV since there are YouTube and Netflix. We tend to migrate into Internet and this is generates huge amount of traffic. This brings us new challenges but old solutions fail to keep pace with changes.

During past few years microservice oriented design became standard for distributed high load systems. It’s been proven by lots of companies including FANG (Facebook, Amazon, Netflix and Google) so at this stage efficiency of this approach is indisputable. Unfortunately there is no silver bullet and with all good parts we’ve received operation complexity, configuration management complexity, difficulties with debugging and tracing, instability of interfaces and performance drawback caused by expenses of IPC.

Goal of this talk is to get through performance analysis process of simple calculator application implemented as a set of microservices with following FOSS toolset: k6 and gatling for traffic generation, prometheus for monitoring, perf Linux profiler and FlameGraph project for flame graphs generation.

How to test Artificial Intelligence and Machine Learning solutions?

Testing community is discussing how machine learning can find bugs and replace testers. Meanwhile the reality is more boring and not so much futuristic. Engineers are releasing machine learning and artificial intelligence services that should be tested. Based on real experience of delivering such products I want to share how different such testing is from regular solutions and what are possible problems. After my talk you’ll have a starting point to test this AI and ML magic once you are faced with it.

Bug prediction based on your code history

The talk is about a possibility of creation non-static code analyzer which will point a dev team to some unobvious bugs in the system based on machine learning technics.

We will become acquainted with Weka — the machine learning tool for exploratory development of the algorithm, also, we will take a closer look on basic algorithms for classification: Decision Trees, SVM and Naive Bayes classifier.

Real life examples will show you how the development life cycle can be improved with AI technics.

BDD’s rose-colored approach

Talk about how to start automation fast in several teams at the same time, to ensure the unity of technical solutions, and do not lose in quality as well. Explicate the BDD library Akita that allows our teams to deliver a new feature completely covered by autotests with relevant documentation for just a week-long sprint.

Mobile Peer 2 Peer Communication Testing

Basic functionalities of a peer 2 peer communication application are text, voice messaging, VoIP and video calls. In order to test its functionalities, we need more than two devices to communicate with each other. There are also network interruptions / changes or app notification installed on mobile device which can harm the quality of communication and application.

In order to automate regression test of those kind of application, we have extended Appium and Selenium Grid where we are able to cross communicate “n” number devices with each other. We also created a layer manipulating the mobile devices’ Bluetooth, wireless and other features.

Right now, we are able to automate P2P appliications test with more than 100 devices varying from iOS to Android.

Organization of successful automation

In many resources about automation, we can find that first step in automation is choosing the right tools. But is it the best first steps? In my experience as QA Manager, I saw many failed automation projects with strong engineers who were successfully solving really difficult technical changes but they failed in an organization of automation process. They miss such things as test cases prioritization, MVP, the balance between automation value and framework complexity, helping POs and BAs to execute UAT in different environments, advertising automation framework to stakeholders.

So in this talk, I would like to focus on organization automation project, how to make technically poor automation framework successful in the eyes of stakeholders and to have maxim value for product quality.

Selenoid: get rid of Selenium Server!

Browser tests are known to be the flakiest ones. This is partly because browser infrastructure is complicated to maintain. But the second reason is – main stream browser automation tools such as Selenium server are far from being efficient.

As your company grows – your browser automation infrastructure should easily adapt to increased loads and new requirements. Unfortunately this is not so easy to get really scalable Selenium cluster using only the main stream tools. But there are some new open-source tools and approaches that can be used to deliver really scalable Selenium cluster.

This master-class covers an emerging browser automation tool – Selenoid, a truly efficient replacement of the standard Selenium server. I will explain how it works and why it is so fast. I will show in details features like video recording, sending logs and statistics to centralized storage and how to easily visualize this data.

Mobile automation: three act tragedy

This talk is about challenges you may encounter while trying to set up mobile automation infrastructure yourself. Three main cases are shown in detail: Android mobile automation, iOS mobile automation and issues with real-devices. I’m going to show the mainstream approaches on how to do this as well as enumerate various issues you should be aware of. The main goal is to give a general understanding of how mobile automation differs from desktop automation. This should help to make a decision – whether such infrastructure research should be done inside your company or outsourced to online services.

Make yourself comfortable and leverage Selenium with Python

Every automated testing system evolves over time. Let me tell you a story about how we started testing CloudForms. First with standard libraries and tools, then gradually developing and improving our own tools. Python played an important role, one which gave us the opportunities and freedom on how to approach the code. We subsequently did two refactors of the system. In the first, we focused on abstracting the UI interactions out of the test. Second, we carefully continued to iterate with feedback from our successes and failures. Instead of intertwined spaghetti code, we designed a couple of stand-alone libraries that jointly power our testing system with focus on declarativity. One library represents the abstraction of the UI, inspired by good ideas from Page Objects, but doing things better. The second one takes care of navigating around the UI in an intuitive way. And there are other ones as well. So let’s go through this story together and watch how we leveraged our Selenium testing with Python.

AWS hurries to the rescue

Very often I’m finding that many people in IT world either don’t know about AWS or any other public cloud or doesn’t have enough experience with it. I often see questions and problems through chats, Slack channels or forums that can be easily solved with AWS help and very often this solution will be very cheap or even free.

In this talk, I want to share my experience of using AWS services for solving different tasks in my daily work not only for testing but in many other areas as well. I also want to introduce AWS to the people who have no idea about what cloud computing is. I’m not affiliated with AWS in any way and they don’t pay me for this. It means that there will be no marketing bullshit, but only my personal blood and tears.

In my talk, I will mention both foundational AWS services, like S3 or EC2, and new things, that may become a “”Next Big Thing””, like Lambda. I will share my experience of using them, problems that I found and results that I’ve got.

Selenium/WebDriver Q&A panel

We invited experienced speakers to share their vision on WebDriver/Selenium and ecosystem around it. In addition following topics will be discusssed:

– WebDriver current state and nearest future;
– tools and frameworks built on top of WebDriver;
– approaches and techniques in test automation using WebDriver.

If you have questions to discuss with experienced professionals it is right place and time to do it.

Test automation tool Q&A panel

We invited experienced speakers to share their vision on modern test automation tools used in our industry at the moment. In addition following topics will be discusssed:

– trends in test automation;
– requirements to modern test automation engineer;
– best programming languages for test automation.

If you have questions to discuss with experienced professionals it is right place and time to do it.

Smart Integration Tests with Smart Mocks

Almost all systems actively integrate with external services. Some of these external dependencies are legacy and slow, while some are modern and fast. Problems occur when we want to test our system in an isolated predictable environment. This is very important because in the opposite case, tests become flaky and unreliable causing the effectiveness of testing to decrease very quickly. Therefore, when testing is done with real external dependencies, the following factors could affect it: network issues, slow responses, unexpected failures, data corruption, access issues, etc. This tends to occur more often when external systems are legacy. Every programmer has to face legacy code day after day. It might be ugly, it might look scary, and it has even been known to make a grown man cry. Creating automation testing in cases like these can easily turn your testing into a nightmare.

The first thing that can help is writing stubs for external dependencies and using them for testing purposes. Another problem arises immediately: stubs fix external behaviour and nobody can guarantee that it will remain the same forever, especially if the service is under active development. Because of this, you need not only to have stubs written but also to regularly inspect changes in behaviour and adapt them. These activities significantly increase our development efforts in the testing area. Of course, such stubs should be able to work with legacy SOAP-based systems.

This presentation shows The Smart Stub as one of the solutions to simplify your life and make testing great again. Here are a few scenarios where The Smart Stub can be used. The Smart Stub can be used for local needs and on the CI pipeline as well, allowing for automation of the following activities.

– Running existing tests using The Smart Stub as a proxy to record all request and response pairs.
– Creating flexible matching rules for requests based on recorded data.
– Customizing responses with flexible data replacement rules to ensure they’re always up-to-date.
– Using The Smart Stub in replay mode when all matched requests are processed by The Smart Stub and actualized recorded response is returned. All non-matched requests are passed through and recorded for future usage.
– Recording request and response pairs could be scheduled for comparison to real service in order to detect changes in external behaviour as quickly as possible.

Testing in Production – dangerous, scary or better?

We all run tests on safe, separate test environments. But what if let them loose on production systems? Is that dangerous, or is it worth the risk? This can seem daunting, but there are huge benefits. I’ll discuss some of the downsides to testing in isolated, unrepresentative test environments, before talking about my experiences of using Selenium to test in production as much as possible. I’ll demonstrate the benefits, like how we can turn automated tests into monitoring and early alerting systems for our production environments, and the steps we need to take to make sure our production tests don’t affect our users.

Testing in the world of IoT

Have you ever wondered how to test a light switch? Can you imagine it being one of the biggest challenges in your career? There are nearly six billion IoT (Internet of Things) devices. By 2020, this number may triple. Undoubtedly, it is a rapidly developing area of IT market.

I will take the participants for a journey to the IoT world. It will be a talk about the challenges that any tester will face at some point. I will present the dangers and snares but also good practices and practical approach to E2E test automation for the IoT solutions.

The main question is: how to test application for end user among so much hardware equipment? Technical examples will be presented using Python languages and supported by physical devices.

Test automation patterns – not only Page Object

First thing that comes to mind if you think about patterns in test automation is Page Object pattern. Almost all know it and almost all use it, but it’s not the only software development pattern, that you can use in your test automation suites making them flexible and maintainable.

I would like to focus on two subjects. First show how to extend Page Object pattern and design your pages using factories and using how use entities in your tests in order to facilitate your assertions and make them clear and meaningful. Beneath that I would like to present how benefit from command and builders in your test code.

Building Tests to Build Websites

Technologies like Squarespace, Salesforce, WordPress, or WIX are extremely popular for those who want to create a working website without necessary developer knowledge. In this talk, I would explore how Salesforce uses Page Object Model patterns to test its Communities platform which is used to develop websites for Salesforce users.

Throughout the talk, we will explore how multi-frame platform can be directly mapped to POM for Selenium Webdriver, and how client side code is developed to support this pattern.

The importance and complexity of these test framework is that it needs to be applicable for both platform and produced websites.

The Colorful World of Visual Test Automation

In agile software development world, we are dealing with many test tasks such as user story testing, exploratory testing, check-list based testing, regression testing, performance testing, security testing in each sprint. Besides these testing activities, one of the test types which is considerably getting crucial is visual regression testing.

Visual regression testing focuses on to check visual contents and animations, page layout, and responsive design of a website/app. Because of the limits of human vision, human-based visual regression testing is generally error-prone and cumbersome. Hence, automation is inevitable. It enables us to run the tests much more precisely in a short time period. Also, it saves us a significant amount of time to deal with other manual test activities in each sprint.

In this talk, we will walk through well-known open-source and commercial solutions for visual test automation. We will learn which technologies they use, what type of visual tests they are suitable for, and their major differences between each other. Besides this overview, we will also make a real-life visual test automation demo by using Selenium, ImageMagick, and AShot.

Google, quality and you

If you think about tests rather than corn flakes whenever you hear the term “Flaky”, this talk might be for you.

I’ll share some thoughts about the relationship between quality and culture, the battle of manual VS. automation, and the notion of test pyramid. In addition, I’ll describe how we bake quality into products and processes at Google.

Visual regression and integration testing on JS

We passed a rapid path from manual testing and automated tests in Java as a separate codebase, which was being developed by a dedicated QA team, to the functional tests in JavaScript which are versioned with a project source code and are being developed by project developers.

I want to tell you why we had to create our own testing tools Gemini for visual regression testing and Hermione for functional testing. What challenges we faced and how we solved them.

Now everyone can follow our footsteps.

Test State Pattern – For a Sane & Stable Automation

With more breaking points and less stability, E2E tests are very hard to maintain. The automation guild at WixEngineering have reduced the amount of flaky tests by utilizing what we define as the “Test State Pattern”, where every test transitions between states according to its behavior.

We will talk about the motivation, implementation and discuss how everyone can achieve the same.

Protractor framework – how to make stable e2e tests for Angular applications

Following topics will be covered during the talk:

– How to choose testing strategy?
– What patterns better to use?
– Protractor Tips and Tricks!
– Quick workshop and examples.
– Support tests and keep calm.

An easy way to automate complex UI

This talk is a brief overview of how we deal with UI test architecture on our project. Complex backend, SPA as a frontend, 20+ different brands and 100+ features for each, more and more code.

We will discuss:

– fakes and test doubles, approaches how to build and maintain them;
– development patterns, which help you to make your architecture more simple, stable and readable;
– tips and tricks – how to make your life with UI tests easier.

Automated API tests with Postman

This talk will explain you that automation of API is not a challenge and everyone even with basic knowledge of programming language can create his own automated regression list using Postman.

We will review what is API and how to test it in general. Also we will learn how to make a Postman’s collection of tests and how to work with an environment variables. You will see how to run an automated API tests from Postman and from a command line.

If you do not know what is API and how to test it, but you want to do it and you are on your way to testing API, then this talk is just for you.

The wild wild west of Selenium capabilities

Not all desired capabilities where born equal:

– Some were born in the world of open source, while others were born as vendor proprietary properties.
– Some are mandatory, and some are optional.
– Some are clear and deterministic, others are vague and require reading and experimentation.
– Some make it easy to change vendors without breaking a sweat, while some will lock you into a specific implementation.

In this talk, I’ll explore the tradeoffs that a tester can make, and also explain the vendor point of view of the wild wild west of Selenium capabilities.

End to End Test Automation for Both Horizontal and Vertical Scale

Test automation (TA) activity has become a key critical work to guarantee the quality of system under test (SUT) by driving test and also development effort effectively. To bring this efficiency to projects, companies are investing on TA projects in a more motivated way. The question here is how we should design the automation strategy to handle complex TA projects together effectively. It can be done by automating test scenarios as E2E (end to end). Vertical E2E TA consists of; automating Test Data Preparation Phase and Unit, Integration and UI tests. For horizontal E2E TA; UI and Integration test cases, which are automated, designed as integrated real user scenarios. I will tell about the prerequisites, principles and key factors to have E2E automated tests. And also I will share hands on experienced E2E test automation projects that Selenium was the key tool.

White testing magic

Many of you are doing THIS or suppose that doing. But at the testing conferences and meet-ups THIS is not acceptable. If this topic rises up, it is discussed quietly and almost in a whisper. There are people who decided to be in the opposition of THIS. But I was doing THIS openly for the last year and finally decided to share my experience.

This talk is focused on the method of White box testing. We will try to figure out what it is, how it works and why now it’s the best time to discard your prejudices and start using it.

I will talk about those parts of code where the most part of the bugs hidden, and why this method is one of the best ways of microservice testing.

Using Docker in test automation

Docker is a new and exciting virtualization technology, that allows individuals to get some great, easily scriptable and repeatable results. It’s especially exciting for development work flow, since it allows the developers and testers to have a lot of control over their environment without a hassle. However, since it is a new technology, this talk will talk about positive and negative sections of the new technology when applied to software development workflow.

Excuse me, sir, do you have a moment to talk about tests in Kotlin?

Do you remember why your tests are written in language X? Because the project is being developed in language X? It was teamlead’s decision? Do you know good libraries and tools for language X? Maybe it’s time to try to write tests in language Y?

Yes, the tests’ language may differ from the project’s language. And if you are using Java, there are reasons why your tests’ language can be Kotlin. Don’t be afraid, Kotlin is not a rocket science. I’ll tell you how the features of this language make it possible to spend less time on the tests’ support. How strong typing can be similar to the dynamic one. And why your favorite libraries will stay with you. And, of course, the main thing – how to start. Where possible, a comparison with Java and Groovy will be made.

If you do test automation or you develop in Java/Groovy – come to my talk.

Test UI with JDI: easy, simple and good

JDI is very powerful framework based on Selenium which realizes UI Objects (PageObjects + Typified elements) design pattern. We talked enough about it previous year on different conferences and want to do practical session this time, so each attendee could see how JDI helps to write test automation code faster and more clear, making test engineers to use best practices in test automation.

QA Livecoding Battle “Typed Element Framework (JDI) VS Untyped Elements Framework (Selenide)”

Why typed elements (like Buttons, Images, Checkboxes, Links etc.) are bad practice in UI tests? Or are non-typed elements (like SelenideElement for ´em all!) more evil? Is it better to have predefined Element hierarchy or not?

Alexei and Roman have delivered a sound theoretical battle earlier at Heisenbug-2016 Conference in Moscow. But were everything said just words? The both QA wrestlers are still standing behind their concepts and are willing to prove their point at live coding sessions before the judging audience! In this QA Battle the parties will solve problems using a typed framework JDI and an non-typed one – Selenide, commenting their actions. The audience will decide with their votes which of the concept was better.

ReportPortal.io – visibility of test automation status, metrics, AI in testing, open source

Report Portal – open-sourced tool for test automation reporting by EPAM. Build by test automation engineers. Every project spends time to build own reporting, it’s especially indispensable for test automation in distributed systems, for test automation with large number of test cases, the same as for a small teams.

Report Portal gives it out of the box. Full-featured reporting management tool with custom dashboards, widgets, metrics, customizable defect type, history and smart analysis based on Machine Learning.

It can give you not only one place for all your test automation results, but also reduce the effort of the team for result analysis. From this talk you will get not only introduction but also features review, tech specifics, comparison with competitors, benefits and advantages, how it could work for you and your project. And it’s free, it’s open sourced.

Selenide101 – Getting up and running with real web tests

As Selenium WebDriver is known to be a tool for browser automation and not for testing, we are doomed to use some testing frameworks to get efficient at automating web tests. But should every project reinvent the wheel? My answer is – “no!”.

Selenide (http://selenide.org) is a well-known matured (5 years old) web test automation framework with a large community, which has already solved almost every typical web automation problem. Just write your web tests in concise, easy to read manner, and concentrate on your business problems and not on taming your browsers.

In this workshop you will learn how to configure and start using Selenide from scratch in your project. While learning basics, we will be solving typical web automation tasks with real application exactly the way you would be doing it on your job!

Attendee should have basic understanding of Java, and how to write automated web test in general.

Better Bullshit Driven Development

BDD stands as Behaviour Driven Development and was invented to increase efficiency of ATDD by involving Business Analysts/Product Owners to write Acceptance Criteria in “ready to be automated by developers” format – Gherkin. Then customers and managers invented Bullshit Driven Development when had made automation engineers write both Gherkin and implementation of its steps just for one reason: make tests and their reports readable. This is a classic “hammering nails with a microscope” example, when engineers have to add additional limiting layers to test framework for no any valuable reason. Because… There is much simpler and more powerful way to make simple xUnit tests and reports readable. And in this talk we will learn how. How to implement common xUnit tests in BDD style and make everyone happy – test automation engineer, customer and manager. 😉

Software Developer in Test. Who is that?

Software Developer in Test is relatively a new role in IT. Industry got more used to the titles like QA, Test Automation Engineer, Developer… Still this kind of roles distribution shows poor effectiveness and brings such things like huge suites of end to end tests as a quality gate. If you want to implement test pyramid, you should consider of such a role in your team.

What skills should have this person? What challenges and daily problems does he/she face? Can he/she change production code? This talk is about all these and many others connected questions. Perhaps, after this talk you will reconsider daily quality assuring approach.

Locution: Grading Your Selenium Tests

Are your tests objectively bad? Do your tests fail for no good reason? Do you get qualitative analysis of your test suite after every run? Join Marcus Merrell as he presents a new test analytics service developed with Selenium guru Dave Haeffner. This service attaches itself to your test framework, and passively sends data and analytics about your tests’ behavior to a web service. Once your tests have finished their run, a report gives you an overall assessment of the stability, reusability, and overall health: it gives you a grade.

This talk will step through the core tenets of good test and page object design, locators, and a repeatable and quantitative approach for assessing your test code. When you’re done, you’ll be able to see how your tests and page objects stack up, and what changes are needed to help them stand the test of time.

This talk was composed with the permission and cooperation of Dave Haeffner.

Making your tests visible: displaying relevant test metrics in your projects

This is all about making the testing process and outputs visible to the project team and to the company as a whole. We’ll try to answer questions below to make sense of our outputs and give meaningful metrics to our stakeholders:

– Why do you need to display test metrics in a project?
– What do you need to display?
– How do you display them?
– Some common mistakes to avoid on your information radars.

Building a successful test automation architecture in a microservices environment

This talk is going to explain some good practices about testing microservices. In this talk I’m going to present my experiences in microservices as a tester and talk about general structure of testing, answering these questions:

– How is it different than a classical monolith approach?
– Keeping it simple, keeping it modular, keeping it seperated.
– Contracts and mocks.
– Utilising containers.
– Layering your testing strategy.

Design patterns in test automation

Design patters exist for years in software development. Some developers love them, some think they are useless. But design patters has very clear goals: describe common solutions for common problems, create shared language for community, improve understanding and reuse of existing approaches. Test automation has its own set of problems, so there is a set of helpful design patterns for this area. In this talk I will run through all known patterns and describe them in details with several practical samples.

Everything you want to know about Page Object design pattern

In this master-class we will review popular Page Object design pattern:

– what is motivation behind it?
– how to split application under test in Page Objects?
– how to simplify tests and increase code reuse with good implementation of Page Objects?
– how technically Page Object implementation works with PageFactory for elements initialization?
– when this pattern doesn’t work well?
– what frameworks and libraries could help with Page Objects creation?

All this questions will be answered during live coding sessions on realistic examples. Target audience is beginners and middle level, but some parts could look interesting even for experienced test automation engineers.

Start writing good functional tests in Java with WebDriver

In this master-class I will demonstrate how to start writing good functional tests using Java platform and WebDriver. We will cover JUnit basics, Java IDE usage, WebDriver API, good tests structure, approaches and techniques to make tests stable and reliable. All mentioned topics will be covered on real practical samples with live coding. Target audience is beginners and middle level, but some parts could look interesting even for experienced test automation engineers.

5 top pain points of test automation

Working in many companies as consultant, delivery manager or tech lead I have always seen the same mistakes made in test automation process. I could count successful cases on fingers of one hand. Sometimes people don’t understand the true value of test automation, sometimes just could not organize this process spending lots of money and time without any significant result. I want to share 5 top mistakes aggregated from whole my practice and solutions I recommend for them.

Fabulous tests with Spock and Groovy

How to stop writing code and start writing automated tests. Based on real story.

(Example of how to create simple, readable and powerful REST API test automation solution with Spock and Groovy)

Selenium tests, the Object Oriented way

When you are writing Selenium tests to check for elements on your page, by taking the classic approach (checking for each element’s properties at a time), you might get to a large number of assert steps. This increases the lines of code your tests have, make the tests difficult to maintain and tricky to read.

Wouldn’t it be nice if the actual checking part of the test would be small, perhaps one line of code? With the approach I am going to present, you can do just that. Hence your tests will be small and clean. All you will need to do is model the pages/modules/items by using an Object Oriented approach.

Automation testing in real Big Data project

This talk is about how to test integrations in advertising project with multiple NoSql solutions, billions ads every day in real-time, many relations with external projects, doing it continuously and really quickly.

Mobile environment management on Java

When we talk about mobile testing on real devices, it’s important to protect yourself against the challenges we may face during the environment maintenance.

Are you still wondering about how to automate the lookup process on real devices? Still struggling with manual Appium nodes configuration? And what about the tests’ scaling? Do you really think that sequential execution would be an option? But how to allocate the tests between real devices? And how to create platform-dependent pools?

This talk will help you get answers to all of these questions.

iOS Parallel Automation: run faster than fast

iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops – a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple’s new XCTest framework.

The automation community (Appium, Calabash etc.) faced a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework?

I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Facebash Approach based on multi-simulators, Calabash server and Facebook Web Driver Agent.

How does Java 8 exert hidden power on Test Automation?

Are you still wondering if it makes sense switching to Java 8? In this talk you’ll see useful practical examples of how new Java features in a combination with some powerful libraries (streamex, awaitility, moneta, lombok, joor, etc.) could make your test automation easier, drastically reduce implementation time and avoid reinventing the wheel.

Mobile Test Automation & Selenium: myths and tips

If you are using Selenium as your test automation solution and you are testing web applications; there is a good chance that your company also has at least one mobile application. The common sense tells us that Selenium cannot be used for native apps for mobile, but with the times changing you’re probably asking yourself if you can at least use your Selenium skills with mobile test automation as well; the answer is a big “yes”.

Beyond any doubt, whether you establish a solid mobile test automation framework yourself or someone does it for you, it will bring many benefits. Some of the most critical ones include: a powerful foundation to cope with the mobile testing challenges and a systematic approach to shorten the time-to-market delivery by supporting the quality of your mobile products in preliminary stages.

My session mainly focuses on the challenges of mobile test automation (device variety, platform/OS diversity, operator/carrier issues, choice of native vs. HTML 5, emulator vs. real device testing and etc.) and it will guide attendees to practically utilise the solutions as Appium & Selendroid based on their experience on Selenium.

Asynchronous Selenium: how to survive JS testing

JavaScript is a trending and one of the most popular language in the world. What makes it different from others? It’s asynchronous. This have its benefits for development but for testing it brings only downsides. Every single operatin in Selenium requires a promise, writing and hanling those promises can become complete disaster. What asynchronity is, how to write sane tests with it?

We will try to review approaches to managing async nature of JavaScript. We will also take a brief look into different Webdriver tools for JS (Selenium Webdriver JS, Protractor, webdriverio, Nightwatch, CucumberJS, CodeceptJS) and how they can be used for testing.

Test trend analysis: towards robust, reliable and timely tests

In this talk you will get ideas about how you can instrument test result information to provide actionable data, paving the way for more robust, reliable and timely test results.

By capturing this information over time, and when combined with visualization tools, we can answer different questions than with existing solutions (Allure/CI tool build history). Some examples of these are:

– Which tests are consistently flaky.
– What are the common causes of failure across tests.
– Which tests consistently take a long time to run.
– Using this information we can move away from the ‘re-run’ culture and better support continuous integration goals of having quick, reliable, deterministic tests.

TestNG vs JUnit 5 battle

In this talk we will compare two most popular test frameworks. There is a holy war among test automation engineers which framework is better to use for building test automation. The brand new JUnit 5 against old and beloved by many engineers TestNG. The main idea is to shed the light on useful features of both frameworks as well as shortcomings.

SoapUI: one key to all doors

This talk is about ways how use SoapUI tool for:

– Test Design.
– System testing and Integration testing.
– Test cases management.
– Continuous Integration.

All practices will be described with focus on REST services testing.

Visually informative test reporting for distributed tests

As we are moving into the agile world, continuous integration has a major role to play. So how do we cater for a complete test on every sprint or every release? We can use Selenium for Test Automation. When we use a continuous integration approach it would be helpful to use Selenium Grid. It allows you to run your tests on different machines against different browsers in parallel. Essentially, Selenium-Grid supports distributed test execution. This helps you to run your automated tests on various different machines, operating systems and browsers at the same time. This saves time and would help to run your testing in a nightly build.

Extent Reports will go hand in hand with Selenium Grid as it will help you retrieve all test results including Test Evidences into a comprehensive report. This talk is a quick guide on how to use Selenium. With details on how to create HTML reports (with latest plug-in) which will give an understanding of test execution results for both technical and non-technical people. The highlight of the talk will be on Selenium Grid which permits users to run Selenium test cases on various operating systems and browsers from a specific hub. We will cover quick demonstrations on main browsers used in the industry such as Firefox, Chrome and Internet explorer. There will also be a full demo of how to use with JUnit, TestNG and more.

Advanced test automation techniques for responsive apps and sites

Responsive web design has become the preferred approach for building sites and apps that provide an optimal viewing and interaction experience on any phone, tablet, desktop or wearable device. However, automatically testing these responsive sites and apps can be quite a challenge, due to the need to cover all supported layouts, their respective navigation, and visible content.

In this session we will implement a complete Selenium-based automated test for a popular responsive website from scratch. You will learn how to effectively design responsive page objects, implement generic tests that work for all the layouts of your app, control the browser’s viewport size in order to accurately target layout transition points, incorporate layout-specific assertions in your tests, and visually validate the correctness of your app’s layout​. We will also share tips and best practices for test planning and execution.

Extending GitHub Flow with practical testing

When team is working on a project, they are going to have a bunch of different features or ideas in progress at any given time – some of which are ready, and others which are not. GitHub introduce flow how to release this features with all steps of development. I’m going to share full working approach how to extend Github flow with practical and automated testing elements and full continous integrations improvements. I am pleased to share with you my acquired experience on real world projects with Github flow and high quality of products.

Creation automated tests for Windows desktop applications using TestStack.White

White is a framework for automating rich client applications based on Win32, WinForms, WPF, Silverlight. It is a free, open-source framework, which can provide competition for commercial test automation tools for Windows. Also, it is great to use this framework with WebDriver for creation integration test on huge software solution which contain web and desktop parts.

Q&A panel with conference speakers

On this Q&A panel everybody will have a chance to get an answer on the most interesting questions from our top speakers. It is always the most useful and interactive part of the conference.

Statistical Element Locator

In this talk we will delve into the biggest challenge that Test Automation developers face, finding elements robustness i.e. finding elements while the Application Under Test keeps changing. We’ll categorise methods, and show where developer fall, where machines fall (Record/Playback), and suggest a new way for locating elements, and analyze the skill-set required to overcome those difficulties.

Good tests change your application

There are various approaches to write automated tests: unit tests, API calls, Selenium of course. I want to show how to perform the same checks on various application levels and what changes are required to make it possible. We’ll write together Ruby on Rails application and adopt it to our needs. Ruby knowledge is not really required to understand the presentation: only your desire and engineering attitude.

Painless cross-platform UI acceptance testing as a part of CD workflow

In this talk I’ll share our successful experience of building reliable and scalable cross-platform automated acceptance test suite for a product called Citrix Concierge.

The product is built on a top of micro-services architecture. So, we will start from a brief introduction to a test strategy that was defined for this product. Then we’ll dig a bit more into acceptance testing and cover such topics as architecture and implementation of cross-platform acceptance test framework. Also, we I’ll show how we’re doing implementation of isolated tests, parallel execution, running at a scale using docker, etc.

We’ll be talking about technologies like: ruby, cucumber, rspec, capybara, appium, selenium webdriver, factory_girl, browsermob-proxy, faye.

The Mobile Grid – Getting Started

In modern times we have many different cloud testing services to choose from. These cloud services are useful and help reduce the burden of building and maintaining your own Selenium Grid environment. However, there are many scenarios in which you need your tests running locally, such you work for a government (or agency) and cannot expose your data to the cloud, or the service costs are too expensive to run all tests on every commit.

This presentation will feature getting started with setting up your own mobile device grid. Running your tests in parallel and distributed, capturing critical report data (logs, screenshots, and video), and leveraging cloud test services (such as SauceLabs). I will also talk about the challenges and lessons I learned along the way.

Gathering metadata to help test better

Everyone knows about that one flaky test, or that one slow test, but no one ever fixes them. I will talk about how gathering metadata about your test runs can teach you about your tests, and help you test faster, smarter, and better. I will give examples from several years on the Developer Infrastructure team at Google, supporting the running of tens of millions of test cases using Selenium (and many more without) every day.

Effective UI tests scaling on Java

In this talk we’ll cover deep technical questions to get better understanding of some common issues and pitfalls we could face with while functional tests scaling:

– Static context: friend or enemy?
– Accurate Selenium Grid nodes’ identification: how to run tests on particular configuration?
– Generic DataProvider: how we can safely manage test data?
– Object pool: how to distribute unique entities between tests?
– Support tools: rebooting remote services and advanced screenshots processing.

You could find more information about this talk here.

Scaleable, PaaS Selenium Grid with Docker

The Selenium Grid is a vital piece of infrastructure for any serious Selenium WebDriver test automation solution. Many organizations find the setup and maintenance of a Grid a difficult and expensive task. While outsourced solutions exist, they are too slow for any real professional Continuous Integration or Continuous Delivery workflow, and are expensive.

The Selenium Docker project provides a very easy to setup, deploy, maintain, and use solution for running a Selenium Grid on Docker supporting Firefox and Chrome on Linux. This talk will present how to use the Selenium Docker project, how to implement it as a PaaS solution, how to connect to Selenium Docker VMs and watch a test running for debugging, and extensions such as video recording.

Test Automation for non-Web or Mobile apps with LeanFT

Selenium and its cousin Appium provide a powerful, open source solution for Test Automation for Web and Mobile applications, but what about native Windows apps, fat-client Java apps, fat-client C#/.NET apps, SAP, and other platforms?

HP’s LeanFT provides a powerful, standardized format for coding Automated Tests for Web applications, iOS and Android applications, SAP, .NET Web Forms, WPF, and Java applications in Java or C# that closely follows the Selenium/Appium paradigm: objects on the screen are identified via a locator, then can be queried for their content, type into, clicked on, etc. It is integrated into Eclipse and Visual Studio (with an IntelliJ version on the way), and provides an easy to use Object Identification Center for creating and embedding locators.
For anyone familiar with Selenium WebDriver or Appium Test Automation with Java, LeanFT provides an easy route to testing many different types of applications.

Autoscaled Distributed Automation

This talk will cover the key pain points of UI automation: Speed, Reliability and Monitoring!

From speed perspective it will be about the means to achieve distributed execution of UI automation using AWS and Selenium Grid aka Autoscaled Distributed Automation with the goal of “Running all the test within the time taken by the slowest test case”. This is something we implemented and currently running all our 9000+ UI tests round the clock as part of our pipeline.

I will also cover key learnings on how we achieved reliability with UI automation, how and why we are focusing on reducing the overall UI Test Cases. Moving away from having 100+ jenkins job to only very few, storing UI results into MongoDB and NodeJS based reporting for easy monitoring of results!

Time to mock back-end!

In this talk I want to show how to do automated testing of Web UI front-end faster, more reliable and accurate. Without back-end. With mocks. Is that possible? Let’s talk about this!

Applications are becoming more and more difficult for testing. It’s a time when we all must forget about the black box and the complex functional scenarios. It’s time to become real engineers.

Using WebDriver for automation testing of Web Players

Your web application use Web Players for showing Video, 3D objects, Flash,Flex or Unity 3D applications in browser? You can not configure Web Driver for access to UI Controls of your online Flash or Unity 3D game? Well, in this cases the best idea is to use Computer Vision technologies, and to connect Computer Vision framework with Web Driver.

OpenCVSharp is a free .NET library which give you opportunity to detect UI elements with help of image recognition algorithm. Using OpenCVSharp and Webdriver allows you to create test automation framework which can work with UI HTML elements of your web page and UI elements of your application which loaded in Web Player – Flash, Flex, Unity 3D – etc. Also, the above solution can be used for automation testing of web applications which connected with 3D graphics, Video, GIS, Games etc.

Used technologies: C#, OpenCV, WebDirver, WinApi32.

Using Selenide on C# .NET

How many of us, C# engineers, dreamed of an extremely easy and really effective Selenium based framework/library? Like Selenide in Java. 😉 It happened that it’s not a big deal just to run Java Selenide on .NET via JNI. In this talk we will see how Selenide runs on .NET and what are the specifics based on its real usage in production. We also will get familiar with the tool that make all this possible – jni4net, and share experience of its usage to port Selenide, all the pros and cons.

REST API autoscalable automation

When you’re facing with an open API testing, you know that the testing itself is not a single problem. The main goal of this report is to share an approach of autoscalable testing with a bonus in automatic documentation generation. Java 8, Junit, Allure report are used as a tool set.

Grid Router – scalable and fault tolerant solution for grid

On the size of hundreds or even thousands browsers, stock Selenium grid works unstable and slow. It doesn’t scale and doesn’t provide fault tolerance.

In Yandex for many years we used client side balancing over multi-hub installation to solve these problems. It was easy when only testers did testing, when they used the same jUnit approach and ran tests in the same environment (our AQuA framework). But when developers joined testers and brought their JS and Python frameworks, we realized that client side approach doesn’t work for Yandex as a whole.

In 2015 we introduced Grid Router solution.

– It works like hub for tests.
– It provides fault tolerance and scales infinitely.
– It uses only stock Selenium packages.
– It works in a cloud and includes specific strategy for hubs in the cloud.
– It is open-source.

In almost a year of using and tuning we found out a lot about our solution, got an interesting and wide experience in setting up browser instances including IEs and mobile browsers and keep moving.

In my talk I want to dig into details of Grid Router solution, share our experience and plans.

Ideal test automation process or the full story about test pyramid

Everybody knows about test pyramid. It is always used on slides about test automation and presented on different conferences. But understanding test pyramid and its layers is not enough. There are more important questions: “how to find right balance for particular project?”, “how to build this pyramid from scratch for already running project?”, “what to do if you are limited in time and resources?”, “how to measure if your pyramid is good enough?”. In this talk I will bring some more “secret ingridients” on the table to make test pyramid concept really useful.

Selenide Alternative in Practice: Implementation & Lessons learned.

In this talk we will go deeper into specifics of porting Selenide from Java to other langauges using Python as a sample. We will make an overview of architecture and some tricks that make it effective and fast enough. Based on the presented information you will understand deeper how selenide-like wrappers work so you can implement it yourself for the language that still has no Selenide alternative. 😉 You also can use these ideas to enhance your current selenium based framework.

Selenide Alternative in Python: Introducing Selene

Fortunately today we have really easy and effective tool for Web UI Automation – Selenide for Java. In other languages the sky is not so blue and clean. 🙂 But world is changing and today we are meeting Selene – its alternative in Python. Selene also gathered ideas from other popular selenium framework in Java – htmlelements, which gives ability to construct your own custom elements in addition to simple WebElements. In this talk we will define the key features that make an abstract selenium wrapper really effective and will see how to use them with Selene in Python.

Scaling xUnit Test Runners

xUnit test runners are one of the basic capabilities of rapid iterative development practices such as Continuous Integration and Test Driven Development.

I will explore how test runners are generally implemented in modern programming languages like PHP, JavaScript and Ruby. With this foundational knowledge in place, I will then discuss test runner features and how to implement them when they are missing from the local language/platform xUnit framework.

Topics covered in depth will include:

• How to get the output you want from your test runner: JUnit.xml, JSON, TAP and even emoji!
• Instrumenting your test runner to get granular timing and debugging information.
• A real-world example of adding functionality to a test runner.

Oracles in real time: data visualization on the command line

Test Oracles address a mutex problem that is faced by all teams who *successfully* practice continuous deployment. The problem test oracles address is: once your tests have run, and you have the results, how do you know what that means? In other words, what are you testing? What do your tests tell you? How do you know what you know?

Command line tools provide powerful data analytics when applied to a mature CI system and deployment pipeline. Such systems are known to be opaque — but the GNU/bash command line environment is powerful enough to solve those problems (with a little help from HTML5!).

A healthy CI system and deployment pipeline will naturally accrue a wealth of filesystem artifacts which can be mined for Test Oracles using command-line tools. Topics covered in depth will include:

• JSON testing and transformation with jq.
• Jenkins monitoring tips.
• Network analysis tools for Selenium developers.
• Visualizing xUnit test runner output.
• Analyzing your captured screenshots.
• Tips on introducing new dashboards to your team.

By providing yourself and your team not just with data but with actionable oracles, you will discover new reservoirs of activity that can safely become automated-rather-than-manual work.

Make Your Automation Groovier

In this talk I want to compare typical tasks performed by test automation engineers, and their implementation in Java and Groovy. The main message of the report is to show the participants the tools and libraries that will allow test engineers to be more efficient and to solve typical tasks in a short time. Working with files, working with Json and XML files, creating customers for REST and SOAP services – all of this can be simplified by using the flexibility of Groovy and reliability of Java. This talk will be interesting and helpful not only for test automation engineers, but also for people from the manual testing, because they will learn about the simple and reliable tools that will help them to solve daily routine tasks.

Practical continuous quality gates for development process

There are a lot of books and publications about the continuous integration in the world. But in my experience it’s difficult to find information about how to open quality gates between automated tests and to continuous integration practice to in your current project. After reading several articles and even a couple of books you will understand how to work with it. But what next? I will share with you practical tips and tricks on how to lift iron curtain to your automated tests before a continuous quality practice today. It is for this reason why I am pleased to share with you my acquired experience in my presentation.

Appium: Mobile Automation Made Awesome

The tools and practices refined over the last decade by web developers have not crossed over easily into the mobile community. Mobile devs have been without tools like continuous integration and automated testing, which enable delivery of high-quality apps more rapidly. A key piece of the solution for mobile is Appium, an open-source, cross-platform, language-agnostic mobile automation framework you can use to write automated UI tests for Android and iOS apps (native, hybrid, web), to be run on emulators or devices.

In this talk we will explore the philosophy that underlies the work behind Appium, including the open-source nature of Appium’s diverse, active and friendly community. Then, after a brief explanation of the technology that powers Appium, we’ll move into the technical portion of the talk, where attendees will see easy it is to write Appium scripts using the WebDriver protocol in their favorite language.

Ultimately, the talk provides an argument for moving from manual QA to automated testing for mobile, an understanding of the mobile automation landscape, and a solid introduction to Appium, which leading projects and companies around the world have chosen as their mobile automation framework of choice.

Advanced Automated Visual Testing With Selenium

Automated visual testing is a major emerging trend in the dev/test community. In this talk you will learn what visual testing is and why it should be automated. We will take a deep dive into some of the technological challenges involved with visual test automation and show how modern tools address them. We will review available Selenium-based open-source and commercial visual testing tools, demo cutting edge technologies that enable running cross browser and cross device visual tests at large scale, and show how visual test automation fits in the development/deployment lifecycle.

If you don’t know what visual testing is, if you think that Sikuli is a visual test automation tool, if you are already automating your visual tests and want to learn more on what else is out there, if you are on your way to implement Continuous Deployment or just interested in seeing how cool image processing algorithms can be, this talk is for you!

Frameworks-shrameworks or how to ruin your test automation

Almost every test automation team invent their own framework. They put lots of efforts and time to build and polish it adapting to all possible situations. Most of them finish with a garbage that require continuous support or huge gap in test coverage because time was spent on framework instead of tests themselves. I’m quite sure nobody needs a framework in the first place. Instead we need quick, reliable, simple tests that work and provide good quality gates for our development process. Framework could be introduced in more natural way when it is really needed and could solve existing issues or improve something. I will demonstrate on the practical examples how to go with evolution approach using Selenium/WebDriver.

How to make your functional tests really quick

Functional tests are usually the slowest layer of automated tests for almost every product. They use product via UI, store data in real DB, integrate with external services and do other “slow” things. The first easy answer how to make them fast is to run in parallel. But in reality tests depends on the same data and intersect by some common functionality. In this talk we will review useful techniques and approaches how to win this battle.

Getting maximum from testing automation

I am going to show what a huge benefit automation can bring, how to analyze issues that can occur on the way to success, overcome them and what we can do to get clear statistics and the best test results with a maximum profit for a project. I would like to share my own experience in test automation on a long term project where automation started two years ago and where now we have more than 5000 complex tests run per night including web, mobile web versions of the application and Sanity, Regression, Smoke sets.
I am going to talk on how automation started, what difficulties occurred with the increase of the test amount and what steps can be done to get a maximum profit with minimum investments of time for test support. Also, I would like to tell you about fast debugging of failed tests, and what reporting we need to have to make a customer happy.

Architecture of automated test cases for legacy applications

In this talk we are going to highlight the architectural approach for test-driven automation we’ve successfully used in a number of legacy enterprise projects.
At first, when we got a legacy project to automate and a big team of testers, we’ve used the traditional way – automated on test-by-test basis. The results were lower of our expectations – we’ve missed the deadlines and we’ve encountered a number of problems on the way:

  • different testers covered similar functionality in a different way, so we’ve got a lot of duplicated code;
  • a method reused by different people sometimes turned out to be huge;
  • the quality of manual test cases used as input was low, customer team feedback usually was delayed or missing, which slowed down automation in particular cases.

After first failures, we’ve came up with an approach that allowed us to avoid these problems in all following automation projects.

REST Assured: The way to speed up your tests

I want to talk about the automation of testing of REST services. Almost all modern applications use RESTful architecture. And this is pretty handy for the end user. Also this approach gives us additional space for automated testing. Let’s discuss this from basic concepts to real examples.

High performance functional tests based on Selenium

“Time is at once the most valuable and the most perishable of all our possessions”. Correspondingly we must know how to improve a quality of the project in the limitted timeframes. The goal of my presentation is improving an execution time of automated functional tests based on Selenium Webdriver, by using, for instance, parallel execution, scaling by distributing tests on several machines, creating strategy for generation of big sets of test data for typical project. I am pleased to share with you my acquired experience in this field.

Teaching automation. How big companies do it.

Basically there are two types of people – those who can automate and those who can not. Shortly I move folks from “can not” to “can”. I’ll share my experience in hiring candidates, teaching automation, organizing trainings and selecting the right people. I also plan to show you how big companies build an education process and why they can’t act like small market players. My presentation is not about “behold our perfect process we’ve built and proud of”, it’s mostly about “these are problems we faced with and that’s how we decided to solve them”. I also expect a vivid discussion in questions and answers section.

Bullshit driven development

BDD seems to be a nice idea. But I have never seen it really working.
The original idea behind BDD was collaboration with customer, and it simply does not work. What we get instead:

  • Frameworks that make tests much more complexer.
  • Tests structures that make tests much more harder to write.
  • Organization structures that make learning much more difficult.
  • Beautiful reports with screenshots that nobody reads.

Let’s talk about real cost of BDD and consider if it’s worth it.

Hermetic environment for your functional tests

What are the most common problems with testing environments?

  • You are not the only one who is using it.
  • Test failures are not repeatable.
  • Test data can be easily messed up due to tests overlap.

Those problems are introducing flakiness in your tests, increase frustration level and decrease confidence in quality of a product you are building. Forcing your development team to have a testing queue increases delivery time dramatically. Creating zillions of environments does not sound as cheapest solution either.
At Spotify we experimented with different approaches on how testing environments can be configured: from shared environment to mocks, stubs and hermetic servers. During my presentation I will share the lessons we learned, what worked, what not and what is the direction we are pursuing in order to stabilise our testing suites.