Chapter 10 Software Test Automation



foreword

Software testing is an important part of software engineering and an important means to ensure software quality. With the increasing complexity of software and the continuous development of the software industry, software testing has received more and more attention. This chapter will introduce the definition of automated testing, the role of automated testing, the classification of automated testing tools, and the application of automated testing tools. content.


1. Basics of software testing automation

Automated testing can replace a lot of manual testing work and avoid repeated testing. At the same time, it can also complete a lot of testing work that cannot be done manually, such as concurrent user testing, large data volume testing, and long-running reliability testing. Especially for large-scale projects, or continuous long-term projects, the effect of using automatic testing is very obvious.

2. The role and advantages of software testing automation

In general, the benefits of automated testing (as opposed to manual testing) are the following.
• Produce a reliable system.
• Improve the quality of testing work.
• Improve test productivity.

3. The introduction conditions of software testing automation

(1) Management should be fully aware of the importance of software test automation
(2) have a correct understanding of software test automation
(3) have a good plan and stable application behavior
(4) implementation of test automation must be carried out in many ways Training
(5) Have a dedicated, skilled testing team with adequate time and resources allocated

Fourth, the implementation process of software testing automation

(1) Familiar with and analyze test cases
(2) Classify existing test cases and write a relatively simple test automation plan
(3) Start writing automated test programs
(4) Try to use "data-driven" to cover tests
(5) Write test cases as automated test programs (
6) Continuously improve the automated test system

5. Mainstream software testing tools

1. White box testing tools

White-box testing tools generally test the code, and the defects found in the test can be located at the code level. According to the different principles of the testing tools, they can be divided into static testing tools and dynamic testing tools.

Static testing tools : directly analyze the code without running the code, compiling and linking the code, and generating an executable file. Static testing tools generally scan the code for syntax, find out where it does not conform to the coding specification, evaluate the quality of the code according to a certain quality model, and generate a system call diagram.
Dynamic testing tools : Dynamic testing tools are different from static testing tools. Dynamic testing tools generally adopt the method of "inserting stubs" to insert some monitoring codes into the executable files generated by the code to count the data when the program is running. The biggest difference between it and static testing tools is that dynamic testing tools require the actual operation of the system under test.

  1. BoundsChecker
    BoundsChecker is a very good automatic error capture and debugging tool for the program code developed in the Visual C++ development environment.

  2. Jtest
    Jtest is an automated white-box testing tool for the Java language launched by Parasoft. It improves the reliability of the code by automatically implementing Java unit testing and code standard verification.

  3. JUnit
    JUnit is an open source Java testing framework, which is an implementation of the XUint testing architecture.

  4. JCheck
    JCheck is a tool used to analyze Java execution process and events, and it can monitor the status of program execution in real time.

  5. .test
    .test is an easy-to-use automated unit-level testing and static analysis tool specially designed for .NET development.

2. Black box testing tools

Black box testing tools are suitable for black box testing occasions. The general principle of black-box testing tools is to use script recording (Record)/playback (Playback) to simulate user operations, and then record the output of the system under test and compare it with the predetermined standard results. Black-box testing tools can greatly reduce the workload of black-box testing, and can perform regression testing well during the iterative development process.

  1. WinRunner
    WinRunner is an enterprise-level feature detection tool provided by Mercury Interactive. Used to detect whether the application can achieve the expected function and normal operation

  2. QARun
    The QARun component is mainly used for functional testing of the client in the client/server mode. Functional testing mainly includes the testing of the GUI (graphical user interface) of the application and the testing of client event logic.

  3. Robot
    IBM Rational Robot is the industry's top functional testing tool, it can even help testers to test successfully before they learn advanced scripting techniques.

  4. SilkTest
    SilkTest is an advanced standards-based testing platform for enterprise applications, a product for functional testing of enterprise-level applications, which provides workflow setup, test planning and management for test creation and customization , direct database access and verification functions, enabling users to efficiently conduct software automation testing.

3. Performance testing tools

The main method of performance testing is to pressurize the system under test by generating pressure that simulates real business, to study the performance of the system under test under different stress conditions, and to find out its potential bottlenecks. Therefore, a good performance testing tool must be able to: provide a means of generating pressure; be able to monitor the background system; be able to analyze the pressure data and quickly find the "bottleneck" of the system under test.

  1. QALoad
    QALoad is a load testing tool that supports enterprise-level applications. The tool supports a wide range of testing content and can help software testers, developers and system managers to effectively load test distributed applications. Load testing can simulate the activities of a large number of users, so as to discover the impact of a large number of user loads on the system.

  2. LoadRunner
    LoadRunner is a load testing tool developed by Mercury Interactive to predict system behavior and performance. It can confirm and find problems by simulating thousands of users and implementations and monitoring in real time. For powerful large companies, this software may be more suitable. Its functions are comparable to QALoad. By using LoadRunner, enterprises can minimize testing time, optimize performance and accelerate the release cycle of application systems. Some famous companies, such as IBM, SUN, Oracle, etc. all use this software, but its price is also very expensive.

  3. QuickTest
    QuickTest is a functional automated testing tool (QTP for short). The purpose of using QTP is to use it to perform repetitive manual testing, mainly for regression testing and testing new versions of the same software. Therefore, it is necessary to consider how to test the application program before testing, such as those functions, operation steps, input data and expected output data to be tested. Has been acquired by HP, the official name is HP QuickTest Professional software.

  4. Performance Runner
    Performance Runner (abbreviated as PR) is a performance testing tool. By simulating a high-concurrency client, it generates concurrency pressure on the server through protocols and messages, and tests the load and pressure tolerance of the entire system to achieve stress testing, performance testing, and configuration. test, peak test, etc.

  5. TeamTest
    Rational TeamTest provides a series of tools for all aspects of software testing, including test planning and preparation, automatic generation of test scripts, defect tracking and correction, test reports, test results charting and test progress evaluation. The high-end and scalable Rational TeamTest can help testers isolate the cause of performance bottlenecks. Using Rational TeamTest, testers can analyze factors that cause performance deterioration, such as business transaction processing, customer calls, and system resources.

  6. WebLoad
    WebLoad is developed by RadView Company. The WebLoad performance test analysis tool is designed to test the function, performance, program vulnerability, compatibility, stability and attack resistance of Web applications and Web services, and can analyze the cause of problems and locate fault points while testing. WebLoad is specially designed for testing the performance of Web applications under the access of a large number of users. The control center is carried on Windows 2000/XP/2003 systems, and the load generation module (load machine) can run on Windows, Solaris and Linux systems. The simulated User traffic support. NET and J2EE two environments.

4. Test management tools

Test management tools are used to manage tests. Generally speaking, test management tools manage test requirements, test plans, test cases, and test implementation, and test management tools also include tracking and management of defects. Representatives of test management tools include QADirector, TestDirector, TestManager, TrackRecord, QC, etc.


Summarize

The above is what I will talk about today. This article only briefly introduces the basic concepts of software testing. I hope it can be helpful to you who are reading. If you are also interested in software testing, just follow me to learn.

If you think my writing is not bad, please give me more likes and encouragement. Your support is also the biggest motivation for me to keep moving forward. At the same time, you are welcome to share this article with your friends and learn together. Finally, everyone is welcome to discuss with me the problems encountered in the learning process in private messages and comments, so that everyone can make progress together.

Guess you like

Origin blog.csdn.net/qq_50564231/article/details/132234925