<<

WHITEPAPER Fast and Scalable Automation Framework : “Booster”

Testing is a form of software business insurance. More automation coverage means less risk. and that is good news for everyone.

Sonal Pallewar Email : [email protected] “Automation Framework” and “Why do we need a framework for ?”

A framework is a software solution that can be used in place of ordinary code that offers generic functions. Some of the challenges of automation are: ● Writing and maintaining test automation frameworks Booster– based ● Scaling to high number of simultaneous tests in multithreaded various environments automation framework ● Reporting and analytics of large number of test results to assess test coverage and build quality ● Ease of use to extend and maintain the framework ● Rich libraries that can be leveraged for quick delivery of automation

”Booster” addresses the above challenges and is used to automate and test several web and mobile frontend applications as well as backend components by executing hundreds of simultaneous tests.

Booster is a best-fit Linux based multithreaded automation framework that is fast, scalable and easily extensible. Booster also has readily available rich web, mobile, Linux libraries that can be leveraged to quickly build product specific tests without investing much time in interaction with web and mobile UI interfaces.

1 Need of Booster framework

Linux Based Booster is a Linux based framework

Supports remote execution of web tests Supports remote execution of tests in target environments with the help of paramiko python library.

Supports frontend and backend automation Consists of a rich set of Selenium, mobile and Linux libraries

Selenium Grid Supports serial and parallel execution of tests, Multi-platform support i.e. Windows, Linux and Multi-browser support i.e. Chrome, , Edge, and also supports

Integration with CI tools Booster supports integration with Jenkins and Bamboo

2 Web Interface to manage automation suites and report test results Rich web Interface to centrally define and manage test automation. The user interface helps end users to quickly define test environments, test suites and execute tests quickly.

Containerized Deployment Easy to deploy Booster

Support for Python 3.x Booster upgraded from Python 2.7 to 3.5 addressing issues like Print statement, HTMLTestRunner had to be made compatible with respect to screenshot attachment in execution reports in case of failure, Unicode/Decode conversions, syntaxes and deprecated support for some dictionary functionalities, handled iterable objects instead of lists, handled NameError for xrange

Future Enhancements

WEB PERFORMANCE TESTING

API TEST AUTOMATION

3 Tools & Technology

Platform – Ubuntu Programming Language – Python_3.5

Multi-threading using Python thread library

UI – HTML, CSS, JavaScript, Test Data – json Django Template

Backend – Apache Tomcat, Database – MySQL Selenium Grid

4 Booster Architecture

Configurations Testdata

Config Testdata Loader Database

TESTDATA

Logs

Test Scripts

EXECUTE TEST SUITES

Selenium Grid Appium

Reports

Test Runner

TEST EXECUTOR

5 By Design

6 7 About AFour Technologies

Established in 2007, AFour Technologies (a.k.a. AFour) focuses on Software Product Engineering Services comprising UI/UX Design, Architecture Design and Consulting, Software Development, DevOps (CloudOps, SysOps and DBOps), QA (Test Strategy and Implementation, Test Automation, Performance, Security) and Monitoring. With an excellent track record of over 10 years and a focus on software product engineering, AFour is a true example of self-belief, consistency, and transparency.

AFour is an ideation The company is a hub of Till date, AFour and technology house. every cutting-edge Technologies has Product companies technology in software been able to bring associate with AFour engineering Hyper- together some of for its product convergence, SDN, the best and conceptualization and Virtualization, Next brightest minds in technology skills in a wide Generation Data Center software range of technologies like Technologies, Networking, engineering. , Python, .NET, Enterprise Mobility. JavaScript (MEAN), LAMP ( and PHP), Angular, React, C++.

8