What soft skills a tester should have

Soft skills actually refer to those "skills that are not easily seen", which are the sum of a person's "skills that stimulate one's own potential and amplify one's resources by winning the approval and cooperation of others to achieve greater success beyond one's independent ability".

Soft skills are actually the sociological term of EQ (Emotional Intelligency Quotient), which consists of a series of elements that can reflect personal characteristics, including a person's personality traits, social skills, communication skills, language skills, personal behavior habits, Be friendly, positive, etc. Soft skills and hard skills (those that are required as a job requirement and that partly reflect a person's IQ) are complementary. Soft skills (emotional intelligence) can play a very important role in an organization's success. In general, soft skills are reflected in the ability to solve and deal with problems in work and life on the one hand; on the other hand, they are reflected in the ability to amplify one's own resources to achieve greater success by winning the approval and cooperation of others.

In the software development life cycle, in addition to independently completing testing tasks, testers also need to cooperate with different stakeholders of the project, including project managers, developers or users. Testers need to feed back information such as test progress and product quality to the project manager/test manager, and also need to obtain the progress and status of the project from the project manager/test manager, such as changes in project content or progress. In the testing process, whether it is submitting defects or document review, testers are inseparable from the cooperation and communication with developers. Testers may also need to understand how users use the product from customers, or get feedback or even complaints from users because of the quality of the product. Therefore, in the complex testing work environment, in addition to the necessary professional knowledge and testing skills, testers also need to have certain soft skills. Below are the soft skills that testers need to have in the testing process.

skeptical spirit

Finding defects is one of the main purposes in the testing process. Therefore, testers should be skeptical of the product under test, that is, suspect that the test object is defective or cannot work properly. It is hard to imagine that a skeptical tester can effectively find defects in a software product with the goal of finding as many defects as possible. In the static testing process (for example: review), whether it is the system requirements specification or the design specification, the tester should analyze and evaluate them with a skeptical attitude; in the dynamic testing process, it is also necessary to be skeptical. , so that defects can be found more effectively. At the same time, the spirit of skepticism applies not only to the deliverables of the development activities, but also to the deliverables of the test team. For example, the test cases designed by the test team cannot be blindly believed to be free from errors and defects. These tests Use cases also need to be reviewed by project stakeholders, such as developers or customers. When the actual results are found to be inconsistent with the expected results during test execution, it is necessary to first ensure that the test cases are correct, and at the same time ensure the process and data of the test execution. , operation, etc. are no problem, and then confirm whether the test object does not implement the function required in the specification or is inconsistent, which requires the tester to be skeptical.

curiosity

Curiosity is the dissatisfied state of mind that people wish they could know or know more about. Curiosity is not only to be puzzled and curious about something, but also to continue thinking in order to understand the truth of things. Therefore, curiosity is the starting point, motivation and driving force of creation, and it is also the source of infinite perseverance and patience. Testers, especially those involved in integration testing and system testing, need to know a lot of knowledge. They not only have to master multiple functional modules of the software system, even the requirements and design of the entire system, but also think about how the system is used from the user's point of view. . A tester will not be a good tester if he only focuses on a small range of information or knowledge. Testers must be full of curiosity about the entire product and user environment, in order to drive themselves to continuously learn and improve, and master more comprehensive knowledge.

In addition to skepticism, curiosity is also the basis for testers to find more defects. When a tester encounters an abnormal system behavior in the process of testing a software system, for a curious tester, he will deeply study why the abnormal behavior occurs, and through continuous analysis and exploration, find the The reason, for example: due to the existence of hidden defects in the software product, caused such abnormal behavior in the case of accidental triggering. For uncurious testers, such flaws may be missed.

Creativity

Innovation ability is the ability to use knowledge and theory to continuously provide new ideas, new theories, new methods and new inventions with economic value, social value and ecological value in the fields of science, art, technology and various practical activities. The ability to innovate can create new and special elements based on existing basic things. The ability to innovate can be improved through some good practices. In daily work, the angle of thinking about a problem can affect a person's ability to innovate. When a problem occurs, try to analyze the problem from different angles, so as to solve the problem creatively. There are also some good habits that are conducive to improving the ability to innovate. When people are in a more relaxed state, reading as much knowledge as possible comprehensively, thinking that each problem is special, delaying making decisions, and keeping an open mind to novel ideas all contribute to innovation. Innovation also means breaking the rules and avoiding repetitive thinking. If you want to be better at innovation, you can't be afraid to try new things and don't make quick yes or no judgments on an idea. From the test plan to the end of the test, various problems will be encountered in the whole test process. At this time, testers need to fully apply their innovative ability and creatively solve these problems to help the project achieve greater success. .

Skills of analyze

Analytical ability refers to the ability to separate a thing, a phenomenon, and a concept into simpler components, and to find out the essential attributes and relationships of these components to analyze, distinguish, observe, and study them individually. With the continuous enhancement of software systems and product functions, the software products become more and more complex, which makes the testing activities more and more difficult. Therefore, the requirements for the analysis ability of the testers are also higher and higher. The testing process is a process of continuous planning, analysis and evaluation. Without good analytical skills, testers cannot complete the testing tasks with high quality. For example, in the test planning and control phase, the test team needs to analyze the scope of the test and the techniques used in the test. and methods, testing workload, testing risks, etc., according to the information and status obtained during the testing process, analyze the deviation between the planned and actual progress, adjust testing resources, testing priorities and testing plans, etc.; in testing analysis and design At this stage, testers need to continuously learn and understand the test basis documents of the test object (for example: requirements specification), analyze the test object in detail, and determine how to use the test techniques and methods defined in the test plan to design corresponding test cases ;In the test realization and execution stage, according to the failures found in the test execution process, analyze the impact of the failures, and judge the severity and priority of the failures, so as to continuously adjust the allocation of test resources and the priority of test tasks.

patience

Software development is generally viewed as a constructive activity, while software testing is often viewed as a destructive activity to a certain extent. But this destructive activity of software testing doesn't "break" success every time. This phenomenon often occurs during testing: although many test cases are run, no failures are found in the test objects. At this time, the testers are required to have enough patience. The important output of the developer is the code of the software product, and the quantity of the software code will continue to grow with the deepening of the development, which will greatly stimulate the developer's sense of achievement. But testers are different. Testers, like hunters, can only find a "prey" after a long "hunting" process. Even if the test object exhibits abnormal behavior, it requires patient analysis and research by the tester to finally determine whether it is a defect. Typically, test object anomalies are often hidden in the normal behavior of a large number of systems. Therefore, it is necessary for testers to patiently examine various data, operations, and system performance behaviors before they can find anomalies.

communication skills

The so-called communication skills, for software testers, is the ability to collect and send information, and can effectively and clearly express their thoughts, feelings and attitudes to others through the medium of writing, oral and body language, and can also quickly , correctly interpret other people's information, so as to understand other people's thoughts, feelings and attitudes. Communication skills involve many aspects, such as simplifying the use of language, active listening, valuing feedback, controlling emotions, and more. While having communication skills does not mean being an effective software tester, lack of communication skills can cause software testers to encounter many troubles and obstacles. Testing does not exist independently, but is an important part of the software development life cycle. The actual software project is usually completed by people with different roles, so it is inevitable to encounter the problem of needing to cooperate with others to complete a task. At this time, communication is very important. Especially in today's increasingly globalized environment, with many projects being completed by teams located all over the world, communication is even more important. There are many ways to communicate, which can be face-to-face, telephone or email, or through documentation and bug reports to exchange information. Testers may need to communicate with various roles such as project managers, developers or users during the entire project development process. Good communication skills are beneficial to the development of testing activities.

team spirit

Team spirit, in the process of software development and testing cycle, is the concentrated expression of the overall situation awareness, the spirit of cooperation and the spirit of service. Teamwork is based on respect for individual interests and achievements. The core is cooperation and cooperation, and the highest state is the centripetal force and cohesion of all members, which reflects the unity of individual interests and overall interests, and thus ensures the efficient operation of the organization. With the development of society, the division of labor in society is becoming more and more refined. This also applies to software development and software testing. The tasks in the software development life cycle usually need to be completed by teams. The team is not a mechanical combination of a group of people, a real team should have a common goal, the behaviors of its members are interdependent and influenced, and the team members can cooperate well to pursue collective success. The team is an organic whole. In addition to the ability of team members to complete the work independently, they also need to have the ability to cooperate with others to complete the work. The performance of a team is derived from the contributions of individual team members and is always greater than the sum of the contributions of individual team members. Team spirit is the concentrated expression of overall situation awareness, cooperation spirit and service spirit. Team spirit requires team members to have a unified goal or values, and they need to trust each other and transmit and instill a correct and unified corporate culture concept. Team spirit emphasizes the cooperative attitude among members of the organization. For a unified goal, members consciously agree with their responsibilities and are willing to make joint contributions to this goal. In the work of testers, the team not only means that there should be a sense of team between testers, as part of the project, testers and developers are also a team. Only when the whole project has team spirit can the project achieve the ultimate success.

work enthusiasm

Testing activities are full of hardships and challenges. Only when testers maintain a positive attitude and enthusiasm for work, can they successfully complete various test tasks and accept various challenges. Testers without passion are only satisfied with completing basic test tasks; while testers with passion can not only complete basic test tasks, but also think about various problems encountered in the test process with a positive attitude and strive to find solutions , creatively address these issues. At the same time, you can also actively reflect on yourself, constantly look for the shortcomings of the team and yourself, so as to carry out continuous improvement.

technical skills

In general, most developers may sometimes have a contemptuous attitude towards those who are not tech-savvy. Once a member of the test team makes a wrong conclusion, or rashly proposes a wrong software defect without fully understanding the product features, the credibility of the test team will be affected by the development team and the project manager. challenge. Testers must not only be familiar with the principles and processes of the software system under test, but also have certain coding capabilities. Not only can read the code written by the developer, but also can find the problems in the code.

Super memory and self-supervision ability

A good software tester should have a super memory. After in-depth understanding of various product defects encountered before, it can be classified and stored in memory. When a software defect similar to the previous software defect is encountered in the subsequent testing, the previous software defect can be quickly dug out from the memory, compared with each other, and the root of the defect can be found. The value of this ability during the testing process is immeasurable. Because many of the emerging problems are similar to the ones we've already discovered.

At the same time, doing testing work, especially when regression testing is often performed manually, because the test has been run too many times in various scenarios, it will make the testers boring, and it is difficult to mobilize the enthusiasm of the testers. At the same time, it can easily make you lazy. When the tester is a person who has the ability to supervise himself, he can make himself work normally every day. Perform each test carefully and comprehensively.

continuous learning ability 

Learning ability is the part of the intellectual structure that is closely related to learning, mainly including comprehension, memory, problem-solving ability and evaluation ability. Software testers must remain in a state of continuous learning. Computer technology is changing with each passing day, and knowledge is updated very quickly, both theoretically and practically. Therefore, testers must continue to learn and master the latest test theory, test technology, and computer technology in other fields such as cloud computing, agile development and testing. And in the test, put these theoretical knowledge into practice, so that the tester's test side becomes more effective and efficient.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326682670&siteId=291194637