One of the pillars of MakoLab is quality assurance. This is where we make sure that the solutions we provide are characterised by stability, high performance and high quality. Our quality engineers are active participants in the entire life cycle of our apps, from compiling our offers, via design and implementation, right up to when they go live. We watch over not only the product itself, but also the delivery process. Last year we decided to create our own QA solution: the MakoLab Automation Framework.
One important part of our QA procedures is the automation of tests. This makes it possible to save time during cyclical activities like time-consuming regression test sessions, for instance, and allows us to cover work that cannot be carried out manually, such as performance and load testing, as well. We also supply automated solutions at numerous levels; API and back-end communication interfaces, UI and front-end visual layers, app and service performance, software security and web scrapping.
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 MakoLab Automation Framework (MAF) is our own, original solution. Designed and written in Java, it is based on the most popular libraries dedicated to automated testing. They include Selenium WebDriver, with the use of our own infrastructure, which is rooted in containerisation, as well as REST Assured and HtmlUnit, among others.
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:
If the points set out above are an inadequate description of the advantages of the MAF, then comparing the process of beginning automation with and without the framework should certainly suffice.
How the previous process worked:
For an intermediate-level tester, creating a database like this for tests represents several days’ work at the very least.
How the process works now:
For an intermediate-level tester, this represents a maximum of thirty minutes’ work, provided they have access to a wide range of ready-to-use and pretested instructions.
What about people who would like to start working on automation, but lack the relevant level of technical knowledge and programming skills to use the framework? The MAF Easy module was created for just that purpose. 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:
Seen from the standpoint of the quality engineer, using the MAF or the Easy is a matter of choice; everything depends on the context and individual needs.
The visible benefits of using the Easy are as follows:
There are a couple of limitations which should be taken into account, though:
An example of using MAF Easy instructions is presented below:
The MAF is constantly being updated, with new functions and capabilities being added, while plans for its development have been drawn up on a grand scale. The most important of the plans for improvement are:
If you’re interested in testing, quality control processes and producing software and if you’d like to become part of our team, then head over to our Careers section, check out the vacancies we’re recruiting for and send us an application!