A complete Selenium Techstack –

Slides:



Advertisements
Similar presentations
Requirements for a UI Test Framework Stanislaw Wozniak Bernie Miles.
Advertisements

Designing Reusable Frameworks for Test Automation
CS 290C: Formal Models for Web Software Lecture 1: Introduction Instructor: Tevfik Bultan.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Living Requirements using Behavior Driven Development
Desktop and Mobile Testing Miroslav Shtilianov QA Engineer Automated Testing Team Telerik QA Academy
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
QA Automation Solution. Solution Architecture Test Management tool CI Tool Automation framework Testing Project BDD Tool Text of test to Testing Project.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
#SEU12 Madison Miner Software Engineer EDA, Inc..
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
CakePHP is an open source web development framework. It follows Model-View- Controller and is developed using PHP. IT is the basic for user to create.
Reusability and Effective Test Automation in Telecommunication System Testing Mikael Mattas Supervisor: Professor Sven-Gustav Häggman Instructor: B.Sc.
A TEST FRAMEWORK USING PROTRACTOR, CUCUMBER & CUCUMBER SANDWICH
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
SERVICE REQUEST MANAGEMENT IMPLEMENTATION Rev Mar 11, 2008.
Zhuhai Test Automation Overview Ryan Li Team lead of test automation Foglight QA.
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
The Holmes Platform and Applications
HPE ALM Octane.
Appium Studio Appium testing made easy at any scale.
Segments Introduction: slides 2–6, 8 10 minutes
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
From manual test shop to fully automated test coverage: A How-To session to speed up your journey Jayshree Bhakta ITHAKA/JSTOR.
7. Modular and structured design
Leverage your Business with Selenium Automation Testing
Overview Power Quality Dashboard Fred Elmendorf August 2014.
Stable and reliable Web Automation
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Extended BDD Automation for Future Agile Applications
Jenkins and Azure OPEN322 Michael Friedrich.
On the road: Test automation in practice for a BMW map update service
All-Inclusive Testing in API Management
Haritha Dasari Josue Balandrano Coronel -
Onlineitguru Selenium is one of the most widely used open-source tool that is used for testing software or Automation. It is licensed under Apache License.
Script-less Automation: An Approach to Shift-Left.
Best Approach And Practices For Software Quality Assurance Companies.
Advantages OF BDD Testing
How to automate software with
SeeTestReporter.
X in [Integration, Delivery, Deployment]
Tools of Software Development
Real Testing Scenario Strategy: Bringing this all together – Success!
Introduction to Software Testing
Automation with Gwen Introduction.
Simplified Development Toolkit
Automated Testing and Integration with CI Tool
Achieve Next level of Automation with Robotic Test Automation
Continuous deployment best practices, methods and tools.
Module 01 ETICS Overview ETICS Online Tutorials
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Chapter 7 –Implementation Issues
JOINED AT THE HIP: DEVSECOPS AND CLOUD-BASED ASSETS
CONTINUOUS INTEGRATION –WHY WE DO IT?
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Bringing more value out of automation testing
Dtk-tools Benoit Raybaud, Research Software Manager.
CI/CD Workflow and Event Pages
Helping you make your code better
DEVOPS & THE FUTURE OF TESTING
Mark Quirk Head of Technology Developer & Platform Group
ONAP Architecture Principle Review
SSDT, Docker, and (Azure) DevOps
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

A complete Selenium Techstack – From conception to evaluation with open source software

Test Automation Test Automation at a glance Test Design Test Development Test Execution Test Evaluation

Test Design The Challenges Legibility Accelerates error analysis, ensures broad common understanding and thus promotes cooperation. The Challenges 1 Structure Promotes logical structure, for example by precondition, action and assurance. 2 3 Reusability Reduces potential sources of error, improves overall maintainability and increases scalability. Abstraction from the test object Using declarative instead of imperative test case descriptions shifts focus to functional rather than technical aspects. 4

Test Design Tools in our stack Legibility BDD with Cucumber Human-readable test specification thanks to Gherkin Syntax Involves the entire team, from tester to developer to PO Reusability Step Definitions by Gherkin Syntax Flexibly combinable Structure Logical structure according to Given - When - Then thanks to Gherkin template Supplementary explanations with the help of narratives Abstraction from the test object Gherkin as a natural additional level of abstraction

Gherkin Syntax as an interface Test Automation Test Automation at a glance Test Design Legibility Structure Reusability Abstraction from the test object Gherkin Syntax as an interface Test Development Test Execution Test Evaluation

