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

Archive for November, 2015

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.

Anton Sirota

Anton is a QA Automation Lead in DataArt. An active speaker on DataArt’s QA Talks and QA School. Has built a successful strategy of test automation on a project and has led a team of 4 people. Has successfully built a framework for Mobile automation and has experience both in Java and C#. A mentor, teaching interns in the company and leading them to be Junior Test Automation Engineers. Was directly involved in the creation of Trainee programs in the company. Also, Anton has created and supervised the in-house company automation course – Thucydides.

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.

Mykhaylo Vasylchenko

Expert in automated testing with 8+ years of experience in automation frameworks development, teams creating and leading. Developed automation frameworks based on Java/C# languages using different tools like: Test Complete, WebUI test studio (Telerk tool), VS 2010, Jmeter, Robot framework, Selenium, Lisa ITKO, Soap UI. Since 2013 managing QA automation team for DIRECTV legacy applications.

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.

Alexey Zvolinskiy

Scala, Java developer and test automation engineer. Mathematician, programmer, wrestler, last action hero…

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.

Andrii Soldatenko

Andrii boasts expertise as a Python and Ruby developer with strong hard and soft skills. He has deep knowledge of automated-testing and really understands how to assess and improve project quality. Andrii likes to solve difficult tasks, algorithms and take part in sport programming competitions. Also he is interested in databases and *nix based operating systems. Now he is working as Python Developer under creation of social network on Toptal and also as Test Automation Lead in several in Wargaming.net.

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.

Vitali Shulha

Technical trainer, experienced in test automation and common engineering practices. Currently a head of Test Automation Lab in EPAM Systems. This is a place we build Junior Test Automation engineers from students. Organizer of Test Automation Talks in EPAM.

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.

Why testing take so much time?

Most of you work by iterative development approaches and regression testing is done in each iteration (at least I hope so). And quite frequently we see following picture: in one iteration testing is finished in time, but in the next one it is only 50% completed. WTF? We added small increment of functionality in this iteration! From such incidents managers (if you still have them) start to “analyze and tune” performance of testers. They usually use stats and metrics… May be some testers are fired during this process… Or new “more performant” are hired… But situation continues to happen again and again. In this talk I will try to show why testing is really slowed down and how to fix it.

Selenium and the Four Rules of Simple Design

We are automating web applications using Selenium WebDriver. It is easy to get started with automated tests. It is harder to maintain an automated test system. The Entropy increases with time and different developers/testers; your once beautiful crafted test code may end up unrecognizable.
The cure for this is to apply the Four Rules of Simple design while you maintain the tests. The rules, as suggested by Kent Beck are:

  • Test pass
  • Express intent
  • No duplication
  • Small

Thomas will take a test suite for a web application and by following the Four Rules of Simple design, transform it step by step into something that is easier to maintain.
This will be a live coding session with a lot of refactoring. All steps will be small and you will therefore be able to follow even if your main profession isn’t writing code. After this session, you will know that even the most horrible test code is possible to clean up just be slowly transforming the code in small steps.

Thomas Sundberg

Thomas Sundberg is an independent consultant based in Stockholm, Sweden. He has a Masters degree in Computer Science from the Royal Institute of Technology, KTH, in Stockholm. Thomas has been working as a developer for more than 20 years. He has taught programming at The Royal Institute of Technology, KTH, one the leading technical universities in Sweden. Thomas has developed an obsession for technical excellence. This translates to Software Craftsmanship, Clean Code and Test Automation.
Thomas is a frequent speaker at different conferences and developer venues. Thomas runs a blog where he writes about programming, Software craftsmanship and whatever problem he wants to share a solution about. It can be found at thomassundberg.wordpress.com.

Developing for Selenium Grid

This technical talk will focus on inner workings of Selenium Grid. We will discuss the structure and design of the code and walk through the key classes describing what they do and how Selenium Grid works in the background. If you wish to contribute to the Selenium Grid project, or write custom extensions for personal use, this session will bring you up to speed on everything you need to know to get started.

Practical Tips & Tricks for Selenium

Have unanswered Selenium questions? Want to learn how to use Selenium like a Pro? Join Dave as he steps through the best and most useful tips & tricks from his weekly Selenium tip newsletter.

Good test = short test

“Any fool can write code that a computer can understand. Good test enginners write code that humans can understand.”
In this talk you will see live coding session. With WebDriver and Selenide library we will create tests for some public and well known services like GMail, github and internet-bank. Tests will be clear and short, Page Objects will be very object oriented.
Also new features of Selenide for the last year will be covered with details about how they could make tests writing even more effective: events logging, profiler for slow tests monitoring, ability to use proxy server, automated screenshots, etc.
Stop spending time on screenshots, lets start doing effective testing!

