Through the development of these years, the testing level of domestic IT companies has greatly improved, but at the same time, many test engineers also ushered in the personal development bottleneck: Many people from the test engineer to do the position of the Test manager, do not know how to develop the next step, or the mechanical conduct of functional testing work every day.
According to the author's years of experience, a competitive tester has the following three qualities: computer expertise
The professional skill in the field of computer is a quality that the test engineer should have, and is the prerequisite of doing well the test work. While people with no it background can work on testing, computer expertise is essential to a test engineer who wants to gain greater space for development or a lasting competitive edge. Computer expertise consists of three main areas:
Testing professional Skills
Now software testing has become a potential professional. To be a good test engineer, you should first have a solid professional foundation, which is also one of the purposes of writing this book. Therefore, the test engineer should work hard to learn the test knowledge, farewell to the simple "click" Test work, so that the test work with their own expertise to rely on.
A lot of testing expertise, the content of this book is mainly to test personnel should master the basic professional skills. Testing expertise involves a wide range of skills: including the black box test, white box test, test case design and other basic testing technology, but also includes unit testing, functional testing, integration testing, system testing, performance testing and other testing methods, but also includes basic testing process management, defect management, automated testing technology and other knowledge.
Software programming Skills
"Whether testers need to program." "Can be said to be one of the most frequently raised questions by testers." In fact, because developers in our country are generally better treated than testers, the code-writing process is almost all developed, and many people are "forced" to do tests because they cannot develop or otherwise work. The end result is that a lot of testers can only perform relatively simple functional testing, and the ability to perform simple automated tests (primarily recording, modifying, replaying test scripts) with the help of a test tool.
Software programming skills should actually be one of the necessary skills for testers, and many testers have many years of development experience at Microsoft. Therefore, testers must be able to write programs if they want to get better career development. Only can write the program, can be competent for such as unit test, integration test, performance test and other difficult test work.
In addition, the programming skills requirements for software testers are different from those of developers: testers write programs that are designed to work correctly, while taking into account efficiency, especially in the test code related to performance testing. Therefore, the tester should have some algorithm design ability. According to the author's experience, the test engineer should at least master a language such as Java, C #, C + +, and the corresponding development tools.
Network, operating system, database, middleware and other knowledge:
Compared with the development personnel, the knowledge that the tester grasps has the characteristic of "Bo", "art is not pressed body" is a very figurative metaphor. Because the test often need to configure, debug a variety of test environments, but also in the performance test for a variety of system platform analysis and tuning, so testers need to master more network, operating system, database and other knowledge.
In the network, testers should master the basic network protocol and the principle of network work, and lead the test to know that especially to master the configuration of some network environment, these are often encountered in testing work knowledge.
Operating system and middleware, should master the basic use and installation, configuration and so on. For example, many application systems are based on UNIX, Linux to run, which requires testers to master the basic operational commands and related tool software. and WebLogic, WebSphere and other middleware installation, configuration often need to master some.
Database knowledge is more should master skills, now the application system almost inseparable from the database. So not only to master the basic installation, configuration, but also to master SQL. Testers should at least master the use of common databases such as MySQL, MS SQL Server, and Oracle.
As a tester, although not proficient in all knowledge, but to do a good job in testing, should be as far as possible to learn more about the test work-related knowledge. Industry knowledge
Industry mainly refers to testers in the enterprise involved in the field of industry, such as many IT companies engaged in oil, telecommunications, banking, e-government, E-commerce and other industries in the field of product development. Industry knowledge is business knowledge, is another prerequisite for testers to do a good job testing, only in-depth understanding of the product's business process, you can determine whether the developer to achieve the correct product function.
Many times, the software does not run abnormally, but the function is not necessarily correct. Only by mastering the relevant industry knowledge, can you determine whether the user's business needs have been realized.
Industry knowledge and work experience have a certain relationship, through time can be completed accumulation. Personal accomplishment
As a good test engineer, first of all to be interested in testing work: test work is often a bit boring, so love the test work, it is easier to do the test work. Therefore, in addition to the prior professional skills and industry knowledge, testers should have some basic personal quality, that is, the following "Five hearts."
Concentration: Mainly refers to the tester in the implementation of the test task to concentrate, not two. Experience shows that a high concentration of energy not only improves efficiency, but also discovers more software flaws, and the best performers are those who work most intensively in the team.
Careful: mainly refers to the implementation of testing work to be careful, careful implementation of the test, you can not ignore some details. Some defects are difficult to find if they are not careful, such as the style of some interface, text, etc.
Patience: A lot of the test work sometimes seems very boring, it takes a lot of patience to do it well. If you are more impetuous, you will not be "attentive" and "careful", which will let a lot of software defects from your eyes escape.
Responsibility: Responsibility is one of the necessary qualities to do the work well, and the test engineer should carry it forward. If the test does not fulfill the responsibility, or even perfunctory, this will give the test work to the user to complete, is likely to cause very serious consequences.
Self-confidence: Self-confidence is now most of the test engineers are missing a quality, especially in the face of the need to write test code, such as work, often think they do not. To get better career development, test engineers should work hard to build confidence in "solving all test problems."
The "Five Hearts" are just the basic requirements of the test work, the tester should have a lot of quality. For example, testers should not only have a team spirit, but also learn to be tolerant of people, learn to understand "developers", while respecting the achievements of the developer's work-developed products.