Test Development The Challenges Stability Reduces the number of so-called false negatives, speeds up individual test runs. The Challenges 1 2 Reusability Reduces potential sources of error, improves overall maintainability and increases scalability. Best Practices Prevents the use of bad practices (such as static waits), promotes good practices such as the Page Object Pattern. 3

Test Development Tools in our stack Reusability Selenium Browser Testing with Selenide Simplest test configuration User-friendly session and driver management Always updated framework methods Stability Cross-browser proven framework methods Possibility to communicate directly with the backend Best Practices Implicit, globally configurable timeouts before each operation Native page object integration Integrated error handling, screenshots and DOM dumps

Test Automation Selenide Framework, Best Practices Test Automation at a glance Test Design Legibility Structure Reusability Abstraction from the test object Gherkin Syntax as an interface Test Development Simple code with clear structure Stable Selenium framework Best Practices Selenide Framework, Best Practices Test Execution Test Evaluation

Test Execution The Challenges Predictability Event and time based execution of E2E tests The Challenges 1 2 Parameterizability Execution of the same test suite in different test environments and in different browser operating system combinations. Logische Verknüpfbarkeit Execution of the E2E tests only after successful build (including execution of the unit tests) and deployment on the test environment. 3

Test Execution Tools in our stack Execution of the tests in an independent system (Continuous Integration, CI) Jenkins with Jenkins Pipelines Parameterization of the pipelines in Jenkinsfile incl. schedule possible Own projects as required for special test runs (e.g. nightly-main-browsers) Loose coupling of product and test development Jenkinsfile in every git on every branch Parameterization allows easy coupling, e.g. the URL (staging-123.tests.local) Backgrounds and benefits of this tool choice Test development of unit tests is part of every feature E2E tests can "hang behind" for time / cost reasons or achieve less coverage Jenkinsfiles in Git define the complete build - (almost) no configuration in Jenkins

Test Automation Selenide Framework, Best Practices Test Automation at a glance Test Design Legibility Structure Reusability Abstraction from the test object Gherkin Syntax as an interface Test Development Simple code with clear structure Stable Selenium framework Best Practices Selenide Framework, Best Practices Test Execution Smoke tests after each build Time-controlled long test runs Parameterization of builds Different test environments Jenkins Pipeline Test Evaluation

Test Evaluation The Challenges Assessability Freely determinable evaluation and error category of test run errors, automatic assignment for frequently recurring errors. The Challenges 1 Structurability Sensible grouping of test results by product version, test environment and browser operating system combination. 2 3 Analysability Integration of stack traces, error logs, screenshots and video recordings, link to specification and issue trackers. Visualizability Graphical processing of test results, configurable dashboards, automatic error notifications. 4

Test Evaluation Tools in our stack Example: 200 test cases from 10 feature groups of a web portal (horizontal in the matrix) Test runs on all common desktop browsers (vertical) Win 10: IE11, Edge, Chrome, Firefox, Firefox ESR macOS: Safari, Chrome, Firefox, Firefox ESR Win 7: IE11 (strong OS dependency) = 10 Testsysteme bzw. Browser → 200x10 matrix with 2,000 test results per test environment 5 feature branches + Staging = 6 branches / environments to be tested = 12,000 test results per night

Test Evaluation Tools in our stack Many tests, a lot of data → Jenkins plugins or similar often inadequate Own tool for the evaluation of all test runs and statistical correlation Delivery of additional data to the tool (not just junit-results.xml) Integration of test or system specific data by the test code, e.g. Resolve UUID error in backend and extract stacktrace Statistically, errors occur even with very good stability of the system Quote of a developer: "The system has to recognize outliers easily!“ Solution: "AI" or automatic data analysis with machine learning Tags, feedback from users and more data feed the AI ​​for future analysis Checks of system availability reportportal.io provides many of the desired functions here AI analysis and easy integration into the test suite Dashboards and clear UI

Test Automation Selenide Framework, Best Practices Test Automation at a glance Test Design Legibility Structure Reusability Abstraction from the test object Gherkin Syntax as an interface Test Development Simple code with clear structure Stable Selenium framework Best Practices Selenide Framework, Best Practices Test Execution Smoke tests after each build Time-controlled long test runs Parameterization of builds Different test environments Jenkins Pipeline Test Evaluation Correlation with past tests Extension of the reports Screenshots, Backend information Automatic analysis reportportal.io with connection in the code

Live Demo GitHub: https://github.com/Testbirds-GmbH/selenium-techstack

Contact Felix Kuperjans Felix Kuperjans | Technical Lead Device Cloud Testbirds GmbH | Radlkoferstraße 2 | 81373 Munich +49 89 856 33 35 – 0 f.kuperjans@testbirds.de