Andrei Solntsev

Andrei is a software developer with 15+ years of experience in enterprise software development and automated testing. Author of selenide.org – open-source library of concise UI tests. Active speaker at conferences and communities. Aggressive fan of clean code, XP, automated tests and TDD.

Making Watir and Cucumber an efficient tool for complex Web UI Automation

There are many Web UI Automation Frameworks in the open source market, even too many. A lot of people have a question about framework choice and often create their own bicycle. Many look into Python and Java, but omit solutions based on pure Ruby Cucumber. Having such powerful tool as Watir Webdriver and Page Object gem for Ruby it is possible to construct very robust Test Automation solutions with Cucumber. In this topic I will try to cover one of such solutions, seeking for more adopters, supporters and followers.

Ruslan Strazhnyk

Ruslan has worked with Selenium since 2008, has large experience in testing, especially with testing automation of web applications and complex web based products. At the moment he works on nCryptedCloud project (data security for cloud providers Dropbox, GDrive, The Box). In the past Ruslan also developed testing frameworks on Python and performed load testing with JMeter, now switched on Ruby and Cucumber.

Webium: Page Objects in Python

Out-of-the-box WebDriver API provides two main classes: WebDriver and WebElement. Webium library helps you to extend it to whatever deep UI object structure you need. You can describe basic elements (e.g. Button, Input), construct complex elements (e.g. Calendar) from small pieces and at the end put it all together into your Page Objects. Webium is free and open-source. In my speech I’ll present your how to use it effectively if you want to write Selenium tests in Python.

Using Selenium Successfully

Already have some Selenium tests running on your local machine but aren’t sure what to do next?
In this session Dave will show you how to build a scalable testing infrastructure while also making your tests more useful — by implementing robust failure reporting and increasing test speed with parallelization.
Takeaways (How to):

  • Build an integrated feedback loop to automate test runs and find issues fast
  • Setup your own infrastructure or connect to a cloud provider
  • Dramatically improve test times with parallelization
  • Navigate the Selenium landscape to find information on your own

Dave Haeffner

Dave Haeffner is the writer of Elemental Selenium — a free, once weekly Selenium tip newsletter read by thousands of testing professionals. He’s also the creator and maintainer of ChemistryKit (an open-source Selenium framework), and author of The Selenium Guidebook. He’s helped numerous companies successfully implement automated acceptance testing; including The Motley Fool, ManTech International, Sittercity, Animoto, and Aquent. He’s also a founder/co-organizer of the Selenium Hangout and has spoken at numerous conferences and meet-ups about automated acceptance testing.

Tsung — powerful tool for powerful load testing

Tsung (formerly IDX-Tsunami) is a distributed load testing tool. It is protocol-independent and can currently be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers. I try to tell about positive and negative sides of using tsung, also how to install and configure it for individual needs.

Artem Kalantai

Artem works in IT from 2006, have extensive experience in test automation. In particular functional testing using Selenium/WebDriver and load testing using JMeter and Tsung.

Elephant grooming: quality with Hadoop

Good software quality matters. How about Big Data and Hadoop? Every day we process large amount of medical information, population scale. Any question why we pay attention to quality? Let’s disclosure some points based on our practical cases.

  • Quality assurance in Hadoop: fears and reality.
  • Practical options for testing infrastructure.
  • Test strategy specials.
  • Lowering verification efforts.
  • Growth driven development: verification at scale.
  • I want better elephant: current gaps.

Roman Nikitchenko

Embedded Telecom system engineer with more than 20 years of experience who has moved to enterprise Java area and quickly became leading Big Data solution architect with unique combination of knowledge. Current primary technology stack includes Apache Hadoop, HBase, ZooKeeper, Spark and is growing very fast. Ability to account many aspects of Big Data currently not so visible for normal enterprise Java architect because of previous history makes the difference.

Testing Web Analytics

Web Analytics is a large and growing topic within the web development community, but not enough attention is paid to testing them. Analytics allow you to analyze hundreds or thousands of tiny events in order to tell a story about how your users behave on your system: but what if they’re wrong?
We will cover the basics of how analytics are being used in the industry, along with suggestions for how to use Selenium, BrowserMob Proxy, and other tools to make sure the story you’re trying to tell is being told accurately.

Marcus Merrell

