QA in DevOps, Going Cloud with Test Automation

DevOps is not just a strong implementation of agile processes and principles, but it is more of a culture built upon trust among the stakeholders involved in developing and delivering the software. DevOps focuses on reducing the friction among teams aligning their work efforts in getting the product to quickly reach the customers. This is achieved by automating the development and deployment tools, allowing accelerated delivery. We can clearly see the significance and involvement of development and operations team here but, people often find it difficult to picture where the QA team plays its part.

Image-DevOps

In a real-world, quality assurance is a continuous activity of implementing processes, procedures, and standards to ensure that an organization is providing the best possible product or service to the customer, and it happens at every single instance in the form of continuous testing.

Image-QA in DevOps

We perform various types of tests to make sure the delivered software meets the quality standards on a functional, usability and performance basis (categorized on a high level). And to contribute to the agility of DevOps where the focus is to deliver faster, it is hard to ignore the fact that: “it’s easy to deliver things quickly, but delivering quality things quickly is difficult”. In order to speed things up, a quality analyst relies on test automation.

Image-Leveraging Test Automation

To unleash the real power of test automation (test execution/ run), we can leverage the cloud with the right blend of open-source tools. In the presentation, a demonstration on a test automation skeleton built on Robot Framework will be given, which leverages docker containers placed on the cloud platform (AWS). This test automation skeleton automates web apps, mobile apps (native & hybrid) in headless mode utilizing the Selenium & Appium libraries in a CI /CD mode.

Robot Framework - What is it? Click here.

Docker - What is it? Click here.

Tech Stack - Skeleton: Robot Framework, Selenium, Appium, Docker containers, AWS cloud platform

Supporting Tools: Jenkins (CI Tool), Sauce Labs (also supports other similar device lab platforms)

 
 

Outline/Structure of the Demonstration

• DevOps

• Where QA fits in DevOps

• CI / CD - Leveraging test automation to contribute to the accelerated delivery

• Overview of the test automation skeleton

  1. Robot Framework (with Selenium & Appium)
  2. Dockers
  3. Dockers on AWS Platform
  4. Driving efficiency and cost-effectiveness

• Going cloud - docker containers, device labs & AWS platform

• Demo - Implementation of all the above

Learning Outcome

• Understanding about quality assurance in DevOps culture

• Familiarity with another potential framework - Robot Framework

• Enhancing the idea of taking test automation to cloud with Docker containers & cloud platforms

Target Audience

Test automation professionals, leads, managers, researchers

Prerequisites for Attendees

• Basic hands-on experience in test automation using Selenium & Appium

• Conceptual understanding of cloud platforms and Docker containers

schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked Bhupesh Pant
    keyboard_arrow_down

    Bhupesh Pant - Client side health and up-time monitoring tool with Selenium Webdriver(Synthetic Monitoring)

    45 Mins
    Demonstration
    Intermediate

    Application monitoring is the essential part for a heathy application. In the present scenario most of the applications are inclining towards cloud infrastructure. A reliable application has a deep desire to achieve 100% up-time. Tools like NewRelic , AppNeta , AppDynamics are great for server side monitoring.

    But most of the time we ignore client side application heath check. This session is dedicated to the requirement and fixing of Client side application monitoring. There are very less tools available in market for Client side monitoring which can run 24X7 in the production web application and report an issue without any manual interference’.

    To achieve client side monitoring I developed a Monitoring tool using Java Spring, AngularJS, MongoDB as a dashboard tool which is in continuous work from more than 1 year.

    This tool shows real-time status of the different panels of the application. Any time if a panel goes down due to any back-end or front-end failure an email triggers with the application screenshot and a proper error message. This dashboard is monitoring application 24X7 and capable enough to calculate up-time of individual web panel and complete application.

    Here Selenium Webdriver crawls the production application and gather browser network tab information and submit it to the dashboard.

  • Liked Sathish Sugavanam
    keyboard_arrow_down

    Sathish Sugavanam / Harish P / Vignesh Marthandan - Web Page Performance Testing is Easy!

    45 Mins
    Demonstration
    Intermediate

    Nobody Likes a slow website! Web Page load time is one of the key concerns of end users. We are going to present a solution with which a developer or a tester can effortlessly gather performance attributes of a web page on the client (browser).

    PagePerf (Soon to be made Open Source) is a tool that is built by our team which helps the user to identify the page level performance metrics, and the enhancements that can be made to a website. Important page performance counters like First Paint (FM), First Meaningful Paint (FMP) are gathered and presented instantaneously. PagePerf also provides intelligent analysis on high impact counters like misconfigured ETAGS, Time to First Byte (TTFB) and suggests specific improvements. PagePerf can comprehensively present all the required page performance metrics in a well-designed report which is easy to read, understand and disseminate.

  • Liked Manjyot Singh
    keyboard_arrow_down

    Manjyot Singh - QAOPS - QA Testing in a DevOps World

    Manjyot Singh
    Manjyot Singh
    Lead QA Consultant
    Thought works
    schedule 1 year ago
    Sold Out!
    45 Mins
    Demonstration
    Intermediate

    QAOps is Continuous Testing Strategies when
    frequent software delivery matters.

    It is no surprise that automation and orchestration
    make life very easy, be it a small organization or
    a large-scale industry that houses hundreds of
    servers. IT automation is essentially the ability to
    orchestrate and integrate tools,
    people, and processes through a certain workflow. I will be using Ansible and Docker to showcase the same and writing ansible tests on top of that.

    Ansible - Ansible is an IT automation tool which can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments. Ansible is actually designed to be a “fail-fast” and ordered system, therefore it makes it easy to embed testing directly in Ansible playbooks.

    Docker - A docker container is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure.