Which is more important, manual testing or automated testing?

Let me first express my point of view: automated testing is an effective supplement to manual testing, and I agree with this point of view.

However, automated testing can dominate or even replace manual testing, which I think is impossible.

What is automated testing?

Automated testing is a test method that executes script steps in a certain order or random order according to the scripts we have written in advance, and compares the expected results to obtain the actual test results.

Since it is a pre-written script, the automated test is actually to verify whether there is a problem with the current logical branch or black box function.

Use cases cover code branches, and there are certain omissions. It has been verified in several companies that use cases cover up to 70% of the code logic; and the proportion of bugs found in use cases will not exceed 60%. The remaining 40% depends on the tester's experience and familiarity with the business, so manual free testing or exploratory testing is still necessary.

That's right, it's absolutely doable. But it brings up the second question: How much higher is the maintenance cost of automated testing compared to manual testing? If it is even, then it is reasonable for you to write all of them as automated scripts. If it is too high, many engineers will only convert some heavily repetitive use cases to automation.

Is manual testing or automated testing important in software testing?

This question seems to be asked by many people. Which is more important, manual testing or automated testing❓ Answer: Both are important, and there is no question of which is more important.

For software testing, if the software function logic, interface, etc. change frequently, automated scripts are often not necessarily adapted to the next version, and it takes time to debug each version, which is called maintenance cost for test engineers.

If the debugging time is too long and the manual testing has already been completed by yourself, then the value of automated testing does not exist.

So to sum up, I think automation and manual testing are equally important, and relatively speaking, manual testing must dominate in the early stages of product development or in some small companies.

Both manual testing and automated testing are carried out on the basis of a correct understanding of user needs and functional requirements, and adequate test design for test objects.

Divided according to the testing phase or functional stability, manual testing is more suitable for software modules, integration testing phases or low functional stability (many defects, rapid changes, etc.). If automation is carried out at this time, excessive automation development and maintenance costs will be introduced.

Automated testing is more suitable to be carried out in the later stages of product iteration or when the functions are relatively stable, and is usually used in regression testing scenarios

According to different test objects, for example, when testing millions of metadata migration and aggregation processing, due to the diversity of data, it is difficult to ensure the quality through manual testing. Naturally, it is necessary to consider automated methods to improve testing efficiency and ensure testing. quality. When time is limited, use automation to cover as many repetitive operations as possible.

At the same time, automation is not a mechanical application. It is very important to choose a suitable automation framework according to different business scenarios, which can effectively improve the efficiency of test development and reduce maintenance costs. For example, for a business module with a strong process, using a keyword-driven test framework is more conducive to the organization and maintenance of use cases. Commonly used automation frameworks also include data-driven testing frameworks and modular testing frameworks.

The type of automated testing should also be adapted to local conditions, such as ui automation, interface automation, etc., and it is also necessary to select the appropriate type based on business characteristics and underlying architecture.

In software testing, manual testing is the basis

Automated testing is a means of improving efficiency and a future trend. To do a good job in testing, both are very important and indispensable. Manual testing A complete test behavior may not include automated testing, but it will definitely include manual testing.

Manual testing is to comprehensively verify the overall requirements of the product under test. After classifying all the data that may be input by real users and performing equivalence testing, it is easy to find errors in the program.

That is to say, manual testing is based on the user's point of view, starting from the corresponding relationship between input and output, and focusing on the correctness of software functions.

Manual testing mainly tries to find the following types of errors:

1. The data that may be input by the user is varied, so when testing manually, it is necessary not only to test all legal inputs, but also to test those inputs that are not legal but may appear. This requires the introduction of test cases to quantify and manage the types of these inputs, such as equivalence classes, boundary values, causal diagrams, etc., which are common use case design methods.

However, even if a few testers test without eating, drinking or sleeping within the specified time, they cannot cover all possible user usage scenarios. At this time, it is necessary to introduce automated testing methods.

2. For example, when launching a new version, in addition to verifying whether the new function is correct or not, it is also necessary to ensure the normal operation of the old function. But for old functions, there is no need to manually run the test cases every time, which is too time-consuming.

We can write an automated script for old functions (such as login and registration pages, user feedback pages and other pages that are rarely touched and changed), and let the script run by itself every time. Generally, there is no major problem.

3. There are many models to be covered in the current mobile test. Apple is fine, but there are simply too many Android devices. If you manually go for compatibility with a few, you won’t be able to take care of any more, which will delay the progress. Writing an automated script that can run on all the models you want to be compatible will save a lot of manpower and time.

Of course, automation also has disadvantages. Most of the time, the script can only be used once. If a script is written for a certain function, the next time the function is changed, the script will basically become invalid.

Finally, I would like to thank everyone who has read my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, you can take it away if you need it:

insert image description here

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

These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can help you too!

Guess you like

Origin blog.csdn.net/lzz718719/article/details/132496932