Many organizations have implemented best-of-breed business applications to meet the growing demands in this competitive world. In the Agile world of shorter cycle of releases, QA team verifies not only sanity but entire regression test pack on each and every build and continuously keeps adding scenarios for more coverage. Manual testing of previously implemented features are really not feasible with growing complex systems. In that context, Xoriant offers robust QA Automation services to meet the demands of the today’s business. Xoriant has been involved in providing QA automation solution in different phases like unit testing, integration testing, system testing, regression, UI testing and mobile testing. The knowledge and experience gained by our team and technical personnel has led to development of Xoriant Test Automation Framework (XTAF). It is a combination of modular, keyword driven, data driven and page object model automation framework. XTAF was conceived to offer competitive advantage to Xoriant as well as to Xoriant’s customers. It is divided into two parts Automation Library and Page Objects. Automation Library contains multiple libraries like, WebLib, Database, XML, SSH, REST-API, iOS and Android. Page objects contains page properties and page access methods using any of the library keywords.
XTAF Characteristics
- Built using industry standard architectures and technologies
- Provides “reference implementations” of end-to-end solutions to minimize the risks
- Flexibility to replicate from open source to customer preferred technology like Ruby, Python, C# etc.
- Framework is not sold as license software, but, as proven knowledge repository
Major benefits of XTAF
- Aggregation of frontend, backend and database test cases in same automation script
- Uniformity of test scripts
- Platform and application independent
- Obtain accurate master and detailed reports
- Sends master report to respective stakeholders
- Better ROI with open source tools for testing all layers of product
- No major re-engineering efforts hence reusability across platform and applications
- Easily integrated with any continuous integration tool like Jenkins, Bamboo
- Ability to test on multiple browser by just changing configuration property.
- Minimal maintenance efforts.
In the current era of connected world using internet, cloud and mobility, demand on QA automation is growing. QA automation is now extended to test applications across multiple devices and platforms. To meet these demands, Xoriant will be extending XTAF framework to provide support for these additional automaton features as part of Test Automation project.
Library Module
Each library is treated as individual project and it has been developed using Java technology and keyword driven approach. So, that XTAF user should have to be aware of only library specific keywords and not tool specific syntax. It helps user to maintain all test script uniformity. Also, meaningful name of keyword and its description gives better idea to user for writing or fixing test scripts. Currently Xoriant has added three libraries WebUI, Database and SSH.
WebUI
It is used to test web applications front-end / UI. It helps to test same web application on multiple browsers like Firefox, Internet Explorer, Chrome, Safari and Opera. WebUI library is using Selenium Webdriver to facilitate UI testing. Because of its Keyword driven approach, a user don't need to understand Selenium webdriver syntax. This is majorly divided into two areas generic (based on different object type) and functional.
Database
It is used to perform CRUD (Create, Read, Update and Delete) operation on application's database. Database library has been developed using Java.sql package. Because of its keyword driven approach, a user without SQL knowledge can also perform database testing. This is extensively used to do different verification of GUI/Excel/XML/ any other data type.
SSH
It allows user to connect to a remote server and use port forwarding, X11 forwarding, file transfer. It can automatically encrypt, authenticate, and compress transmitted data. SSH library has been developed using JSch tool. A user can directly use available Keywords to access remote server functionality.
Page Object Module
It stores each page properties or information of application under test. It is divided into three sections, Page/ Object, page objects, test data.
Page/Object
Each page has been treated as an object and it holds page properties for accessing application's page. Test scripts directly access application's page properties via Page object.
Object repository
It holds each page's elements information like, button, textbox, select box etc. It also provides page element's location to Page object. This can be used as shared repository across different profile /modules.
Test Data
It stores test data to be used in test scripts. Test data can be used in normal script or data driven test script. It stores information in Java properties files using Key, Value pair.
Reporting
At the end of each test script, it generates individual test scripts detail report and at the end of test suite execution it generates master test report and sends it via email to all stakeholders.