Fast and Scalable Automation Framework : “Booster”
Total Page:16
File Type:pdf, Size:1020Kb
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 test automation?” 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– Linux 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, Firefox, Edge, Safari and also supports headless browser 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. Java, Python, .NET, Enterprise Mobility. JavaScript (MEAN), LAMP (Perl and PHP), Angular, React, C++. 8.