A test architect at RetailMeNot, Inc., Marcus Merrell has written UI and API test frameworks for several products since 2001. Marcus is obsessed with code design and holds sacred the philosophy that test frameworks should be approached, developed, and tested just as carefully as the production software they seek to examine. This has led to code that is at once simple and sophisticated “API” for testers which is reusable, interface-agnostic, and universal to any problem.

How to level-up your Selenium tests with Visual Testing

Over the past couple of years, visual testing has been gaining increased attention from the dev/test community as evident by the explosion of related open source projects. The impossible variety of devices, web-browsers, and screen resolutions as well as the adoption of agile and continuous delivery/deployment practices are forcing developers to automate more and minimize human involvement in the test execution process. Companies big and small are adopting visual testing tools to automatically validate the correctness of their UI.
Nevertheless, many practitioners strongly believe that automated visual testing is impractical and leads to flaky, unstable tests and a maintenance nightmare.
In this talk we will explain in depth what visual testing is, and how you can use Selenium along with other open source and commercial tools to perform automated visual testing and achieve a fully automated continuous delivery/deployment process.
Throughout the session, several demos will be given showing how to add automated visual UI validation to your Selenium tests using various tools.

Moshe Milman

Moshe is the Co-Founder of Applitools – a cloud service for automated Visual Testing. Before starting Applitools, Moshe worked as the VP of Professional Services and Sales Engineering at Wave Systems (NASDAQ:WAVX) and VP Operations at Safend. Prior to Safend, Moshe also worked for Amdocs (NASDAQ:DOX) as test automation expert and Sat-Smart Ltd. as a engineering team leader. Moshe holds a Bachelor’s degree in Information Systems from the Technion Israel’s Institute of Technology and MBA from IDC.

Helpful Automation Techniques for Mobile and Web

My talk will be about helpful automation techniques to reduce test flakiness, shorten test times, and work around framework bugs. I will be discussing the following topics:

  • Utilize REST to shorten test time and reduce flakiness.
  • Framework you’re using has a bug? Use the Selenium API as a work around!
  • Proxy your way to shorter test runs without full integration tests.

Justin Ison

Justin is a QA Lead at 6Wunderkinder, the makers of Wunderlist. He has over fifteen years experience working in Software Quality Assurance, with the last five primarily developing server, web and mobile test automation. Justin is passionate about automation and loves finding new efficient and effective ways to increase software quality.

From Unit Testing to End-To-End Test Automation

In this talk I will walk the audience step by step at the differences between writing Unit Tests and End-To-End Testing. This includes dealing with asynchronously, writing Page Objects, UI validations, running browser instances, etc.. We’ll see the dos, don’ts, and common pitfalls, and of course solution.

Oren Rubin

Oren is the CEO of Testim.io with over 16 years of experience in the software industry (IBM, Wix, Cadence, Applitools, and Testim.io) including the development of 3 test-related products. Although being a busy entrepreneur, Oren is a community activist and a Selenium advocate which always finds time to give back to the community: he is the co-organizing of the Seleniun-Israel meetup, the Ember.js meetup, and the Israeli Google Developer Group meetup. He teaches the Web Development course at the Technion (Israel Institute of Technology). Mentors at the Google Launchpad. Talks on his experience in many conferences worldwide.

Dmitriy Kovalenko

Dmitriy Kovalenko worked in quality assurance for eight years (Rosetta Stone Inc., ThoughtWorks, Centro, Groupon), seven of which he spent in Agile environments. Dmitriy has worked with Selenium professionally for four years, during which time he has carried out a test suites for small and large enterprises. Last two years he spent working in the field of DevOps. Author of agilesoftwaretesting.com blog.

Igor Khrol

Automated testing specialist. About 8 years experience in test automation in various roles: engineer, architect, manager, consultant, trainer. Experience in the majority of popular tools (Selenium, HP QTP, TestComplete, JMeter). Using Selenium more then 6 years starting from the early versions. Regular speaker of SeleniumCamp conference. Shares his thoughts about automated testing at the blog.

Andrii Dzynia

Being passionate hacking out with his first personal computer Andrii decided to start his career as software tester. Within years worked on various projects with different product complexities, from small mobile startups to large Enterprise programs. Tried himself in different roles, such as: software tester, test automator, scrum master, team leader, test consultant. As well as initiatives: speaker, trainer, conference organiser, blogger. Currently working at Spotify with focus on improving development productivity of agile teams applying engineering practices in order to minimise delivery cycle and improve product quality.