Visual Regression Testing - How Selenium can help?
In today's software world, web applications need to go though constant change to maintain highest standards of quality of service. With continuous changes, one of the biggest challenges in the testing fraternity is to reduce the effort in regression testing. Often UI testing is cited as an area where automated tools have a limitation.
In this session, will try to cover how using a simple program and using tools like ImageMagick, we can automate visual regression of the site in no time. Also, this means after every change (front-end or feature) if causes any unexpected behavior can be brought to notice immediately. A set of benchmark images of the stable version will be compared against those from the build's latest version and help reduce the extra effort testers spend in testing the UI on different browsers.
Outline/Structure of the Demonstration
Introduction of speaker
Agenda
Discussion about the advantages of Visual regression
Limitations
How to get started
Demo
Learning Outcome
Attendees will have starting steps on how to start visual regression on their web applications. Will be able to understand advantages of visual regression.
Target Audience
Mangers, Leads, Automation engineers
schedule Submitted 7 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Bret Pettichord - Checking as a Service
45 Mins
Keynote
Beginner
This talk suggests a reframe in how we understand the business value of automated testing. One shift is to see automation as "checking" rather than "testing". Another is the shift from software delivery to service delivery, including fully embracing DevOps. The resulting approach could be called Checking as a Service or CheckOps, and forces us to rethink traditional automation priorities. In this talk, Bret will explain how change in approach has affected teams he's worked with and how you can use it to improve your ability to deliver valued services.
-
keyboard_arrow_down
Simon Stewart - Fix a Bug, Become a Committer
480 Mins
Workshop
Beginner
Have you ever wondered how Selenium works under the covers? Do you get frustrated with locators not locating, pages not loading, or browsers behaving inconsistently from one run to the next? Selenium is an attempt to unify thousands of disparate elements across a wide spectrum of challenges into a single, common interface that works seamlessly with all the major browsers - and yet only a handful of volunteers work to maintain this gigantic effort. If you would like to enhance your own Selenium experience while contributing back to the software that has defined so many of our careers, come to this workshop. In it we'll dissect the different elements of Selenium, dive into its internals, learn how it was built and how to make changes to it, and even write a unit test you can contribute on the same day!
-
keyboard_arrow_down
Robin Gupta - The Interviewer, Interviewee and vice-versa
20 Mins
Talk
Beginner
This small talk is about the intricate fabric of discussion between an interviewer and an interviewee for the post of Automation Engineer.
The audience would be taken through a maze of silly, run of the mill, subjective, bizarre and occasionally brilliant questions/answers/discussions found in an average interview for Automation Engineer/Selenium Engineer.
We'll try to look at the 4 quadrants of the Selenium Interview circle, covering it from the perspectives of :
- The Interviewer
- The Interviewee
- Current Industry state
- How can we improve?
This might seem like a soft, non-technical, not-so-important topic of discussion but we must remember that bad interviews lead to bad candidates lead to bad deliverables. As they say, For want of a nail the battle was lost.
And in today's cut-throat world none of us can afford losing a good candidate to a bad interview.
Lets gather around a fire of questions, on the beach of answers to surgically comprehend the What, How and Why of Selenium Interviews.
-
keyboard_arrow_down
Irfan Ahmad - Testing as a Container : Using Docker with selenium and friends to ship fast
45 Mins
Demonstration
Intermediate
We see two upcoming trends in the world of software delivery.
1.Docker is becoming a standard for managing infrastructure using containers.
2.Testing code and its infrastructure starts to grow at scale with more complexity, dependencies and technology diversity.
A container is an entire portable runtime environment: an application, plus all its dependencies, libraries and other binaries, and configuration files needed to run it, bundled into one package. By containerizing the application platform and its dependencies ,all differences in OS distributions and underlying infrastructure are abstracted away which makes it easy to share and execute anywhere.
At this talk we will learn how to leverage the container technology to solve the challenges of growing testing infrastructure and continuous delivery with key focus on below items.
- Basics of the containers technology and specifically it’s application on the test automation.
- How Docker can reduce the time of test execution, ease the setup of clean test environments and drastically reduce the differences between the development, acceptance and production environments leading to the higher quality of the released software.
- Examples to containerize entire testing stack together consisting of major automation tools (selenium, appium, phantomjs), performance tools (jmeter,gatling) with cucumber.
- Integrating and managing testing container with other application containers to achieve easily manageable continuous delivery pipeline.
- Best practices and patterns for docker success.
-
keyboard_arrow_down
Roy Nuriel / Sreevatsa S - From Pyramids to hourglass - New approach and best practices for digital apps testing
Roy NurielSr. Director, Product ManagerPerfectoSreevatsa SPartner Enablement ManagerPerfectoschedule 7 years ago
45 Mins
Talk
Executive
One of the first things that you learn when you enter the quality assurance space is the famous triangle braked down to Unit test at the lower, on top of it Acceptance Tests based on API (in some places this layer is integration tests but the idea is the same) and at the top of the Pyramid we have the User Interface (UI) Tests. This Pyramid, in the last two decades was the main principle on how to approach testing activities (mainly automation).
In the last couple of year we are all taking part in the digital transformation that is taking place all over. Mobile Native applications as well as web applications take part in almost any activity that we are doing during the day, business are building their strategy on this channel and shifting resources and budgets to deliver applications maintained and expend their market share.
So what changed?
The users are no longer static, they are interacting with those apps while they are on the train on their way to the office, while waiting for a flight at the airport or drinking coffee while waiting for their next meeting – those “interactions” are done most of the time while they are on the go working with mobile device. In addition the application take advantage of the sensors that those devices provide in order to provide better user experience. The environment where our end users use our application has significant impact on the functionality and performance of our application which at the end of the day we call quality.
During the last year we developed a new approach for digital application testing – The “Hourglass” – This new approach expend the known Pyramid and update it to the digital era – The client side is richer and contains many components that impact the quality of application. It redefine the definition of coverage. At the top of the pyramid we add 2 additional triangles (the gives the hourglass shape) – The first one is devices – what devices should we test, how we should approach the changes that happens in the devise market. The second is the environment, the places that our end users will use and interact with the application. We leverage the automation investment and get the real digital coverage which will help to reach high quality applications.
-
keyboard_arrow_down
Ori Bendet - Tales from the Dark Side: The Growth, Implementation and Influence of Selenium inside Hewlett Packard Enterprise
45 Mins
Talk
Intermediate
I know what you’re thinking: the creators of WinRunner, QTP/UFT are now embracing Selenium?
Ten years after Selenium came into existence as an open source alternative to Mercury Interactive, the perception and relationship between QTP and Selenium has morphed from competition to collaboration with complementary test automation frameworks.
Join Ori Bendet, HPE Inbound Product Manager for Functional Testing to discuss how HPE’s R&D uses Selenium and other open source tools. Understand the new roles and responsibilities of dev/test @HPE and how they fit into current team structure. Discover their lessons learned about how Selenium and open source has contributed to the success and maturity of HPE's own quality assurance and testing tools across the entire portfolio.
-
keyboard_arrow_down
Anand Bagmar - Test Data - Food for your Test Automation Framework!
45 Mins
Demonstration
Intermediate
Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey.
Teams already building 1000s of tests of various types - UI, web service-based, integration, unit, etc. is a proof of that.
However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable.
In this talk, we will focus on one of the critical aspects and patterns in building the Test Automation framework - Test Data!
We will look at different data patterns as options and techniques how to create, manage, use, reuse Test Data in a way to keep the tests running in an reliable and deterministic way. We will also discuss what questions to ask, what things to think about in selecting your approach for Test Data!
This discussion will be applicable for any type of Test Automation (web / mobile / desktop), but, we will focus primarily on UI automation frameworks, ex. using Selenium.
-
keyboard_arrow_down
Sargis Sargsyan - Better Page Object Handling with Loadable Component Pattern
45 Mins
Talk
Advanced
One of the painful problems in Selenium automated testing is determining whether a HTML page has been loaded. This is especially the case when web application uses a JS heavy framework such as the popular AngularJS.
During this talk we will discuss how to handle Selenium Page Object pattern better with Loadable Component.
The Loadable Component helps test case developers make sure that the page or a component of the page is loaded successfully. I will share my experience about the concept of the Loadable Component and Page Object patterns.
-
keyboard_arrow_down
Ankita Gupta / Jatin Makhija - Web Push Notification Automation Mystery Solved!
Ankita GuptaSETExpedia GroupJatin MakhijaSr. Lead EngineerDeutsche Telekomschedule 7 years ago
45 Mins
Demonstration
Intermediate
Push Notifications are the latest way of sending updates to our users. More and more Organisations are implementing Web Push Notifications along with emails and other notification systems.
So the Big Question that arises is "How do we automate them?"
We have come up with a library in various languages which can be integrated with your Automation suite and provide you everything you need about the notification triggered.
You can easily then trigger and verify the push notification sent and ship out the product without worries :)
-
keyboard_arrow_down
Michal Vanek / Filip Braun - Breaking down the barriers: Testing desktop apps with Selenium
Michal VanekLead QA EngineerAvast SoftwareFilip BraunQuality Assurance EngineerAvast Softwareschedule 7 years ago
45 Mins
Talk
Intermediate
Selenium was born for web-application testing. But have you ever thought it could be a great tool for testing Windows desktop apps too?
Today, more and more desktop apps use a web-like approach to implement their UI. The methods vary from basic HTMLayout environment to complex designs in CEF (Chromium Embedded Framework). However traditional GUI automation tools seem to be a step behind or ignoring the trend completely. This situation calls for finding new ways of testing.
In our talk we shall introduce to you a new way of utilizing Selenium for automated testing of desktop applications. No matter whether the HTML UI content is completely offline or loaded and updated dynamically, Selenium is able to access and navigate it just like in a web page. We’ll also show you how to build a small framework around it and plug it into your Continuous Integration process. All of this will be demonstrated using a real-life instance of Avast Antivirus for Windows.
-
keyboard_arrow_down
Adam Carmi - Advanced Automated Visual Testing With Selenium
45 Mins
Talk
Beginner
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! -
keyboard_arrow_down
Dharmesh Vaya - Hands-on guide to Object Identification
45 Mins
Tutorial
Beginner
Often it is observed that new-comers jumping to Selenium have mastered the API but are stuck up with Object Identification. It becomes very essential that test automation engineers identify robust mechanisms to identify objects and make their scripts less fragile. This talk/tutorial deals with writing optimized Object locators and having best practices in identifying them.
-
keyboard_arrow_down
Justin Ison - Appium Workshop
480 Mins
Workshop
Beginner
This workshop will feature getting started with automating Android with Appium. We'll learn how to capture elements in Ruby using irb (interactive Ruby), writing a test with rspec. Once we have our tests established, we'll then go into setting up a mobile device grid. Running the tests in parallel, distributed, and capturing critical report data (logs, screenshots, and video). We will also run some examples against a cloud testing service. -
keyboard_arrow_down
Dan Cuellar - Advanced Appium
45 Mins
Talk
Advanced
Over the last few years, Appium has become the choice automation tool for mobile application UI testing. Most people are familiar with the basics of Appium, but did you know that you Appium can identify elements using image recognition? Did you know you it's also possible to automate Windows phone and Desktop apps with Appium? Have you ever seen Appium run the same test on multiple operating systems, or seen an Appium test run using several devices at once?
The talk will cover advanced Appium topics such as these along with best practices to ensure you get the most out of Appium.
-
keyboard_arrow_down
Luke Inman-Semerau - Grid Workshop
480 Mins
Workshop
Advanced
Selenium Grid can be a bit daunting to get up and running. Starting it is quite easy, but using it effectively requires pulling in third party tools. In this workshop we’ll cover how you would realistically run your grid, using modern tooling to run a grid with docker containers or in a cloud service like AWS or theoretically your own VM provisioning environment.
-
keyboard_arrow_down
Sarvesh Shrivastava - Functional and Security Testing - An amalgamated automation approach
45 Mins
Demonstration
Intermediate
With increasing cyber threats & online attacks, an unavoidable situation for continuous security testing has emerged. Making sure all vulnerabilities are unleashed regularly is highly significant.
The paper hence proposes a solution where automated security testing could be achieved in conjunction with functional testing carried out using selenium API.
It introduces a framework that caters to automated security testing along with functional which could provide an integrated testing elucidation.
The paper, takes in these two premises to offer a solution where functional automation testers can now take on security testing. I propose a framework where automated security testing could be achieved in conjunction with functional testing using existing selenium API scripts.
The framework covers the top vulnerabilities and provides intuitive results that help a non-security tester interpret and act on the output. At the very core of this framework is the open source tool, OWASP ZAP, which is easy to use and integrates well with Selenium automation frameworks.
I bring in hands on project experience having implemented this framework for clients, who have been able to get the value of functional and security testing using the same set of scripts – it is this experience I would like to share with the SeleniumConf2016 audience, to help groom functional testers into security testing, with minimal cost and time, also enabling security testing to be performed every time functional automation is taken up.
-
keyboard_arrow_down
Parashuram - Reusing Selenium tests for catching Performance Regressions
90 Mins
Demonstration
Beginner
Almost all the tests we write today are geared towards verifying the functional correctness of products. Selenium gives us a great way to ensure that our web applications and browser behave correctly and our tests usually do an excellent job running through the happy path.
Most successful websites or hybrid mobile applications are not just functionally correct, but also have a very smooth performance and user experience. Performance, for many, is now a feature. In this talk, we will look at ways to re-use our selenium test cases to also catch any performance regressions. We will measure key performance indicators like frame rates and memory usage as the selenium scripts navigate and perform actions on the website. We will look at logging all these metrics into a dashboard, and integrating this with a continuous integration system like Jenkis or Team City. Finally, we will also look at how such a system can catch any code change that is responsible for making the website slower than a threshold we set.
We will look at how we could use existing testing frameworks like Protractor or Jest to add performance metrics. We will extend our test matrix to cover desktop browsers, browsers on popular mobile platforms and even hybrid apps like Apache Cordova, Ionic or Phonegap.
If Performance is a feature, let us test it like we test features !!
-
keyboard_arrow_down
Sargis Sargsyan - Web Application Testing with Selenium
90 Mins
Talk
Intermediate
Creating automated tests for a web application can be challenging. During this talk we will discuss how to use the popular browser automation framework, Selenium, to create automated tests for web applications. We will examine using Selenium and Java to automate the web browser using Selenium WebDriver. Also we will talk about the implementation of a simple, maintainable framework for testing a web application using Selenium.
-
keyboard_arrow_down
Srinivasan Sekar / Sai Krishna - Automation testing on iOS real devices Parallely using Appium
Srinivasan SekarLead ConsultantThoughtWorksSai KrishnaLead ConsultantThoughtworksschedule 7 years ago
20 Mins
Talk
Beginner
Automate Native/Hybrid applications and execute the tests on several iOS real devices parallely without registering appium nodes to selenium grid.
-
keyboard_arrow_down
Deepshikha Singh - Appium: Mobile App Automation Made Awesome.
45 Mins
Talk
Intermediate
This session will help beginners who are interested in mobile testing and help them kick start right away, we will start from ground 0 and then move on to providing better understanding of the tool and writing scripts using the tool. This session is for participants who perceive mobile testing to be difficult and that it requires good coding skill. I will demonstrate by automating (running) all types of application supported by Appium. Appium is an open source project and has made design and tool decisions to encourage a vibrant contributing community.