Software testing is an important part of software development process. With increasingly rapid development cycles and the need for more frequent testing, classic software testing has been replaced by more efficient automated testing.
Automated software testing is subject to external factors that may affect the performance of test execution. Examples of such external factors for mobile devices are network connection quality and the loss of connection to the computer running the tests. Due to undesirable factors, the test execution may be unsuccessful, which indicates that we are in fact examining the stability of the test environment and not the developed software itself.
To limit the influence of external factors on the test results, we designed a control system which monitors various device states that depend on these external factors. The system is divided into a program for obtaining data from devices and a data server where information is sent and saved. Data from the server can be accessed via an API call and then used in a test automation framework.
After the initial system design, a prototype of the system was build. It performs a battery status check, and if the target device is running Android, it checks whether the device is unlocked. If it is not, it unlocks it during the procedure. The test automation framework accesses device status data from the server via an API call and writes relevant records in a test execution activity log.
|