How can we correctly understand automated testing?

Source: Internet
Author: User

 

When talking about automated testing, we generally mention testing tools. Many people think that one or two testing tools are used to automate testing. This understanding is incorrect, at least one-sided. Indeed, the use of test tools is part of automated testing, but "Testing with test tools" is not equal to "automated testing ". So what is "Automated Testing "? Is the semi-automated test process counted as an automated test? Can I define "Automated Testing" as follows?

    • Is testing completed in an automated manner?

    • Automation of the test process?

    • Does manual testing become an automated testing process?

    • How can I avoid manual testing?

Automated Testing exists relative to manual testing, so the true meaning of automated testing can be understood as "Everything canComputer SystemAll automatically completed test tasks have been performed by computer systems or software tools,Program". It contains the following3Layer description:

    • "Everything" not only refers to the work of testing execution-verification of the tested objects, but also other work of testing, such as defect management, Test Management, Environment installation, setup and maintenance.

    • "Yes" means that some work cannot be completed automatically by the system. For example, script development and test case design require creativity, and their work must be handled manually.

    • Even if the system performs automated testing, human intervention is indispensable, including arranging automated testing tasks, testing result analysis, and debugging test scripts.

Strictly speaking, "automated testing (Automatic Testing) "Not equal to" test automation (Test automation)". Automated Testing, simulating manual testing steps, automatically testing the software by executing testing scripts compiled by programming languages, and automatically conducting unit testing, functional testing, load testing, or performance testing of the software. Automated Testing is embodied in the actual test execution (Test execution), That is, the process of manually running test cases one by one is replaced by the process of Automatic Execution of the test tool. Automated Testing emphasizes the use of tools (not just tools, sometimes including policies and artifacts) to complete the test execution, that is, tools to help or assist in the test, this execution process may be fully automated or semi-automated.

The requirements for automated testing are much higher, focusing on the process of Automated Design and Implementation of testing, that is, all testing work can be completed automatically by a computer system, including:

  • Set up and set up the test environment, such as uploading the installation package to the server;

  •  The script is automatically generated, as shown inUMLGenerate runable test scripts, such as status charts and sequence charts;

  • Automatic Generation of test data, for example, automatic generation of a large amount of data required for data load testing;

  • Automatic Execution of the test procedure, including control of the test execution process;

  • Test result analysis, automatic comparison between actual output and expected output;

  • The automatic processing of the test process, that is, the automatic implementation of the test workflow, including testing plan review and approval, testing Task Arrangement and execution, and defect lifecycle.

  • Test report generation function.

In this way, test automation means that the whole process of test automation and test management work are completely automated, which is an ideal realm pursued by test engineers, but it is difficult to achieve. Generally, a complete test task cannot be completed completely through a fully automated process. Automation is unrealistic to the extent that no manual participation is required. Although we cannot fully realize that ideal, we can always think in this direction to optimize every task, all test tasks that can be automatically completed by the computer system have been undertaken and automatically executed by the computer system or tool.

In general, people do not strictly distinguish "Automated Testing" from "automated testing", that is, testing software through tools or programs, generally, a large number of manual operations are not required to complete the test, but only a small amount of manual intervention is required. Automated testing should be based on the purpose of work efficiency and product quality, rather than automation. At some time points, it may not be worth the candle, that is, the investment is too large, and the output is far less than the investment. Out of purpose, testers may become slaves to automated testing. If you want to achieve automated testing by, it is not only unrealistic, but the cost may be very high, and it may cause negative effects and reduce the quality level.

Finally, we have to admit that automated testing and manual testing are often intertwined and complementary. manual analysis is often required for tool execution, you can also use tools to process certain data, logs, or display certain information during manual testing. That is to say, instead of trying to replace all manual tests with automated tests, we should try to use automated tests while respecting manual tests, and give full play to their respective advantages based on their respective characteristics, it perfectly combines manual and automated testing.

 

You are welcome to participate in the discussion.

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.