Roughly divided into three stages:
The first stage: It is also the introductory stage, that is, the most basic test personnel should have the ability.
This stage mainly performs some manual tests, designs and writes test cases, executes test cases, records bugs, and performs regression tests. In this phase we should be familiar with the test life cycle and testing techniques. The time period of this phase is shorter and can be quickly crossed.
The second stage: the improvement stage, needs to have the rich industry business knowledge, and reserves certain system analysis ability.
This phase can help develop or maintain test or programming standards and processes, analyze software requirements, and obtain testing requirements. Determine the test requirements corresponding test methods, to obtain a test strategy scheme. Participate in peer reviews (software requirements, software test plans, etc.) and serve as advisors to other junior test engineers or programmers. In this phase, you need to expand your programming language, operating system, network, and database skills.
The third stage: The deepening stage, this is also the soft test personnel need a certain effort to reach the stage.
Think for yourself, the advanced to the third stage is divided into three ways: white box testing, automated testing, performance testing.
White Box testing: For most of our testers, this is a very high-level job, and many people see it as the ultimate goal of the testing effort. In fact, it does not imagine the advanced and mysterious, just our general "Junior" testers do not understand the development, self-think development is difficult. In fact, to achieve the white box testing required development capacity is far less high, learn the basic things, the work encountered will not function will check the document, slowly find the answer. Of course, this also requires a long-term study of the accumulation of the process.
Next we'll look at what skills white-box testing requires: First, it's necessary to understand a development language, code doesn't understand, and how to write test code. Right! However, if you are concerned that the developer has written a 100-line code, you might be able to write 200 lines of code to verify that the 100 lines of code are correct. Don't worry, do you have a test frame to help you? Test frameworks like Python are doctest, unittest, and so on. So, after you become familiar with a language, you need to be proficient in a test framework.
White-Box testing requires us to do more than just unit tests, but to test each piece of code for the developer, and also to do integration testing. After multiple unit codes are put together, you need to test this integrated module. You also need to test the interface. Now the system is quite complex, and the various subsystems or modules need to call each other's interfaces related.
Automated testing: The automated testing here mainly refers to the function of automated testing, the following to see what people want to do automated testing skills.
We generally use a certain tool for automated testing, selenium is a more well-known tool, he supports multiple languages, Java, PHP, C # and so on. For my own part, the projects are now web-based. As the web-side function automation testers, because to use automation to capture the properties of these components, so also to the front-end technology, the front-end technology development quickly, a variety of beautiful new components. So there will be a lot of problems, the road will be very tortuous.
Performance testing: Because one system we want to test is a whole, you have to know the whole of a system. Just like you have to treat a person, you can only see a headache, but the patient is stomach pain, you die staring at the patient's head research, you can not find the patient problem. Of course, you can look for a doctor to help you, but a doctor who looks at your stomach may mislead you into judging the patient's problem. Therefore, as a performance tester, we have to learn a lot of the following.
(1) Service system: not only to Windows, but also to learn Linux/unix, the Linux system does not speak proficient, but at least also skilled. and to install a variety of services, review monitoring system performance, the system mechanism should also have some knowledge.
(2) Database: At least familiar with a large database, the use of the database, tuning! Performance problems, not to stare at the program, perhaps the database design is unreasonable or there is a performance problem caused, so we will analyze the database.
(3) System Architecture: Why to learn the architecture of things, the same is a few pieces of wood, can be made into a solid building, may also be made of wind a blow on the chicken coop. Failure to understand the system architecture may be impossible to test and performance analysis cannot be performed.
(4) Other: Network knowledge, because the network environment is also a very important part of the test protocol, often people encounter their own with LoadRunner recorded a half-day did not record things or can not play back the problem, this 80% is the protocol selected the wrong.
In the three directions above, as long as you can do one kind of work, then you break through to the third stage without pressure. When I finished writing this article, I set a goal for myself. It's always good to have a goal, do you?
On the professional planning of software testing