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

Archive for December, 2016

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.

Leonid Rudenko

Leonid has been doing test automation in Web for about 7 years. In Yandex he lead a group which was responsible for test automation of Search interfaces. In JetBrains he works on integration testing of Team Tools.

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.

Roman Iovlev

Roman has been worked in QA for more than 11 years. He is really interested in testing including all aspects and very glad to share his experience with others. Test automation helps to be on the edge of modern IT and optimize routine work, so Roman also tries to develop useful tools and frameworks in order to simplify his work and work of people around him.

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.

Dzmitry Humianiuk

10 year in IT. Project Manager with development in a past. 4 year of experience with huge test automation. Report Portal Product Owner.

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.

Alexei Vinogradov

Alexei has been working in various IT projects in Germany for more than 15 years. He consults about quality assurance, test automation and about how to keep calm and be a good tester. Developer of Selenide. The founder and moderator of Radio QA podcast.

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. 😉

Iuliia Iliukhina

IT Engineer with more than 18 years experience in software development, support, testing, writing documentation (mostly specialised software for manufacture planning & accounting). Last 2 years works in Automician on Web UI Automation projects, opensource libraries development, and training students in Test Automation.

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.

Tymofii Sukhachov

10 years in IT. Has plenty of hands on experience in test automation. Feels perfect being a half developer and a half QA engineer.

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.

Marcus Merrell

Marcus has been in QA-related jobs since 2001, starting with Web Service testing and taking on UI testing using QTP and then Selenium. In the last few years, however, he’s broken into the world of feature-driven software development as an Engineering Manager at RetailMeNot, inc. He’s an avid piano player, plays bass for the RetailMeNot house band the WailSharks, and enjoys life in Austin, TX with his wife and two crazy boys.

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.

Alper Mermer

Alper has been testing software for about 10 years. Worked in various verticals like finance, telecom and online retail. He is a quality freak who is obsessed with details and questioning. He has been hosting the QA community Test Hive for about 2 years with regular biweekly events in Istanbul, Turkey and Manchester, UK.

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.

Yaroslav Pernerovskyy

10 years in IT on different positions related to Software Testing. Main focus now is Test Automation in Agile environments.

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.

Alexander Chumakin

Back-end QA specialist in ride sharing startup. Many years of experience with GUI automation tools and BE approaches.

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.

Viktar Karanevich

self.introduce =>
name: “Viktar Karanevich”,
title: [“SSTAE”, “SSDET”, “SQAAE”],
languages: [“Java”, “Ruby”],
experience: “iOS Automation 7+ years”

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.

Sergey Korol

Sergey is a QA Automation Geek and Java fan with over seven years experience in Software Testing. He has a strong expertise in raising up automation processes from scratch. AT.INFO contributor and editor. Consultant, mentor and speaker. At the moment Sergey is leading key projects in Silicon Valley working at Waverley Software.