schedule Jun 30th 03:00 PM - 03:45 PM place Lalit 1 people 4 Attending

Sometimes it is hard to know what to test in a web application, and the first step before testing is defining what we want to test. This may sound trivial, but in reality this is often not done properly. We tend to oversee the obvious and we test without knowing what we want to accomplish.

What do we want to achieve? Validate user behaviour? Check if the page design is responsive on different devices? Or maybe to know that our web application looks like we expect.

When we know the purpose of our test, we can start planning, coding, executing and improving our tests. But most importantly, we will know what approach we can use to develop the test.

Functional, layout and visual testing are the three pillars of the UI testing trinity. We can use these approaches to develop focused tests, tests that are asserting a specific aspect of our web application.

But how can we identify what approach to use? When should we combine them? There is an information overflow that presents a huge variety of tools that can help us to test through any of these approaches. Sadly, this large amount of information is making us focus more on the tools instead of focusing on the testing strategy.

The intention of this talk is to break in pieces the process of identifying how to develop a focused test, and more importantly, to understand when it makes sense to combine functional testing with layout or visual testing, and what to consider before using layout or visual testing.

The talk will then go deeper through scenarios and code examples that show how to create layout and visual tests. It will also discuss scenarios where a functional test is not enough, or where a visual test is better than a layout test. This talk’s main goal is to offer a different perspective when testing a web application through the UI testing trinity.

If you are interested in how to integrate layout or visual testing to your current workflow, you should attend this talk!

Note: Thanks to the feedback I got after presenting this topic at SauceCon 2018, I have been able to make nice improvements to the content that will be helpful for the attendants.

 
2 favorite thumb_down thumb_up 5 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

  • Introduce the Agile Testing Quadrants and how they help us in our testing process
  • Overview of functional, layout and visual testing
  • How to decide which type of testing to use depending on the web application type
  • When to run our functional, layout or visual tests during the software development process
  • Coding demos of functional, layout and visual testing
  • Pros and cons about the approaches and tools used during the demos
  • Conclusions about the three types of testing, benefits and good things to know before getting started
  • Q/A

Learning Outcome

  • Understanding the purpose of functional, layout and visual testing, and when to use them
  • The importance of having skills that help identify what and how to test a web application
  • How to combine the three types of testing or keep them apart when needed
  • Replace manual checks with visual or layout testing
  • Learn about well maintained tools that can be used for visual and layout testing in a simple way

Target Audience

Anyone involved in the software development process who wants to learn more about Layout and Visual testing. And more importantly, to learn when it makes sense to use them, and what to consider before using them.

Prerequisite

A general knowledge about testing concepts and testing automation.

schedule Submitted 2 months ago

Comments Subscribe to Comments

