Without knowing it, software testing has been going on for nearly two years. In the past two years, I have learned a lot about QA. The following is my understanding of software testing.
Compared with development, software testing usually gives the impression that the technology is low, boring, and a lot of repetitive work, in the future, career development will be limited. Indeed, software testing has such problems. However, everything is relative. It is not easy to take the software test job well. Software testing requires engineers to master a wide range of knowledge, divergent thinking, and quick learning of new knowledge.
In my personal experience, my understanding of software testing prior to entry is to find out bugs in the software. After entering the project, the software test engineer is found to be involved in various stages of the project: requirement analysis, review, FC, beta, RC, GM, and the release of the final product, and the upgrade of each product version after release. The degree of understanding of each feature, or even the degree of understanding of the project architecture, determines the quality and quantity of bugs found by software testing engineers. At the same time, communication and communication with Dev are also conducive to identifying bugs with narrow down and final fix bugs. The habit of reading release notes and bugs reported by others in the group, especially those reported by experts, is very conducive to the growth of software testing engineers.
The reason why software testing engineers need to know a wide range of knowledge is that software development and design operating systems, underlying data storage, front-end design, and user experience. As a software testing engineer, you must learn more or less about this knowledge. I did security testing for a while. During this period, I learned the basic concepts of security testing and learned security testing methods such as XSS and JS attacks. When performing automated testing, you need to learn some scripting languages and automated testing tools.
Different phases of the project have different emphasis on testing requirements. For example, before FC and beta accept, you need to thoroughly test all feature and try to dig all the bugs. By now, the RC and GM tests are the most extensive to ensure product stability. At this time, well-designed test cases will play a role, which can help you identify bugs from the corners you have forgotten or ignored. Regular regression tests can also ensure product stability.
the above are some simple insights on software testing so far. I believe that with the further development of future work, I will have a deeper understanding of software testing.