Click here to tell you what is the basis of automated testing

Definition of automated testing

Use an automated testing tool to verify the requirements of various software testing, which includes the management and implementation of test activities, the development and execution of test scripts.

Automated testing is only part of the strategy and a supplement to manual testing: automated testing can never replace manual testing; in most cases, manual testing and automated testing should be combined to complete testing tasks in the most effective way.

The meaning of automated testing

Usually, the workload of software testing is very large (according to statistics, testing will take up 40% of the development time, and for some software with very high reliability requirements, the testing time even accounts for 60% of the development time). However, many operations in the test are repetitive, non-intellectual and non-creative, and require accurate and meticulous work. Computers are most suitable to replace humans to complete such tasks.

Software automated testing exists relative to manual testing, and is mainly realized through developed software testing tools, scripts, etc. It has the characteristics of good operability, repeatability and high efficiency.

We need to understand why we need automated testing, mainly from the following two aspects:

Limitations of manual testing

Benefits of automated software testing

Limitations of manual testing

It is not possible to cover all code paths through manual testing

Simple functional test cases are indispensable in each round of testing, and they are mechanical and repetitive to a certain extent, and the workload is often relatively large

Many invisible logic errors related to timing, deadlock, resource conflicts, multi-threading, etc. are difficult to catch through manual testing

When performing system load and performance testing, it is difficult to perform manual testing when a large amount of data or a large number of concurrent users are required in various applications.

When performing system reliability testing, it is difficult to perform manual testing when continuous testing is required for a long time and various applications such as simulating a large amount of data or a large number of concurrent users are required

If there are a large number (thousands) of test cases that need to be completed in a short period of time (one or two days), manual testing is almost impossible

Benefits of automated testing

Shortening the cycle of software development and testing can make the product launch to the market faster

Improve test efficiency and make full use of hardware resources

Save human resources and reduce testing costs

Enhanced test stability and reliability

Improve the accuracy and precision of software testing and increase software trust

Software testing tools make testing relatively easy and produce higher quality test results

Automated testing can do things that cannot be done manually, such as load and performance testing.

Prerequisites for automated testing

Before the implementation of automated testing, it is necessary to analyze the software development country to see whether it is suitable for using automated testing. Usually, the following conditions need to be met at the same time:

1. Infrequent changes in requirements The stability of the test script determines the maintenance cost of the automated test. If software requirements change too frequently, testers need to update test cases and related test scripts according to changing requirements, and script maintenance itself is a process of code development, which needs to be modified, debugged, and automated testing when necessary Framework, if the cost is not lower than the test cost saved by using it, then the automated test has failed. Some modules in the project are relatively stable, while the requirements of some modules are highly variable. We can then automate the testing of relatively stable modules, while manual testing is still required for relatively large changes.

2. The project cycle is long enough. The determination of automated testing requirements, the design of automated testing framework, and the writing and debugging of test scripts all take a long time to complete. Such a process itself is a test software development process that takes a long time To be done. If the project cycle is relatively short and there is not enough time to support such a process, then automated testing becomes a joke.

3. Automated test scripts can be reused. If you have worked hard to develop a set of nearly perfect automated test scripts, but the reuse rate of the scripts is very low, so that the cost spent is greater than the economic value created, and automated tests become tests. It is not a test method that can really generate benefits.

4. When manual testing cannot be completed and a lot of time and manpower are required, it is also necessary to consider introducing automated testing. Such as performance testing, configuration testing, large data volume input testing, etc.

Approaches to Automated Testing

The basis of software test automation is to simulate the operation process and operation behavior of the tester on the computer by designing a special program, or to check the computer program like a compiling system.

The principles and methods of software testing automation mainly include:

1. Static and dynamic analysis of the code directly

2. Capture and playback of test process

3. Test script technology

4. Virtual user technology and test management technology.

Shortcomings of automated testing

incorrect beliefs or unrealistic expectations

Lack of qualified and experienced testing personnel

Problems with the test tool itself affect the quality of the test

Inadequate and effective training

Blindly introduce testing tools without considering the actual situation of the company

Did not form a good test tool environment

Other technical and organizational issues

symbol list

Application direction of automated testing

Automated testing and manual testing each have their own characteristics, and their test objects and test scopes are different. When system function logic testing, acceptance testing, applicability testing, and physical interaction testing are involved, the manual testing method of black box testing is often used. .

Unit testing, integration testing, system load testing, performance testing, stability testing, reliability testing, etc. are more suitable for automated testing. The testing of unstable software, software with a short development cycle, and one-off software are not suitable for automated testing.

Typical open source automated testing tools

functional testing tool

insert image description here

performance testing tool

picture

defect library

insert image description here

unit testing tools

insert image description here

Finally: The complete software testing video learning tutorial below has been sorted out and uploaded. Friends can get these For [software testing] friends, it should be the most comprehensive and complete preparation warehouse. This warehouse is also Accompany tens of thousands of test engineers to go through the most difficult journey, and hope to help you too!【保证100%免费】
insert image description here

软件测试技术交流群社:746506216(里面还有工作内推机会,毕竟我们是关系社会。)

Software Testing Interview Documentation

We must study to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Ali, Tencent, and Byte, and some Byte bosses have given authoritative answers. Finish this set The interview materials believe that everyone can find a satisfactory job.

insert image description here

How to obtain interview documents:


insert image description here

Guess you like

Origin blog.csdn.net/AI_Green/article/details/130160616