Automation Testing in OpenProcurement Projects

Find out about automation testing used for Openprocurement projects, including ProZorro and ProZorro.Sale. The use of Jenkins continuous integration server to execute automated tests and accredit and qualify private platforms to participate in sales and purchases registration.

Automation Testing is an indispensable part of the software development process, since it allows to evaluate the product's quality and check if it works correctly. Testing gives an opportunity to detect and fix mistakes, resulting in the risk level decrease and the product's quality improvement. Therefore, the process of software development is impossible without product's quality control.

robot_tests.png

Why do you need automation testing in OpenProcurement implementation?

According to the purposes automated tests fulfill, they are classified into several groups. Thus, tests can be aimed to:

  • prove that the code works properly;
  • detect existing mistakes in the code;
  • verify performance of the whole system in different environments;
  • demonstrate that the program is ready for certain user load;
  • check if the functionality of the application is user-friendly.

Operation of the OpenProcurement projects, including ProZorro and ProZorro.Sale, is hardly possible without automation testing due to the necessity to verify if web platforms are ready to interact with the API and if all the required functionality has been implemented properly. Thus, accreditations are carried out, being a particular procedure of platform qualification that includes automation testing as one of the stages. As a result of an accreditation, platforms that have succeeded in it are granted an official permit to register sales and purchases and to participate in them.

Robot Framework

Quintagroup Quality Assurance team write autotests using Python, Robot Framework and Selenium WebDriver.

Robot is an easy-to-use framework, yet it is powerful enough to provide everything needed for acceptance-level testing. Robot Framework provides a bunch of useful Standard Test Libraries implemented, such as Collections, String , OperatingSystem. Moreover, there is a great variety of external ones that are mostly contributed by the Robot Framework community and serve for different purposes. One of them that we take use of is Selenium2Library with ready-made keywords, used to open a web page in a browser window, input some text, click a button, submit a form, execute arbitrary JavaScript code etc. Another advantage of Robot Framework  is that it is possible to mix and match all the keywords from various libraries and create new keywords.

Jenkins

We use Jenkins to receive the results of platforms testing. Jenkins is an open source automation server that helps to automate the non-human part of software development process. It allows to follow the whole process of testing in real time and saves detailed reports on testing results. The testing results, received upon continuous integration testing at the Jenkins server, are an official confirmation of successful, or failed, platform testing as a part of the accreditation.

If you have any questions, don’t hesitate to contact us! We’ll be glad to provide you with further information you are interested in!

Connect with our experts Let's talk