About the early development history and future development trend of automated testing

Today's software market is completely consumer-oriented. In order to remain relevant, the product must be in a state of constant readiness for release. In the face of changing consumer tastes, how can companies ensure this? Automated testing plays an important role in it, making testers pay more attention to maintaining test plans and ensuring comprehensive test coverage. This article takes this to summarize the concept of automated testing, the generation history and future development trends.

The concept of automated testing

Broadly speaking, automation includes all actions that replace or assist manual testing through tools (programs), which can be regarded as automation, including performance testing tools (loadrunner, jmeter), or a piece of program written by yourself to generate 1 Up to 100 test data. In a narrow sense, the process of manual testing is simulated by means of tool recording or scripting, and test cases are executed by replaying or running scripts, thereby replacing manual verification of system functions. Our more general understanding regards "automated testing" as "automated testing based on the UI layer of a product or project."

Renewal of automated testing (development history)

Software automation testing has made great progress in the past period of time. Each generation of products successfully solved some important challenges, but at the same time introduced different problems waiting to be solved.

The first generation of automated testing started about 15 years ago, recording keyboard input and playing it through hardware, but it lacked the checkpoint function and the test script was difficult to maintain.

The second generation of automated testing started about 10 years ago. At this time, it has been transformed from hardware to generate test scripts through software capture/playback (capture/playback), and also added the checkpoint function. Software can be verified, and the scope of testing is much larger than that of hardware-based automation. The bigger problem is that test scripts are also a programming language, so testers also need to understand programming languages, in other words, they must be able to write programs. And when the software changes, the test script also needs to be updated synchronously, which is a big challenge for the tester, and the tester often re-records the entire test script.

In 2001, the third generation of automated testing was called "test framework", which mainly abstracted test scripts (Note: such as Keyword-Driven Test), allowing non-technical personnel (such as system Analysts, users, etc.) can use automated testing tools to create automated test cases even if they do not understand test scripts or write programs.

The fourth generation of Mercury Business Process Testing: focus on automated testing of business requirements.

With the continuous improvement of testing equipment and testing technology, automated testing technology has also undergone continuous improvement, improvement and development.

Automated test development trend forecast

1. The test task is complex and the workload is large, which puts forward higher requirements on the function and performance of the side test system

In some large-scale or ultra-large-scale integrated circuits, there are thousands of components on each single chip, the circuit structure is very complicated, and there are many test parameters. For some integrated circuits and tests, it is necessary to add a variety of input signals under complex timing conditions, and perform rapid tests within a specified time through limited terminals. These manual tests are not only time-consuming and labor-intensive, but also unable to meet the test requirements. If an automatic test system is used and computer control is used, real-time control, logical judgment, memory storage, and arithmetic processing can be achieved. Use pre-programmed programs to operate quickly and accurately, automatically switch test points and perform repeated tests, and easily adapt to the requirements of complex test content and heavy workload.

2. Fast test speed, high accuracy and high measurement accuracy

In traditional manual testing, generally only measurement data can be obtained first, and then manual analysis is performed to adjust or improve production based on the analysis results. Modern production often requires real-time detection and adaptive processing. In the automatic test system, computer control can be used to automatically calibrate, automatically adjust the test point, automatically switch the range and end section, automatically record and process data, and the test speed is tens to hundreds of times faster than manual testing. Only automatic testing can provide fast enough speed for real-time measurement, real-time processing, real-time control, and integration of testing, analysis, and application of test results. To ensure measurement accuracy, the measurement speed must be increased to ensure that multiple measurements are truly in the same conditions. The high speed of automatic testing provides conditions for multiple measurements and average error processing.

With the development of science and technology, various fields have higher and higher requirements for accuracy. In some cases, if the error exceeds a certain range, the measurement will be meaningless. As we all know, in addition to human error, measurement errors mainly include system errors and random errors. The systematic error is the error that changes according to a certain law when the measurement conditions change. The automatic test system can store this error and correct it during the test. It is also possible to overcome the influence of certain system errors through automatic calibration. On the other hand, as the speed increases, multiple measurements can be performed to reduce random errors.

3. Long-term regular or uninterrupted testing

In order to discover occasional situations or intermittent failures, or some unscheduled objective phenomena, it is necessary to carry out regular tests for a long time to discover and solve problems in time. For example, for the tests of frequency stability, quality control aging, and other similar conditions, manual tests are not only tedious and tedious, but also difficult to strictly follow the regulations. In automatic testing, the computer timing circuit is used to start the test program on time, for continuous testing or monitoring occasions. It can be carried out in a cyclic program. For occasions where logic and data processing are required, conditional transfer and interrupt processing can be added to make the test strict, accurate, flexible and convenient.

4. Testing in dangerous or difficult-to-access sites

As the field of human exploration expands, the scope of testing is also expanding. In some occasions that are dangerous or harmful to human health, testers cannot enter the scene. For example, at the scene of a nuclear explosion, automated tests can be used to obtain results.

5. Extend the life of the test equipment itself

In terms of the testing instrument itself, with the development of computer technology, the degree of intelligence and data processing capabilities have increased. For high-end instruments, the price is relatively expensive. From the perspective of protecting the front panel and prolonging the service life, automatic testing should also be adopted to improve the accuracy of the test data. For the operators who are not familiar with the instruments, they can follow the prompts of the computer. Complete the operation and reduce the damage caused by human factors.

Objective demand is the biggest driving force for the development of science and technology, and it is the above-mentioned urgent need to promote the generation and development of automatic test systems.

Guess you like

Origin blog.csdn.net/newdreamIT/article/details/100040787