The essence of software testing

The first part-the basic concept of software testing: I am the portal, you can click on me. The
second part-the software development process: I am the portal, you can click on me

Principles of testing

Complete testing is impossible

Reason: too much input, too
      many output results, too many
      software execution paths,
      software manuals are subjective

So we chose to take risks

    Since it is not possible to test all situations, it is an adventure. Therefore, software testing is a risky behavior.
    What we need to do is how to reduce the huge number of possible tests to a manageable range, and how to make wise decisions about risks.

Tests fail to show latent software defects

    This sentence means that after you test, you did not find a software defect, but you cannot report that there is no software defect. For example, if you look for cockroaches in the room, you may not see cockroaches after searching, but you are not sure that there are no cockroaches here, but they have not been found. In the same way, there is no guarantee that software defects will disappear under any conditions. The only way is to continue testing, there may be more.
    Thinking further, we have learned that biology is resistant to pesticides. When you use the same insecticide in the same place, it is effective at first, and cockroaches will be effectively reduced, but after a period of time, cockroaches will develop resistance. Insect repellent is not so effective. The same is true for programmers, each programmer has his own habits, and may often use some test methods and ignore some test methods. So testers must write different, new test procedures.

What is a defect

    I mentioned so many software defects before, so what is a software defect? If you think about it carefully, you will find that this definition will actually become a bit vague. A definition is given in the first part-the basic concepts of software testing . Then consider the following question: there is a problem, the programmer did not find, the tester did not find, the customer did not find, is that a software defect? According to the previous official definition, there is no software defect without seeing it. Therefore, software defects that have not been discovered or observed can only be said to be latent defects. Remember this old question: a tree fell in the forest and no one heard it. Does it make a sound?

Are testers popular in product groups

    The answer is obviously no. The work group the tester does is to check and criticize the work of colleagues, pick faults, and announce the problems found. So if you want to keep the group of members in harmony, please listen to the following suggestions:
        Find defects early : the earlier the impact is smaller, the easier it is for people to accept and
        control emotions : when the tester finds a problem, he is very happy, because his work has Progress, but know that the code is the programmer’s favorite thing. When the tester directly tells the programmer that there is a problem, he can be sure that his first reaction is by no means as happy as you.
        Don't always report bad news . If the tester only reports bad news, then every time you show up, he will know that Trouble is coming. If there is no problem in the test, please tell him, Hey, brother, Good job.

Terms and definitions of software testing

The difference between accuracy and precision

    Here are examples of marksmanship in shooting games.
    We call hitting the opponent’s head as a headshot , then please look at the following four descriptions:
  Inaccurate and inaccurate : I think the legendary " Stroke Master " means
  precisely this but inaccurate : You are aiming at the opponent’s The head hits the next window. Coincidentally, it is still in the same position
  accurately but not accurately : You aimed at the opponent's head, but hit the opponent's stomach, although it did not hit the head and was not
  accurate. And precise : direct headshot
Here is a picture found on the Internet:
Insert picture description here

The difference between confirmation and verification

    Confirmation : Process
    verification to ensure that the software conforms to the product specification : The
    key to the process of ensuring that the software meets the user's requirements is that the product that meets the product specification is not necessarily the correct product or a good product. This is also the difference between software testers and quality assurance personnel . Here is an example of the Hubble telescope in the book. The Hubble telescope mirror is extremely accurate, but it is not accurate enough. The mirror met the requirements of the product specification, but did not meet the initial requirements.

The difference between quality and reliability

    Quality : can be defined as "excellence" or "similar superiority".
    Reliability : just one aspect of quality.

Guess you like

Origin blog.csdn.net/weixin_44895666/article/details/108694364