A must-see for testing novices: basic knowledge of automated testing

1. First of all, what is automated testing?

Automated testing is a process that transforms human-driven testing behavior into machine execution. Usually, after the test case is designed and passed the review, the tester executes the test step by step according to the procedures described in the test case, and compares the actual result with the expected result. In this process, in order to save manpower, time or hardware resources and improve test efficiency, the concept of automated testing was introduced. Test automation can automate some repetitive but necessary tasks in the existing formal testing process, or add additional tests that are difficult to perform manually.
Insert picture description here

2. What are the main automated tests?

There are generally three types of automated testing: unit automated testing, interface automated testing, and UI automated testing.

Among them, unit automation testing is generally carried out by R&D personnel. Testers mainly conduct automatic testing of interfaces and UI. However, due to frequent changes in UI requirements, interface testing is the most commonly done by testers

3. What are the design patterns of automated testing frameworks?

There are four main modes of automated testing framework design:

(1) Distributed. Refers to the test that requires multi-threaded or multi-process testing on multiple computers. This mode is mainly aimed at large test cases and the commonly used tool is grid;

(2) Data-driven mode. Refers to the separation of the test program and the data needed for the test, and the data needed for the test is directly called each time the program is tested;

(3) Keyword-driven model, which is mainly derived from the three elements of who to do, how to do, and what to do. It only needs to call the key function each time, even people who do not understand the code can write it. This is true for many automated test tools such as KAMA. Testers only need to understand the logic of the test function and write automated test scripts by calling the internal functions of the tool.

(4) Mixed mode. Refers to a mode that uses the above two or more methods.
Insert picture description here
Fourth, the advantages of automated testing

Mainly have the following advantages:

(1) Regression testing is more convenient and reliable, can run more and more tedious tests, and is fast and efficient;

(2) Perform some manual tests that are difficult or impossible to perform, such as a large number of concurrent users;

(3) It can make better use of resources, has the characteristics of consistency and repeatability, and the automated test scripts are completely reusable;

(4) Improve the credibility of the software;

(5) It can be tested in multiple environments.

Five, the disadvantages of automated testing

(1) It is never possible to completely replace manual testing. Automated testing cannot achieve the coverage of manual testing, and not every test case is suitable for automation.

(2) There are far more bugs found in manual testing than automated testing. Automated testing is almost impossible to find new bugs. The biggest use is to regress, to ensure that previous bugs do not reappear in the new version.

(3) Automated testing tools are relatively rigid and have poor flexibility. The effectiveness of automated testing depends entirely on the test engineer.

(4) The cost is large and the risk is high. The technical requirements for testers are high, as are the test tools.

(5) Test cases need to be updated according to version iterations, and there is a certain maintenance cost

(6) The output value of automated testing often lies in long-term regression testing, and the role played in the short term may not be obvious.
Insert picture description here
Six, suitable for the introduction of automated testing

(1) Regression testing, repeated testing operations such as single data entry or keystrokes have caused unnecessary waste of time and manpower;

(2) In addition, the tester's understanding of the program and verification of the design document usually also rely on test automation tools;

(3) The use of automated test tools is conducive to the generation of test report documents and the consistency of versions;

(4) The automation tool can determine the coverage path of test cases, and determine the coverage of the program logic flow and control flow of the test case set.

(5) The project cycle is long, the system version is continuous, and the demand does not change frequently

(6) The test object of the system can basically be recognized normally, and whether it can provide a solution for the unrecognized control.

(7) There are not a large number of unrecognizable third-party controls in the system.

(8) Repeated testing is required, such as reliability testing, regression testing, etc., which require thousands of system tests.

Seven, situations that are not suitable for automated testing

(1) The project cycle is short and the demand changes frequently. Even for a long-period project, if the requirements change frequently, it is not suitable for automated testing.

(2) When the software version is not stable, and the main function or a large number of functions may be changed again, it is not suitable for automated testing.

(3) There is no clear project for automated test planning, measures and management.

(4) Test automation is not recommended when most objects cannot be identified and script maintenance is frequent and difficult.

Zhuoma Software Testing is a third-party software testing service organization that specializes in software testing [with CMA and CNAS dual qualifications]. It can provide various software testing services according to your needs and issue qualified and effective software testing reports. If you have test requirements, you can find Zhuoma Software for evaluation

Guess you like

Origin blog.csdn.net/wunian570/article/details/108072891