Transfer from http://www.cnblogs.com/Ming8006/archive/2013/03/07/2947656.html
I. Three competencies
Development capabilities: turn software development, automated testing tools, test management tools development, understanding of third-party testing tools, mining Test team testing personnel needs, understand the business;
Business capabilities: to the software requirements, to provide testers with the requirements of the document, and what is the most important test point, testing process to take what test method can make the shortest test path, coverage, which need to seize the essence of software business
Communication skills: software implementation, improve execution, leadership
Two. Multiple thinking
1. Reverse Thinking mode
· Reverse thinking is used in many tests, such as the inverse of the condition according to the results, so that the Equivalence class division of the input conditions is obtained.
· In fact, the reverse thinking in the commissioning of the use of more, when the discovery of defects, the further positioning of the problem is often upstream, and analysis
· Reverse thinking is relative, is to think in the opposite direction to the conventional thinking, testers can often use it to find developers thinking of loopholes
2. Combined thinking mode
· A lot of things single thinking is no problem, when the related things together can find a lot of problems, such as multi-process concurrency, so that the complexity of the program to a step, but also let the program defect rate increases
· The combination of sorting can be divided into: arranged (ordered) and combined (unordered), for different applications, you can consider using "arrange" or "combination" as appropriate.
· In order to make full use of combinatorial thinking and not to confuse the mind, we should pay attention to "fractal dimension", divide the relevant factors into different dimensions, and then consider its relativity.
3. Global thinking mode
· Things tend to be multi-faceted, when we have mastered the more level, we understand it more clearly, the more conducive to our grasp of its essence, the global way of thinking is to let us from a multi-angle analysis of the system to be tested, try to see the system in different roles, to analyze whether it can meet the needs
· In fact, in the process of software development, we conduct various reviews , that is, through the way of global thinking, so that more people participate in thinking, brainstorming, as far as possible to achieve a comprehensive review of the correctness of a solution and other features
4. Bipolar Thinking mode
· Boundary value analysis is an example of bipolar thinking mode
· To see the stability of the system, we used a stress test
· Bipolar mode of thinking, in extreme cases, see if there is a flaw?
· Attention is two poles, not one pole.
· Testers do long, often easy to go to extremes--occupational diseases, not conducive to communication with people
5. Simple way of thinking
· Stripping off some of the non-key features, chasing the essence of things, so that things simply left "fundamental"
· Test the nature of Things (the nature of the problem) so that we do not deviate from the direction
6. Comparative thinking mode
· When you know things, people tend to compare them with certain concepts in the mind, find the same, different, or classify them into the knowledge system in the brain and, if possible, build a good search method for later use.
· Application mode is a very common example of "comparative thinking", now the mode is very fire, there are design patterns, architecture patterns, test patterns , and so on, some experts for some of the common problems of the solution to find out, after the name, can let everyone convenient reuse
· It is important to have experience here and experience in testing, and comparative thinking is a way of using experience.
7, move up, more wonderful
· Focus on the run-time state of the program
· Traditional structure-based programs can more easily reflect the way in which future programs run in code, while object-oriented code and runtime are significantly separated
· Let's focus on the static structure of the code (such as the class structure) while also paying careful attention to its dynamic (object interaction Network) performance
In fact, these ways of thinking, everyone in the conscious or unconscious use, they each have their own beauty, will our thinking divergent, consciously use them in the question of thinking, sometimes can give us a "vista" feeling.
Three. Two general direction
Two general orientations: Management direction and technical direction
Three core elements: management skills, test skills, business skills.
According to the mastery of three skills and the intersection point between the two, roughly divided into 6 broad categories of direction:
Management direction
Test technology Direction
Business Technology Direction
Technical Support Direction
Quality Assurance Direction
Other directions
Six directions for the core three skills of the approximate requirements, please refer to the following:
(Note: Only for the six categories of development, three core skills to do a simple illustration, does not represent specific values, there is no horizontal contrast value.) )
The six major development directions and corresponding positions of the testers:
Four. Seven Stages
(Functional testing-automated testing-safety/performance Testing-Test management)
First stage: ( tester ) Junior test Engineer
Self-condition: an individual who has a degree in computer science or some experience in manual testing.
Specific work: Execute test cases, record bugs, regression tests, record regression test scripts with test tools such as QTP, and execute regression test scripts .
Learning direction: develop test scripts and become familiar with test life cycles and testing techniques .
Phase II: ( test engineer ) program analyst
Self-condition: A test engineer or programmer with 1-2 years of working experience. Have the initial automation test ability, perfect the automation test script .
Specific work: design and write test Cases , write automated test scripts and act as a leader in early test programming .
Learning direction: develop skills in programming languages, operating systems, networks and databases . (e.g. Java,python,linux,sql)
Phase III: ( Senior Test engineer ) program analyst
Self-condition: A test engineer or programmer with 3-4 years of experience. Have a certain business knowledge of the industry, reserve the ability of the system analyst.
Specific work: 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.
Learning direction: continue to expand your programming language, operating system, network and database skills .
Stage four: head of the test group
Self-condition: A test engineer or programmer with 4-6 years of experience. With a wealth of industry business knowledge, with the ability of the system analyst, specialized performance testing.
Specific work: Responsible for the management of the name of the test engineer or programmer. Focus on skills, with some scheduling and job size/cost estimation responsibilities. analyze the cause of the performance bottleneck and provide a bug resolution strategy for the development team.
Be responsible for scheduling , work size/cost estimation, delivery of product according to schedule and budget target, responsible for the technical method of developing project, can provide support and demonstration to users ;
Learning Direction: Performance testing, testing skills
Fifth stage: Senior director of Test/programming ( Senior safety or performance Test engineer )
Self-condition: A test engineer or programmer with 6-10 years of experience.
Specific work: Responsible for the management of 8~10 technical staff. Performance testing of the overall scheme design, software system performance problem location and performance optimization, memory optimization and analysis of data overflow, such as analysis of system security loopholes . Responsible for scheduling, work size/cost estimation, delivery of products by schedule and budget targets. Responsible for the technical methods of developing the project. Provide support and demos for some users.
Learning Direction: Developing technical expertise in specific areas
Sixth stage: Testing/Quality assurance/Development (project), Manager
Self-condition: have more than 10 years of working experience.
Specific work: Manage 1 or more projects attended by 8 or more people. responsible for the entire development life cycle business in this area (testing/QA/dev) . Provide interaction and a lot of demos for some users. responsible for project cost, schedule, plan and Personnel Division
Seventh stage: (company-level quality director) Program Manager
Self-condition: More than 15 years experience in development and support (testing/quality assurance) activities.
Specific work: manage the people who are engaged in several projects and the entire development life cycle. Responsible for grasping project direction and profit and loss responsibility
V. Career planning
Step1: Campus Stage (1 years before graduation ~1.5 years)
Many people's career planning is to work after the start, in fact, to do so, there are great limitations. Those who have worked, have an experience, is their first job, will affect the development trajectory of 5-10 years, and even will have an impact on life. Therefore, choosing a suitable job as a starting point is a problem that must be considered clearly in the campus.
Because China's education is basically a theoretical education, everyone in the work of the practical ability is mostly weaker, although there are shortcomings, but there is a good side, that is plasticity is better. Plasticity good represents the choice of room can be very large, therefore, everyone in the selection of the first job, we should fully combine their education background, personal ability, hobbies, long-term goals and so on, make rational decision.
Software testing, especially black-box software testing, is a low-start, fast-starting, and relatively large-space career, so for many students, as the entry into it employment is very suitable for the primary position.
The planning of the campus stage, the main choice is the big entry direction, of course, at this time can also give themselves a long-term goal, but do not plan too much, because, before the entrance, all are still unknown, grasp the route can.
The following assumes that you are choosing software Testing ~ ~
Step2: Entry Stage (3 months to year)
For the new recruits, this period is a comprehensive understanding of the period, the most able to learn new knowledge, but also the most hard-fought enthusiasm and motivation. We suggest that you can take this momentum, as far as possible to understand the area of the full picture, understand the main branches of the content, characteristics, advantages, limitations and so on, and examine their current work environment, combined with personal matching degree and interests, according to the foregoing content to adjust their plans.
For the test industry, there are generally several types of technical aspects: black box testing, white box testing, automated testing, testing tools, specialized business skills , etc. related management aspects are: test management, Quality management, project management .
In the face of the various directions above, we suggest that you can understand the connotation of a little, and then determine one or two, as the medium and long-term main direction, up to this standard, the basic has achieved the introduction, as to whether to enter the hall, it is necessary to look at the late efforts.
Step3: Improvement phase (3 years after entry)
After the introduction of the choice of management or choice of technology, in fact, this problem is Wucken, the key is to look at their own long-term positioning. However, I personally suggest that the current stage is still technology-oriented . After all, in a technical environment, to do a good job of management, there is no solid foundation, but also difficult to serve the public.
This stage is the most easy stage for people to slack off. After all, the enthusiasm has already been the day after day of the complex work to cool, have a certain work experience, competent, for most people, is not a problem. Family, entertainment began to occupy the mainstream of amateur life. However, after all, we are still very young, most people at this time is only more than 20 years old, this slack is also very scary. Therefore, planning to improve their core competitiveness at this time is particularly critical.
Improvement is to improve, but for most people, there is no need to struggle, at this time in a relatively stable position of you, you can consider to refine their own medium-term planning. According to the chosen direction, develop a self-improvement plan and define a milestone for self-examination (e.g. quarterly or semi-annual), and learn a regular lesson every day or week. Cling to a goal-"progress a little every day", a few years is not a problem.
I am personally opposed to quick success, inclined to stabilize the tie, this stage bogey to do "Tiger Balm", but should strive to become a skills "experts."
For those who choose to do technology, this phase of the standard, generally at least to be familiar with the technical direction of the majority of the technical details of your choice , "the details of success or failure" well, although the ability to grasp the global is necessary, but as a technology, if not drill very deep, I am afraid it is difficult to pose as a master.
For those who choose to do management, my personal inclination is: This phase of the concept of contact management, and can intervene in management, but this stage is not suitable for full access to management (unless you have a deeper consideration, you can not stabilize the tie). The concept of learning management is very important, in fact, the management of more a way of thinking and doing things, the knowledge is very deep, and not like technology, it will be so significant, therefore, it is recommended to read more and learn from each other, and strive to form their own style of doing things. Senior Software Testing engineers, test leaders, etc., are good technical features of the management positions , at this time you should be able to do this.
After this phase is reached, you can also join the ranks of veteran, do not need to worry about the job, you should be able to easily jump or be harassed by headhunters, to achieve this stage, you have to do more in-depth planning.
Step4: Sublimation stage (5 years after the veteran)
At this time, you are about to enter middle-aged, regardless of whether it has been focused on technology or preference management, are facing the double pressure of family and society, you can not like the young people all day hard, you need stability , therefore, can not frequent job-hopping, suggest considering more formal and potential enterprises, Consider giving yourself a long-term development plan .
Because there is the background of the early details of the support, at this time, you need to improve their macro-grasp ability. Even if the technology, but also to consider the appropriate transformation management (Chinese characteristics are: engineers can hardly exceed 35 years old, the average person to 30 years old is not transfer management is to turn business). Of course, the average person is the technology to do the better, management, the more easily hit the key to the project. But the key to people who come from technology is to start developing the ability to deal with people. The key to this phase is the need to evolve your own management style, with the ability to coordinate parallel transactions.
Of course, there is a difference between pure management and technology-based management. For the pure management of the people, skilled application of the scientific concept of management, the formation of their own style is particularly important. Pure management of test managers, not only can do a good job in the management of testing, in fact, can also do the project and even other management. In fact, regardless of the management of the object is what, their management philosophy is still interlinked. From the test management to explore a lot of experience, can be well promoted in other areas of management. And for the technical management of the people, mainly with good technical team , at the same time, continue to add new technical knowledge, with the tight technology trend. At this time, you have a strong technical background support, do not need to delve into the details, just insight into the core, reasonable arrangements for your team members can be.
At this stage, perhaps a few people will choose to leave the specific enterprise, and began to engage in testing consulting , it is a new beginning full of challenges, but also must have a pre-accumulation to be competent.
For most people, one of the issues that needs to be considered in this phase is whether to put the test as a lifetime position, and if so, basically achieve the above goal, maintain the status, basically can be retired. If not, it would be more frightening. In fact, I do not recommend this stage of transformation, unless there are good reasons and excellent opportunities. After all, at this stage, you have been paying for at least 5 years of effort, but also the prime time of life, time is gone. It is important to be cautious when changing careers in the current state.
Software Testing development Planning