Testing is a process of execution of the program to detect defects. The generally accepted methodology for the iterative software development Rational Unified Process presupposes the performance of a complete test on each iteration of development. The testing process of not only new but also earlier codes written during the previous iterations of development, is called regression testing.
It’s advisable to use the automated tools when performing this type of testing to simplify the tester work. “Automation is a set of measures aimed at increasing the productivity of human labor by replacing part of this work, the work of machines”. The process of automation of software testing becomes part of the testing process.
The requirements formulation process is the most important process for software developed. The V-Model is a convenient model for information systems developing. It’s become government and defense projects standard in Germany.
The basic principle of V-model is that the task of testing the application that is being developed should be in correspondence with each stage of application development and refinement of the requirements. One of the development model challenges is the system and acceptance testing.
Typically, this type of testing is performed according to the black box strategy and is difficult for automation because automated tests have to use the application interface rather than API. “Capture and replay” is the one of the most widely used technologies for web application test automation according to the black box strategies today. In accordance with this technology the testing tool records the user’s actions in the internal language and generates automated tests.
Practice shows that the development of automated tests is most effective if it is carried out using modern methods of software development: it is necessary to analyze the quality of the code, merge into the library the duplicate codes of tests, which must be documented and tested. All this requires a significant investment of time and the tester should have the skills of the developer.
Thus, the question arises of how to combine the user actions recording technology and the manually automated tests development, how to organize the automated tests verification, and whether it is possible to develop an application and automated tests in parallel according to the methodology of the test-driven development (TDD).
There are systems capable of determining the set of tests that must be performed first. Such systems offer manually associate automated tests with the changes in the source files of application under test. However, the connection between the source and the tests can be expressed in terms of conditional probabilities.
The probabilistic networks used in the artificial intelligence, could also be useful when defining the relations automatically based on the statistics of tests results. By using Big Data networks we can link interface operations and test data and this will allow reducing the complexity of automation.
Get the full artilce here.