How do we ensure premium quality engineering?
Every project the company undertakes is different, which means that the test harness requires a creative approach for all of them. QA has to develop its own solutions and that could well lead to a lack of cohesion between projects and difficulties in maintaining high-quality automation and code throughout the department. That, in fact, was what motivated us to develop our own tool, something which could help us solve the problem.
The MAF was created as a response to MakoLab QA’s direct needs. Most of the problems we encountered obtained solutions which were included in the framework, eliminating the necessity of further analysis.
The main idea was to create a framework which would make it possible to standardise the work of the entire department, speed up the process of providing tests as required for projects and increase the stability of the solutions. Less than six months after introducing the MAF, the pluses are visible to the naked eye:
- TIME. Just beginning the automated process is unquestionably faster. All the necessities, the configurations with report libraries, the WebDriver service and other managers, are built in, meaning that the testing engineer simply has to pull up the MAF from the repository of artifacts and they are ready to create the testing scripts;
- STABILITY. All the instructions provided in the MAF have been properly secured and pretested. Potential improvements will be available for every project using the framework;
- STANDARISATION. The structural assumptions underlying the MAF impose standardisation of both the architecture and the terminology in the code of the automated tests;
- SUPPORT. Thanks to the entire department working together, there is more technical support. Improvements introduced with the thought of one project in mind can have a positive effect on all the others;
- TRANSPARENCY. The built-in reporting libraries and the integration with Jenkins mean that every test is presented in an attractive, graphic form available to the entire team.
How the previous process worked:
- A new project was opened.
- The Selenium WebDriver, JUnit/TestNG, AssertJ and other libraries were pulled up.
- The manager and utility structures were created.
- All the necessary configuration classes were implemented.
- Implementation of the tests began; at the same time, every instruction had to be redesigned and reimplemented.
How the process works now:
- A new project is opened.
- MAF is pulled up from Nexus.
- Implementation of the tests begins, employing ready-to-use, secured methods from the MAF. Goodbye to StaleElementReferenceException!
The Easy MakoLab Automation Framework is a more accessible form of automation tool intended for people who are less technologically advanced. The Easy uses the method provided in the MAF, reconstructing it in a way which is clearer to every tester, even one who has never had anything to do with automation before. We have compared creating testing scripts in Easy with constructing a building using building blocks. In this case, the building blocks are the ready-to-use components which have to be placed in the scripts.
The main features of the MAF Easy module are:
- built-in components which are responsible for methods for testing the UO and API layers;
- Cucumber and Allure reporting services are built in. There is not even any need for the quality engineer to call hooks. Every pre- and post-test action is called automatically;
- the module is integrated with Jenkins and has a built-in, multi-thread service;
- the built-in assertion service is packaged with easily understood methods;
- automation is begun even more quickly, making the Easy an outstanding solution not only for junior staff, but also for smaller projects where ultra-fast results are needed. The Easy requires almost no more time than ‘clicking through’ tests in Selenium IDE or Katalon, for example, and, at the same time, it maintains a higher stability and greater integrality with our solutions.
The visible benefits of using the Easy are as follows:
- there is no demand for extensive programming knowledge;
- visible results can be obtained even more quickly;
- it is a subset of the MAF. In fact, it uses around 60% of the MAF’s ready-to-use instructions, which are secured and packaged in methods to make using them as intuitive as possible.
- the MAF Easy is not as flexible as the pure MAF. If you want to make radical modifications or reconstruct particular events, then we suggest using the MAF;
- the MAF contains instructions which are not used in the Easy, but might be crucial to a project that is not currently automated.
- adding the services of more libraries, making it possible to test increasingly advanced projects and functions;
- adding support for BrowserStack;
- adding a module for mobile app testing: facilitating app testing on both leading operating systems, in other words, Android and iOS;
- updating in terms of new technologies.