What exactly is software testing? Who is suitable for software testing? Novice look here!

Insert picture description here


Summary

There are many related books in the software testing industry, including a classic "The Art of Software Testing". In this book, the definition of software testing mentioned is: "Program testing is a process performed to find errors."

The entire definition has been widely recognized in the industry.

The purpose of the test:

1. Find errors and check defects: Find out various potential errors and defects in the software with the least amount of manpower, material resources and time, improve software quality by correcting various errors and defects, and avoid potential software defects and errors after the software is released Commercial risks caused by hidden dangers.

2. Promote improvement and prevent errors: use the test results and test information obtained in the test process as an important input for subsequent project development and test process improvement to avoid repeating the same mistakes in future project development and testing.

Software testing runs through the product life cycle:

Some people who don’t understand testing think that testing is just for the software to be accepted. In fact, it is not. Software testing runs through the entire product cycle, but at each stage, the role of participation is different. I mentioned in the previous article "What are the job responsibilities of a software test architect? How to become a qualified architect?" The software test architect mentioned in my previous article is actually a role that runs through the entire product life cycle. Those who are interested can go and have a look. Yes, testing is the implementation of all links in the product life cycle, from the beginning of requirements to test planning, test design, and test case design and review and execution, and finally regression testing. After the product is released and launched, it will track user feedback and cycle until the product is out of maintenance.

The software bugs are endless, what should I do for testing?

Software testing cannot be done endlessly. We must know that we cannot find all the problems in the software. It is impossible to guarantee that all the defects we have found will be corrected before each new version goes live, so repeated testing will find more problems and reduce the probability of risks.

Who is suitable for software testing? Seated!

Work proactively

In fact, no matter what industry or job, attitude determines success or failure. The same is true in the testing industry. Work attitude is the most important aspect of evaluating a tester. If a high-level tester (referring to pure technical ability) does not have a good working attitude, sometimes in the test team not only can’t work on the test When it comes to the role of promotion, sometimes it also acts as a hindrance, and a tester who is willing to work, even if his technical level is not high, and the person is not smart, but he is serious and responsible for his work. He can do everything you tell him. Do it seriously, this tester will also greatly promote the testing work.

In fact, as mentioned above, the threshold for testing entry is not high. Therefore, the attitude is very important. This is also the basis for the selection and employment of various employers. This is why software testing likes to have fresh graduates.

Therefore, effective use of working time and active learning are very important for a person's development.

Serious, careful, not afraid of trouble

Testing is a tedious job. If you are not serious, careful, and not afraid of troubles, I suggest you better not enter this industry, otherwise, you will definitely be the one who suffers in the end.

For example, in the interface test of the switch software, there will be many operations in the computer room, such as plugging and unplugging the network cable, plugging and unplugging the service board, etc., as well as the meticulous observation point, the correctness of the port light, and the up/down of the interface. All need to be carefully observed and not afraid of trouble

When the tester is making test requirements, each requirement point in the system requirement report written by the developer will become several test requirement points in the test requirement (you have to verify normal conditions and abnormal conditions), sometimes People feel like they are playing a game of permutation and combination, but there are too many permutations and combinations in this game. If you are not patient enough and not careful enough, it is easy to miss the test requirements, and these omissions are often problem points ( Developers are also easy to forget to consider these places, resulting in problems).

In addition, the data input for the test work is a very cumbersome thing.

For example, a date legality test can easily summarize three or four hundred test data. What amount of test work do you want?

What’s more frightening is that testing is not a one-time job. Regression testing is often required. All tedious tasks must be repeated continuously. When repeated, testers tend to reduce the number of test cases because they are afraid of trouble, resulting in poor testing. comprehensive. So serious, careful, and not afraid of trouble are the necessary qualities for a good test.

Strong learning ability, good at summarizing

Constantly learning new technologies, constantly summarizing the problems encountered in actual work, solving methods, and organizing them, is the best way for a tester to improve his technical level.

Two more points need to be explained:

1. With the increasing professionalization of testing work, the original low-level testers are increasingly unable to meet the needs of testing. The use of testing tools, the update of testing theories, and the application of new technologies all require testers to continuously improve their level;

2. A good tester must not only understand the test technology, but also have a good understanding of the tested system, development environment and tools, and system architecture to formulate a reasonable test plan. That is to say, the person in charge of testing must not only understand the test technology, but also understand Mainstream development technology, architecture and tools (although you don't need to be an expert), all these require continuous learning and summary by testers.

Master the test theory

Development tools are changing, testing tools are changing, the system being tested is changing, everything is changing, so what is the most important thing for a tester is to learn. I personally think it is the study of testing theory.

Outline design documents, detailed design documents, and requirements documents are our standards for formulating test requirements and our criteria for judging whether there are problems in the system, while outline design documents and detailed design documents are the basis for us to make test cases.

Our methods of dividing equivalence classes, boundary value tests and other basic tests all need the support of these documents. Of course, each different type of test has its own special features. For example, the test of mobile phones requires you to have a certain degree of communication theory. Understanding (that is, the system environment),

Therefore, good testers must master the test theory in number. If you think your testing theory is already good, then answer the question about the difference between performance testing, load testing, and stress testing.

Don’t talk about it, but charge ahead

How to implement it is to truly reflect a person's level. At first, Chinese scholars were afraid of killing their heads, and a very terrible phenomenon was produced, which was just a clear discussion, and they were never willing to practice.

This bad habit is now called high eyes and low hands. Only when we solve actual problems can we discover the shortcomings of our solutions and what new problems will arise, so as to continuously improve our work

Therefore, I personally think that good testers are always those who charge in the front, and in actual work is the best way to improve functional capabilities.


Finally: benefits

In the technology industry, you must improve your technical skills and enrich your practical experience in automation projects. This will be very helpful for your career planning in the next few years and the depth of your testing technology.

In the interview season of Golden 9th and Silver 10th, job-hopping season, organizing interview questions has become my habit for many years! The following is my collection and sorting in recent years, the whole is organized around [software testing], the main content includes: python automation test exclusive video, Python automation details, a full set of interview questions and other knowledge content.

May you and I meet and you will find something! If you want to exchange experience in software testing, interface testing, automated testing, and interviews. Follow the WeChat public account: [Sad Spicy Article] Receive a 216-page software test engineer interview book for free. And the corresponding video learning tutorials are free to share!

Recommend good articles:

What kind of person is suitable for software testing?

Essential Linux knowledge points for test engineers

Summary of 2020 Software Test Engineer Interview Questions (with answers)-After reading the BATJ interviewer, the interviewer gives you a thumbs up!

The higher the level, the simpler

Do you really understand Python automation? This article can give you 90%

Guess you like

Origin blog.csdn.net/weixin_50271247/article/details/112988465