comment Comment on this Submission
  • Anand Bagmar
    By Anand Bagmar  ~  2 months ago
    reply Reply

    Hi Diego,

    There seems to be a lot of content you are attempting to cover in 45 min. Hence a few questions on the same:

    • What is the distribution of talk Vs demo time in your session?
    • What requirements would you have from a demo perspective? 
    • Why would this talk be an intermediate level? 
    • Diego Molina
      By Diego Molina  ~  2 months ago
      reply Reply

      Hi Anand,

      Thanks for the quick feedback.

      I agree and I understand your concern, nevertheless I was able to deliver this content in 30 minutes plus leaving 5 minutes for Q/A during SauceCon. I strongly believe that in a session of 40 minutes plus 5 for Q/A I can dig deeper into some theoretical concepts, but more importantly give a more detailed explanation of the demo and conclusions part (this is something I could not do properly before, and this is mainly what the attendants can have as their take away).

       

      To answer directly to your questions:

      • Q: What is the distribution of talk Vs demo time in your session?
        • A: I'd use around 15 minutes to build the ground concepts, and the remaining 25 minutes for demos and conclusions. To clarify, it is not only one demo, there are 4 demos where a reasoning for the demo is explained, then the demo, and afterwards some learnings from the approach used in the demo are shown. So it is not a talk where lots of content are shown and then a demo, but more one where content is shown, a demo is done, and then it moves on. The demos are recorded to keep them time boxed since they rely on an internet connection but also to be sure of delivering the content in the allocated time.
      • Q: What requirements would you have from a demo perspective? 
        • A: This question is not 100% clear to me. Do you mean what requirements are needed from the attendants or more technical requirements for me to present the demo successfully? 
      • Q: Why would this talk be an intermediate level? 
        • A: This is a bit tricky. I think it can be just in between beginner and intermediate since ground testing concepts are needed but also some familiarity with automation is required as well. I thought proposing it as beginner, but some colleagues and friends recommended me to propose it as intermediate due to the previous reasons. Do you think it would be more suitable for a different level?
      • Anand Bagmar
        By Anand Bagmar  ~  2 months ago
        reply Reply

        Hi Diego,

        Thanks for your responses.

        For #2 - its from more technical requirements perspective

        Also, will you be sharing the code you use in the demo for the attendees?

        • Diego Molina
          By Diego Molina  ~  2 months ago
          reply Reply

          Hi again,

           

          OK, for #2. Since I usually like to do recorded demos to avoid relying on the internet connection, no special requirement there. For attendants to be able to use the code, just to have Node and Java installed in their machines. Which already brings me to the next part, yes, I will share the code (most of it is already online, but I need to polish the README file so people can follow it without any issues).

           

          If you have any more questions, don't doubt to ask.

           

          Cheers, 

    • Diego Molina
      By Diego Molina  ~  2 months ago
      reply Reply

      Hi Anand,

      Just to circle back, was I able to answer properly your questions? We still have the 2nd one open, I'd be happy to give more input in case you need me to.


  • Liked Marcus Merrell
    keyboard_arrow_down

    Marcus Merrell / ManojKumar - Selenium Grid

    Marcus Merrell
    Marcus Merrell
    Engineering Manager, CRM
    RetailMeNot, inc
    ManojKumar
    ManojKumar
    Sr. Technical Consultant
    Applitools
    schedule 3 months ago
    Sold Out!
    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 can require pulling in third-party tools. In this workshop we’ll cover how to run your grid effectively, using best practices culled from several large grid installations.

  • Liked Anton Angelov
    keyboard_arrow_down

    Anton Angelov - Infinite Improbability Testing- Execute All Tests in Parallel

    Anton Angelov
    Anton Angelov
    CTO
    Automate The Planet
    schedule 3 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    100000 tests executed under half an hour - sounds like a myth? Well, we made it, and I'm going to tell you a story how we got there. Through surveys, we discovered that many companies desire to utilize the benefits from parallel tests execution to optimize their software development process. However, they struggle with the process. Lack of available tooling, documentation, tests data arrangement/deletion, handling E2E tests specifics like browsers, emulators, etc. We were one of this companies. Because of that, we created an open-source tool for the job. Throughout the presentation, you will find statistics where, depending on the type of the tests, the tests execution can speed up from 4- 40 times which makes the run of the 100000 tests possible for 27 minutes.

    It will be shown how to utilize the tool, its various features and where/when it is appropriate to use it. Also, you will find example solutions to most of the common challenges in executing tests in parallel. We believe that in the near future the parallel tests execution will be a necessity, much like unit tests or continuous integration now. This will be one of the pillars for the companies to improve their competitiveness and effectiveness.

  • Liked Rajdeep
    keyboard_arrow_down

    Rajdeep - Android Application Backdoor via Appium

    Rajdeep
    Rajdeep
    Sr. Test Automation Engineer
    Badoo
    schedule 3 months ago
    Sold Out!
    45 Mins
    Demonstration
    Advanced

    Application Backdoor via Appium

    There's a shift towards open-source mobile test automation tools happening today among developers and QAs. Whether it be Appium, Calabash or anything else: all are good, with some major limitations.

    While a chosen tool may work well when you first start using it, things can quickly get out of hand with changing business requirements. We started using Calabash at Badoo when there was no Appium. Given the capability of Appium to drive the whole device, we started automation of new apps with Appium. However, we realized a powerful feature was missing in Appium for Android! : The ability to call Application code from automation code like Calabash Backdoors.

    As Appium UiAutomator server is based on instrumentation, we modified it such that we could instrument our app under test. This gave us the power to access context of Application under test and invoke public methods of Activity using reflection APIs. We use these methods to setup app state, seed DB OR even enable/disable some client-side A/B tests. This makes our application more testable and our tests more predictable.

    This talk is going to be about how I achieved the above solution and benefits of backdoors.

    There will be a small demo and code!

  • Liked Syam Sasi
    keyboard_arrow_down

    Syam Sasi / Jerry Zhao - How to build a device lab in your office in 48 hours!

    45 Mins
    Talk
    Intermediate

    Continuous testing is an integral part of continuous delivery pipeline. When it comes to mobile application, the testing become increasingly complex.

    As part of our internal quarter hackathon at Carousell, we developed an automation testing framework and device lab in 48 hours which has both parallel and distributed mode of running.

    We will share about how you can set up a similar device lab in your organization and the best practices to be followed.

  • Liked Michael Palotas
    keyboard_arrow_down

    Michael Palotas - Enterprise Automation with Selenium - and how it (mostly) has little to do with Selenium itself

    45 Mins
    Talk
    Intermediate

    An increasing number of enterprises are moving to Selenium for their GUI automation. The focus for most teams is the creation and authoring of automated tests. When automation projects become difficult to maintain or fail all together, people often point the finger to “Selenium”. From experience, Selenium is usually not the problem in getting an enterprise grade test automation solution off the ground.

    When looking deeper, the absence of basic software development approaches / best practices and the lack of a solid approach to building / buying and managing the cross browser test execution infrastructure are the main reasons for failure.

    This talk showcases:

    • Practical examples of how test automation with Selenium is a software development and infrastructure project, which needs to be treated and staffed as such.
    • The major pitfalls, which can prevent teams from building a scalable and reliable automation solution with the Selenium tool family.
    • How to apply patterns and approaches in making test automation with Selenium a full success.
  • Liked Dharmender Kumar
    keyboard_arrow_down

    Dharmender Kumar - Develop Securely with Zaplenium

    Dharmender Kumar
    Dharmender Kumar
    Architect
    JDA
    schedule 3 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Zaplenium simply means ZAP + Selenium and named after the integration of both to ensure application security while it's being developed. ZAP provide client API's that help to capture URL's by spidering and scanning over the pages those are interacted in user flows. With ZAPlenium the tests can be targeted to certain areas of application where selenium helps in navigating to those areas and target ZAP to spider over those and scan them. Also, Zaplenium will help defining the assertions those can come handy while we integrate this in CI/CD pipelines.

    Participants will be able to define security sanity suite to their build pipelines. With code change the security can be tapped for any High, Medium and Low risks. Session will make use of open source technologies i.e. OWASP ZAP and Selenium to define tests with assertion.

    Security Tool: OWASP ZAP

    Functional Tool: Selenium Web driver

  • Liked Christina Thalayasingam
    keyboard_arrow_down

    Christina Thalayasingam - Test Quality with CI/CD

    45 Mins
    Talk
    Beginner

    This talk will cover the key aspects and tips of how we can adopt CI/CD in our testing. For those who are yearning to learn on approaching CI/CD to their QA process this talk would give a glimpse of all the main testing types and how we can build a strong QA process and keep in part of your CI/CD pipeline. I would be giving out some tips and tricks on what approaches can be taken to add not just your functional tests (with Selenium) part of your pipeline but also have performance testing, API testing and security testing also part of your CI/CD pipeline so that the system goes through a full stack testing before it gets out there. The talk will also cover a few quick demos which would help the viewers then to work upon further.