What do you need to know in software testing?

The first step is to test the foundation:

Testing foundation is the most important part of software testing. As long as you are testing, you must learn the basic and theoretical knowledge of testing, no matter what the test is. It probably includes: writing test plans, designing test cases, writing test reports, writing BUG reports, tracking BUG fixes, good communication skills, as well as test methods, unit tests, functional tests, integration tests, system tests, etc. Used in various testing stages.

Step 2: Learn the scripting language.

For example, python is a relatively simple computer language. Considering the long-term development, you need to know C or java. It is said that C language is the most difficult, but it is really used a lot.

Step 3: Learn software testing tools.

It is not difficult to learn software testing tools, but we need to learn them systematically. For example, performance testing tool loadrunner, automated testing tools selenium, Appium, interface testing Jmeter, Postman and so on. Although tools are not omnipotent, they can improve our work efficiency, so we must use them skillfully. The most crucial point is to combine the specific operation of the project and practice the true knowledge, so that the theoretical knowledge can be consolidated in the actual project.

Step 4: Computer hardware knowledge

Anyone who has done performance testing knows that in the process of performance testing, hardware performance is also a very important indicator, such as CPU, memory, IO, bandwidth and so on. If you are doing hardware testing. Not to mention. Switches, routers, firewalls and other devices all need to know something.

Step 5: Database Testing

MySQL database

Introduction to MySQL, command line tools and data management, MySQL data query (conditions, grouping, aggregate function, sorting, paging, join query, autocorrelation, subquery), built-in functions, project exercises, data tables, Python operating MySQL.

Redis database

Introduction of Redis, client and server, data types (string, hash, list, set, zset), various data type operations, Python operation Redis, master-slave and cluster.

Step 6: Project actual combat

It is best to participate in the testing of real projects and accumulate testing experience of real projects.

To be an excellent software tester, if you want to be a better software tester, in addition to the above, you'd better develop a language, that is, code writing ability. Although you can do tests without writing code, the ability to write code is necessary if you want to be a senior test engineer or above. If you can't write code, you can't be an advanced test. Part of the job of a senior test engineer is to write test tools. Although testing also needs to write code, you don't need to be proficient in a certain language like development, but testing needs to know a lot of development languages (for a simple example, your current project is C++ language, and two years later you quit your job, and the development language of the new company is Java or VB, etc. ), so the testing of development languages needs more extensive study.

The prerequisite for becoming a software tester is that you must have a good attitude. Quiet, careful, patient and responsible. If you can't calm down, you can't think about bugs and expand your imagination. The first psychological stress faced by any test is repetitive work. During your testing career, you will encounter many psychological tests, for example, you have no concept of quality, or you are confused because of product release problems, or when it comes to testing bottlenecks. Everyone has his own background and personality. For testing, it is often the time to test their psychological quality. At this time, you need to constantly overcome these psychology.