Ali's 5 years of experience, how does functional testing advance to automated testing?

I. Introduction

I have come into contact with too many testing peers. Since most of them have been doing manual testing before, they are now eager to do automated testing, and many of them have worked for more than 5 years. I have been engaged in software automation testing for nearly ten years. I have been exposed to the underlying server, API, Web, APP, H5, etc., and I have a good understanding of automation. Share your personal experience here.

If you don't understand automation at all, it's just empty shouting every day to do automation.

So if you want to do automation, you must first understand some common problems in automated testing.

2. What is automated testing?

Automated testing, as the name suggests, automates the work of testing.

Use some automated testing tools or build your own wheels to simulate the previous manual point/write work and verify the results to complete the entire testing process. Such a testing process is automated testing.

Because every case of automated testing starts from manual testing, the basis of automated testing is manual testing.

3. Why Automated Testing

1) Automated testing saves costs (according to the project)

2) Some test items are difficult to implement manually (manual cost is high)

3) Project quality process needs

Fourth, the advantages and disadvantages of automated testing

Advantages: Regression testing is more convenient and reliable; it can run more and more tedious tests, and it is fast and efficient; it can perform some tests that are difficult or impossible to perform by manual testing, such as a large number of concurrent users; better use of resources, with the characteristics of consistency and repeatability, and automated test scripts are fully reusable; it improves the credibility of the software; testing in multiple environments, etc.

Disadvantages: relatively high maintenance costs

System development time does not necessarily decrease

Still have to rely on manual testing, many problems cannot be found

5. Classification of automated testing

According to the purpose of testing, it can be roughly divided into: functional automation testing, performance automation testing

According to the test object, it can be divided into: Web application test, APP test, interface test, unit test, etc.

Functional automation

The purpose of testing is to find out whether the functions implemented in the software meet the user's requirements and specifications. Practice has proved that the purpose of implementing UI automation testing is not to find defects in the software system, but to verify whether the system can run normally.

In addition to automated testing based on UI, we can also test based on network service interface providers. Functional testing based on interfaces is more common and very effective.

In addition, testing can also be performed based on the basic code of the system, such as unit testing and integration testing. This phase of testing is also called white box testing. We can directly test DAO and Service services. The commonly used testing technologies here include Junit, TestNG, Mock, Stub, etc.

performance automation

Automated performance testing uses testing tools to simulate high concurrent loads for stress testing to find bottlenecks in the software system under high load conditions, including performance bottlenecks of the application itself, network bottlenecks, server hardware resource bottlenecks, data storage servers, etc. Usually, it can only be done with the help of automated testing tools. Common performance testing tools include Loadrunner, Jmeter, Ngrinder, Gatling, etc. No matter which testing tool is used, it basically consists of three parts: test script management, test scenario configuration, and monitoring results.

Similar to functional automation, the performance test work object can also be oriented to the user UI layer, or the service interface provider, or even directly to the underlying basic business logic layer. Most of the performance test simulations through the user layer are tests that are closest to real user scenarios, and it is also the stage where performance testing must be implemented.

6. The process of automated testing

7. Common tools for automated testing

Below I briefly list common tests and the best testing tools for them.

Performance testing tools  : Loadrunner, Jmeter, Ngrinder, Gatling, each testing tool has certain differences and limitations, you can refer to related documents for details.

Functional testing tools  : Selenium, QTP

App automation testing tools  : Appium, UI Automator, MonkeyRunner, Android UI testing is recommended to use UI Automator, which is an automated testing framework provided by Android and basically supports all Android event operations. IOS apps can optionally use Appium.

Interface automation testing tools  : Junit, TestNG, OKhttp, HttpClient, Spring Restful, etc., need to have some coding experience, of course, there are ready-made tools, such as Postman, HttpRequester, SoapUI, etc.

Unit testing tools  : Junit, TestNG, EasyMock, Mockito, JMockit, etc.

Eight, what conditions are suitable for automated testing

1) Possess the ability to code

Master a development language, java, Python, ruby, c#

2) Familiar with the system under test

For example, if you are a web tester, you must understand js, css, html, xpath

If you are testing on the mobile terminal, you must have the basics of Android development and iOS development, and be able to debug apps

If you are a C/S tester, you must be familiar with TCP and IP protocols

3) Master a set of automated testing framework (tools)

Such as selenium/appium; nunit/testng; robot framework/cucumber

4) Be good at learning, to know what it is and why it is so

The IT industry is changing too fast, and emerging things appear frequently. Only by continuous learning can we keep pace with the times and not be eliminated.

Nine, in a word

Learn a development language Java/Python, learn a testing tool selenium/appium, master a testing framework, and then seize the opportunity to easily transform into automated testing.

The following is the supporting information. For friends who do [software testing], it should be the most comprehensive and complete preparation warehouse. This warehouse also accompanied me through the most difficult journey. I hope it can help you too!

Software testing interview applet

The software test question bank maxed out by millions of people! ! ! Who is who knows! ! ! The most comprehensive quiz mini program on the whole network, you can use your mobile phone to do the quizzes, on the subway or on the bus, roll it up!

The following interview question sections are covered:

1. Basic theory of software testing, 2. web, app, interface function testing, 3. network, 4. database, 5. linux

6. web, app, interface automation, 7. performance testing, 8. programming basics, 9. hr interview questions, 10. open test questions, 11. security testing, 12. computer basics

Information acquisition method:

Guess you like

Origin blog.csdn.net/myh919/article/details/131914960