Introduction to the software test series

Source: Internet
Author: User


Interesting stories:

The bug term is intended to be a bug or bug.

[The first computer bug was born in] in, the inventor of the compiler, Grace Harper, led her group to construct a "Mark 2" computer. Suddenly, Mark 2 crashed. Harper found a dead moth on a faulty relay. She pasted the moth in her notebook and noted "the first instance of discovering bugs ". From then on, computer errors are called bugs, and the process of discovering and correcting bugs is called "debug "!

 

I. Defects

 

What are Software defects (I .e. bugs)

Problems, errors, or hidden functional defects in computer software or programs that damage normal operation capabilities.

 

Why Software defects?

The first reason is the requirement positioning error. The Requirement Description document is not written, or is not comprehensive enough. It is often changed. The result is that the initial requirement is wrong, then the software bug will appear. (Here you can see that the bug is not only a programming error, but also because the demand is unclear)

The second source is design errors. Errors such as architects designing architectures and designers designing more details.

There are also some possible reasons for the test error, but the proportion is very small.

 

Cost for fixing Software defects

Designing Software usually requires a planned and well-organized development process. We can find Bugs throughout this process. However, over time, the cost for fixing Software defects has also increased 10 times. You can imagine that the building is the same. It was quite easy to change at the beginning, but the later it was, the worse it was. In addition, it was often impossible to find out where the problem was. It was very likely that some of the buildings had to be demolished and re-built, if the construction period is repeated, you may lose money in the end. Therefore, the increase in costs is directly proportional to the software development process. What we need to do is to discover bugs as soon as possible!

 

Ii. Test principles

 

Software testing is risky

 

It is impossible to fully test the program.

If you want to perform a full test on a program, I advise you not to think about it. It is impossible to fully test the program. First, the input is too large, the output result is too large, and the execution path of the software is too large. And the demand is subjective. what you think is right may be incorrect in the eyes of others!

Testing cannot show latent Software defects

Think about it. If you are asked to test the software, the result of many tests is that no problem is found. But at this time, you can say that this software has no problems, no bugs? Software testing is very similar to the epidemic prevention. You can report problems with the software, but you cannot report the software. Solution: continue the test.

After reading the above two articles, I believe you have a certain understanding of the title "software testing is risky". No one can fully test the software, this also leads to potential bugs in the software, so what we need to do is to reduce the risk as much as possible and stay close to full testing. Here, software testers need to learn a key idea: How to reduce a large number of possible tests to controllable ranges, how to make informed decisions about risks, and what tests are important, which tests are not important.

 

The more bugs found, the more software bugs

Have you ever killed Xiaoqiang? Xiaoqiang has a very domineering title-undead Xiaoqiang!

Here, the bug in our software is like a pest in our lives. One bug is found, and there may be a bunch of bugs nearby. An interesting phenomenon is that bugs in software are also resistant. When we repeatedly use the same test tool for testing, slowly, you will find that the software is immune to this test tool. It is called "pesticide strange thing". It is interesting.

 

Not all bugs need to be fixed

Do we need to deliver a software without any bugs to users? I should know that many software products are listed with more or less defects. Why didn't I change it at the time?

There are many reasons. For example, there is not enough time, it is not really a bug, the risk of fixing is too high, and it is not worth fixing. These can all be the reasons for us not to modify the bug. I remember that I once wrote in a blog post about the bug. Sometimes, we have to leave some space for bugs.

 

Iii. Terms and Definitions

 

Accurate and accurate

As you can understand, accuracy refers to the target hit, accurate in the software industry, and you can refer to the stability of software and the accuracy of computing. We can have a general understanding of this, which helps us determine the Severity Level of the bug, and different companies may have different standards, we need to learn.

 

Validation and Verification

Validation is to ensure that the software meets requirements; verification is to ensure that the software meets user requirements. In this way, you can understand that confirmation is the most basic guarantee, and is more inclined to work in the development process. Verification is actually tested, it is a test of the final product to ensure whether the product meets the requirements in real life.

 

Quality and reliability

If the software has been stable and reliable, we can say that the software is reliable, or even we can say that the quality of the software is very good, but in fact the scope of determining the quality is very wide, for example, software functions, running capabilities, and compatibility. reliability is only one of the criteria for determining the quality of software.

 

Testing and quality assurance (QA)

The purpose of the software tester is to identify bugs as early as possible and ensure bug fixes; software Quality Assurance personnel are mainly responsible for creating and executing standards and methods for improving the software development process and preventing bugs.

Sometimes there will be some crossover between the two. For example, the tester will do some QA work and the QA personnel will also perform some tests. According to the company's arrangement, for example, some companies, testing and QA are the same person.

 

Summary:


I have also said so much, but I have already simplified it as much as possible. This article is relatively fragmented, so you can understand some of the technical terms and specific conditions for getting started with testing. If you want to learn more, you need to check some materials for further study. You are also welcome to discuss with us!


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.