HSC Sim Automatic Testing Environment
Simkhada, Kumar (2021)
Simkhada, Kumar
2021
Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. Only for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-04-14
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202104122924
https://urn.fi/URN:NBN:fi:tuni-202104122924
Tiivistelmä
The main goal of this thesis work was to research and implement the artefacts to support the testing process in Metso Outotec Finland Oy’s Modelling and Simulation team. A versatile testing environment was needed to perform automatic calculation testing to provide more possibilities to test more features of the Simulation (Sim) Module of HSC Chemistry software. This thesis deals with developing and setting up an automatic regression testing environment, which allows more flexibility to produce a larger number of flowsheet simulation tests, helps in continuous integration and reduces the manual testing currently in practice. The test application developed as a part of the testing environment will work as a tool that helps to perform the repetitive and more complicated tests in a simple way.
The first phase of the thesis work started with a literature survey. The main goal of the literature survey was to generate ideas and concepts from existing publications, scientific articles, journals, etc. Since HSC chemistry is a unique thermodynamic software program developed for Windows desktop platforms, it was somewhat difficult to figure out the exact supporting resources for “Sim” flowsheet calculation engine testing. The majority of the articles found were focused on testing either the user interface component of the web application or the functionality testing of the software. Due to the lack of good sources to support the study, only concepts related to the development of automated testing methods and test automation tools were taken into consideration to support the thesis work. In addition, general feedback from the end users regarding testing was required. The second phase of the thesis work was to understand the opinions of the end users via a survey regarding the calculation engine testing. Three different surveys were conducted with stakeholders from the hydrometallurgical, pyrometallurgical and mineral processing areas. The stakeholders’ key ideas regarding test preparation were taken into consideration for the implementation of the test environment. “Scenario Editor”, the tool used for recording the test data, is well integrated into the HSC Sim module and was thus used to prepare the test cases. In addition, the final phase of the work was carried out to implement the collected ideas in developing the testing tool and setting up an automatic testing environment for performing automatic flowsheet calculation testing. Since everything revolves around the programming interface, at first, a programming interface definition was implemented so that it calls all the necessary methods from the Sim system calculation engine. Thereafter, the test program was implemented in such a way that it uses the Scenario Editor tool to fetch the test data. Finally, an improvement in the UI was made and the application was deployed in the Jenkins test server.
As a result, the test application was able to produce the test in a very simple way by using the Scenario Editor tool. Different types of test cases were used to validate whether the test application worked properly or not. The application was able to detect errors quickly and easily. The integration into the Jenkins test server keeps the user updated on whether there are any failed test cases by automatically reporting such cases. The test tool helps to track where the calculation error happened in the flowsheet test. After estimating the work hours and time spent by the person responsible for quality assurance in the Modelling and Simulation team, it was found that the automatic testing environment could reduce their regression testing workload by 14%-46%. The lower and upper bounds of the range represent the best and the worst testing conditions based on each program increment (PI) cycle of the development per year.
The first phase of the thesis work started with a literature survey. The main goal of the literature survey was to generate ideas and concepts from existing publications, scientific articles, journals, etc. Since HSC chemistry is a unique thermodynamic software program developed for Windows desktop platforms, it was somewhat difficult to figure out the exact supporting resources for “Sim” flowsheet calculation engine testing. The majority of the articles found were focused on testing either the user interface component of the web application or the functionality testing of the software. Due to the lack of good sources to support the study, only concepts related to the development of automated testing methods and test automation tools were taken into consideration to support the thesis work. In addition, general feedback from the end users regarding testing was required. The second phase of the thesis work was to understand the opinions of the end users via a survey regarding the calculation engine testing. Three different surveys were conducted with stakeholders from the hydrometallurgical, pyrometallurgical and mineral processing areas. The stakeholders’ key ideas regarding test preparation were taken into consideration for the implementation of the test environment. “Scenario Editor”, the tool used for recording the test data, is well integrated into the HSC Sim module and was thus used to prepare the test cases. In addition, the final phase of the work was carried out to implement the collected ideas in developing the testing tool and setting up an automatic testing environment for performing automatic flowsheet calculation testing. Since everything revolves around the programming interface, at first, a programming interface definition was implemented so that it calls all the necessary methods from the Sim system calculation engine. Thereafter, the test program was implemented in such a way that it uses the Scenario Editor tool to fetch the test data. Finally, an improvement in the UI was made and the application was deployed in the Jenkins test server.
As a result, the test application was able to produce the test in a very simple way by using the Scenario Editor tool. Different types of test cases were used to validate whether the test application worked properly or not. The application was able to detect errors quickly and easily. The integration into the Jenkins test server keeps the user updated on whether there are any failed test cases by automatically reporting such cases. The test tool helps to track where the calculation error happened in the flowsheet test. After estimating the work hours and time spent by the person responsible for quality assurance in the Modelling and Simulation team, it was found that the automatic testing environment could reduce their regression testing workload by 14%-46%. The lower and upper bounds of the range represent the best and the worst testing conditions based on each program increment (PI) cycle of the development per year.