Software testing needs what ability

Question 1: As a software testing engineer, what capabilities need to have ⒈ Test Professional Skills

Test a lot of professional knowledge, the content of this book is mainly based on the basic professional skills that testers should master. Test expertise covers a wide range: both black-box testing, white-box testing, test case design and other basic testing techniques, including unit testing, functional testing, integration testing, system testing, performance testing and other testing methods, including basic test process management, defect management, automated testing techniques and other knowledge.

⒉ Software Programming Skills

Software programming skills should actually be one of the necessary skills for testers, at Microsoft, many testers have many years of development experience. Therefore, testers must be able to write programs in order to get a better career. Only by being able to write programs can they be competent in difficult testing tasks such as unit testing, integration testing, and performance testing.

In addition, the programming skills of software testers are different from those of developers: testers should write programs that run correctly, while taking into account the high efficiency, especially in the test code writing related to performance testing. Therefore, testers should have some algorithm design skills. Based on the experience of senior test engineers, test engineers should master at least one language such as Java, C#, C++, and the corresponding development tools.

3 network, operating system, database, middleware and other knowledge

Compared with developers, testers have the knowledge of "extensive but not refined" characteristics, "more than the arts do not pressure the body" is a very graphic metaphor. As the test often need to configure, debug a variety of test environments, and in the performance test to analyze and optimize a variety of system platforms, so testers need to master more network, operating system, database and other knowledge.

In the network, testers should master the basic network protocols and network operating principles, especially to master some of the network environment configuration, which are often encountered in the test work of knowledge.

Operating systems and middleware, should master the basic use and installation, configuration and so on. For example, many applications are based on Unix, linux to run, which requires testers to master the basic operating commands and related tools and software. WebLogic, Websphere and other middleware installation, configuration of many times also need to master some.

Database knowledge is more should master skills, now the application system is almost inseparable from the database. So not only to master the basic installation, configuration, but also master SQL. testers should at least master the use of Mysql, MSSqlserver, Oracle and other common databases.

Question 2: What skills do you need to learn in software testing Basic software testing knowledge: Specifically, you can see the soft test required by the "Software Evaluator Textbook"

The basic code ability to test the software code

Software testing is still divided into a variety of functional testing, performance testing, unit testing, etc., see what you need to understand which knowledge

The software testing is a very important part of the software testing process. p>

Question 3: What skills do you need to do software testing? 1, software testing basics:

test plan preparation, design test cases, write test reports, write BUG report form, tracking BUG repair, but also need good communication skills, as well as a variety of test phases of the test methodology used, unit testing, functional testing, integration testing, system testing and so on, CMMI / ISO9001

2, The use of various testing tools:

We work in the test in order to improve the efficiency of the process will use a lot of tools, QTP, LR, QC, TD, Bugfree, VSS, SVN and other tools, although the tool is not omnipotent, but the tool can improve the efficiency of the work for us, so we can not be a tool as a god as the same as the view, but it must be able to skillfully use

3. p>

3, operating system-related knowledge:

Windows, linux, uinx these must be used, and not just a simple operation, general service management, registry editing, command line operations need to be able to imagine that the next even apache services will not be able to install and configure the person who can imagine that you can do a good job based on the apache environment testing work, what? test work based on the apache environment, what? Do not know how to view the disk pressure, IO data. windows linux have to provide their own tools can be used to view these data, perfmon, top and so on.

4, database knowledge:

Now Oracle's DBA treatment than the general treatment of developers is also high on the importance of knowing the database in the enterprise, as a tester, although you do not need to have the ability of the DBA, but the basic database operation you have to be able to put, whether it's Oracle, DB2, MSsql or mysql minimum should be familiar with the use of one or two of them. You should be able to familiarize yourself with the use of one or two of them.

Specifically, computer hardware knowledge:

Friends who have done performance testing know that hardware performance in the performance testing process is a very important indicator, CPU, memory, IO, bandwidth, etc. If you are doing hardware testing. Then there is even less to say. Switches, routers, firewalls, these devices need to be understood.

6, network protocols:

If you still know what is different between TCP and UDP, please hurry to add some knowledge, the Internet era, everything is transmitted through the network, the common protocols must be understood, once interviewed a test engineer to do 2 years of testing actually do not know what protocols to use their own test software, such a person is your words you dare to recruit?

7, the development of the language that is the ability to write code:

Although you can not write code to do testing, but if you want to do more than senior test engineers, then the ability to write code is a must, if you do not write code, then you can not become a senior test. Part of a senior test engineer's job is to write test tools. Although the test also need to write code, but do not need to be as proficient as the development of a language, but the test but need to understand a lot of development languages (for a simple example: you are now in the project from the C++ language, 2 years after you changed jobs, the new company's development language is java or VB or something) so in the development of the language test needs to be more broadly based learning.

8, industry knowledge:

The reason why industry knowledge is written in the last because the first 7 we can learn to master, but only industry knowledge can only be accumulated through work experience, do not say you go to read a few books to know the communications industry, the medical industry, or the aerospace industry, you think in the books above can learn?

Because of the specificity of the industry knowledge, it is recommended that friends do not frequently jump ship, the accumulation of experience is the need for time to precipitate.

9, with a certain aesthetic view:

This is a bit awkward to say, simply put, whether it is development activities or testing activities, the final goal is to bring the product to market, and get the user's approval. So if the product in the requirements analysis stage has deviated from the user's course, then even if the test development to do a good job of this project is also the same will fail. So if you are fortunate enough to be able to participate in the requirements review, please do not mince words.

10, please do not forget to always learn:

This I believe we should be able to understand so do not have to write anything: just this point "do not learn will fall behind"

Summary: said so many skills or that is to say that you need to master the technology, if you do not have a heart to find the beauty of the defects. If you don't have a heart to improve the quality of the premise to put into the work, then even if you do well in other is only one of thousands of software testing practitioners. Most of the testing activities for the discovery of defects, and after the discovery of defects after the work is particularly important: how from the hair ...... >>

Question 4: As a software test engineer, what abilities do you need to have As a software test engineer, first of all, you need to establish their own test thinking, this is very important, because the test thinking is equivalent to the world view of your software, which is why, personally do not support from the development of the reasons for the transfer of testing, because for the development of the target type of their worldview, i.e. what needs to be accomplished? Worldview, that is, what needs to be accomplished I go to complete, if you stay in the development of time is too long, easy to get used to such a goal-oriented worldview, and testing is more concerned about the multi-faceted, and sometimes, it is some of the so-called impossible in the development of the so-called no matter what the last thing caused by the failure of the software, and how to establish their own worldview of the software, that is, we have to go through the understanding of the testing methodology, a lot of people like to put the black box testing methodology, white box testing methodology, and so on. Many people like to put the black box testing methodology, white box testing methodology, divided very clearly, in fact, the two are connected, to understand these things very quickly, but realize that the process will be long.

Next, we talk about what you need as a junior functional engineer needs to be the basic quality of it

1, the basic methods of software testing (boundary value, equivalence classes, error classification, process analysis, etc., black box, white box testing methods to understand, and master) this is not difficult, but make sure to keep in mind, it is the basis for you to build their own world view, all the tests can not escape from these methods

This is a very good idea, but it is not a good idea.

2, will write the basic test documents (test cases, defect reports, etc.)

3, will look at the development of documents (requirements specification, operation manual)

4, know that the software engineering, testing needs to be done to understand the performance testing, security testing, etc.

When you have the foundation, and also have their own world view. Congratulations you have started, this time, I suggest you can go to understand the different software development of different parts of what people do, not only development, demand, design, operation and maintenance, etc., because this way you will know what is the system, specification, for your future development has a very good help, which is the test relative to the development of the advantages of the development of the development of the place, the development of a more concerned about is the point, and the test to focus on is the surface, so for the test, in addition to accurately grasp the details of the test, the test is the test, the test is the test, the test is the test, the test is the test, the test is the test. test, in addition to accurately grasp the details at the same time, the big picture view to be good, or do not do a good test.

The last is the details of the technology is the so-called white-box testing, performance testing, automation, security, etc., these are in fact for the test, but is a small section, the technology will never prevent you from moving forward, but the thinking, this you can according to their own preferences to develop, there is no fixed model

By the way, do not look down on the basic functionality of the test, which does not look so simple to outsiders, because if you even test cases to see that the test case is not a good idea, but a good idea. Because if you even test cases will not design don't go to say do performance testing, automation testing, security testing, etc., to do a good functional test engineers, write a handful of good use case (your use case is a literate people can perform, and use case effective system coverage is also very high), good defects (is a literate people can understand what you say is the problem, and to seize the key point), it's hard, it's really not The average person can do a good job, to go to the effort to figure out

Question 5: What qualities should a software test engineer have Hello, I'm glad to answer your question.

As a software test engineer, you need to have the following qualities:

1. This is the cornerstone of everyone knows ~

2. Need to be very skeptical. Holding the mentality of everyone to find fault with the software in order to better find the bugs

3. Defects often appear in the place that we are easy to ignore ~

4. must have patience. Testing is a repetitive task that tests one's patience

5. Always adjust your mindset and try to avoid treating your work as a task

6. The software industry is developing rapidly, and if you don't always learn new technologies, it's easy to be limited or even eliminated

7. If you don't always learn new technologies, it's easy to be limited or even eliminated

7. After the discovery of the bug, you need to feedback with the development, if you can not accurately describe the problem you found, then people will not recognize the bug, and may even be bored

9. Meticulous business logic analysis capabilities. The test needs to have a clear grasp of the business logic of the software. Testing is still the same business logic, if you do not know the business logic, then after testing the release of the software will appear a bunch of bugs ~

Question 6: What skills should software test engineers have? If you want to become a better software test engineers, the following conditions need to have:

1. You need to have a good code of the water reserves, it is best to personally and independently completed a software development work

2. Need to have a clear understanding of the database, as well as will write database scripts

3. Understanding of at least 2 kinds of operating systems, and a strong understanding of the problem Operating system, and have a strong ability to analyze and judge the problem

Next, if you want to become a better test engineer, you need to have the following qualities:

(This part is my turn, because I also agree with this statement)

1, there is a considerable white-box testing experience, which requires that you can be able to target the core modules, core algorithms for the code to walk and code tracking, to find problems from within the code. tracking to find problems from within the code. To do this, not only to understand the coding language itself, but also to use it to provide IDE tools for code tracking and debugging, these efforts can not read a book to master the yo;

2, proficiency in the use of popular testing tools, although both wr or lr itself in the testing work will not be involved every day, but the proficiency of the tool is indeed a tool to promote our position and salary. The position and salary to promote an important weight, so between this point, it is recommended to take some of the tools certification may be more practical.

In short, I think the requirements of software test engineers is relatively high, if you have never had programming experience, there may be almost no company will hire you, honestly, no wonder

The third ah, that is, you can learn to succeed in the la, I am an electrical professional, do not understand the programming, graduated from the work of self-study, half a year can be basically to meet the requirements.

As long as you can stick to it, don't give up halfway, just fine. I think it's a lot better to do testing than to be a programmer. Oh, then you'll have to work hard.

Question 7: What qualities does a good software tester need in the end? In my opinion, a software tester needs to have a variety of attributes:

● Carefulness: This does not need to be explained more than once. The most important thing to remember is that you can't do good software testing if you don't have a lot of time to do it.

● patience: software testing, especially the current mainstream manual black box functional testing. Basically, testing is a repetitive task that requires a certain amount of patience to ensure that you don't let go of small defects in the boring repetitive labor.

● Curiosity: Software testing is a job that requires a curious mind. Curiosity makes testers ask more than one "why", "if this, will it work?" . Often these questions will lead you to defects.

● Will communicate: software testers need to maintain a close relationship with customers, development, product and other aspects, communication is very important. A good communication process can effectively control costs.

● Summarize the ability to summarize: This is related to "can communicate", software testers need to find the real key steps of defects, summarize the general pattern of defects, and summarize a detailed test report.

● Comprehension: An accurate understanding of requirements is a must for software testers.

● Expression: It is not enough to write test cases that only you can read and understand.

● The concept of time: software testing work is endless, but the software itself has a delivery date. The software testing work needs to be completed before the guaranteed delivery date to ensure that the quality of the software output. Time and quality itself needs to have a balance, in order to pursue zero defects and reckless disregard for the delivery date of the practice is not scientific. Starting from the planning stage, you need to have a good plan for the whole process and move forward according to the planned date. Well, these are pretty much the traits I can think of that are important for software testers. Of course, there are some other requirements that are not necessarily universal, such as the ability to speak, read and write English. Feel free to add some other traits that I missed. Zhu Suen: Actually, the drawers have summarized it very well, so I'll just add two more points from my own experience.

● sense of responsibility: sense of responsibility is a coefficient, and the product of sense of responsibility and personal qualification is the actual ability that is ultimately reflected in the work. Especially on the current domestic black box manual testing, very few people need to be particularly good at what they do, the difference between the results of the work of everyone is often a matter of attitude rather than ability. The difference in work results is often a matter of attitude rather than ability. A lot of interviews show people with good qualifications, and the actual results of putting them to work are less than ideal, which is also mostly related to this.

● Principle: Testing requires a principled and honest heart, not to make up for the number of variations of the same type of problem repeatedly submitted; not because of dev's simple sentence: "This is not a problem" and compromise.

● Learning ability: Testing requires constant exposure to new features, new theories, new technologies, and new tools, and is not an easy job. There are still some requirements for learning ability. In addition to work-related, a broad knowledge base for testers sometimes means a scalability of ideas. That's all. In fact, some of the ability to do the process of training, and the process of doing the test is also a kind of training on the nature of the heart

Question 8: What qualities do software testers need to have? The qualities needed are:

Testing skills

Careful, patient

The spirit of doubtful

Communication skills

Teamwork skills

Constant learning

Question 9: How to improve the software testing capabilities I am also doing software testing, to make a number of small suggestions, just for reference:

1. Software testing is best practiced into the company. Because the test company's knowledge requirements for each project group are different, maybe you do a good job in this project group, but transfer you to another project group, you are still a layman. So it's a good idea to go directly into the company to learn and practice.

2. Software testing requires a wide range of computer-related knowledge, including computer networks, databases, software engineering, etc.

3.

3. Master a development language, other languages should be familiar with, at least to be able to read, which will be very helpful to your development.

4. Improve your English. Undeniably, the software industry's leading countries or Europe and the United States, in other words, Europe and the United States is a relatively large number of products, is a large market for testing. To do the products of these countries, English is of course very important.

5. It is best to master a Japanese or Korean language. Nowadays, China is outsourcing more and more software to Japan and Korea, especially in the north. Mastering these two languages will be very advantageous when looking for a job.

6. The first time you enter the software testing industry, the company will only let you do manual testing, or black box testing. So all read to start with the basics, do not expect to learn well directly into the company to do automated testing.

7. In general, into the company practice, and then buy some related books to read. Remember, the most important thing is still hands-on ability, and then the ability to think (this industry and other industries are quite different, the company requires you to do the first project, and then you go to their own development of their own)

Finally, software testing is now a huge shortage of talent, the paychecks are also quite substantial believe that you have chosen the right road. I'm sure you've chosen the right path. Do a good job, and I wish you a good future!

Question 10: As a software test engineer, what capabilities do you need to test engineers to submit more BUG, means that the R & D engineers work the poorer quality, the need to rework the workload is also the greater, and even affect the performance of the test engineers are sometimes very easy to offend R & D departments. A can relatively adhere to the principle (such as level 3 BUG must be changed), but also can pull down the face and unpleasant R & D engineers to maintain a better relationship with the test engineers, will play a very key role in the quality of the project. In the end, and can do things (find BUG and supervise the revision), and will do people (that into the not let, the retreat absolutely give face, maximize the elimination of inter-departmental conflicts) of the test engineers, is very rare. 2, there are whimsical attributes of the best This can only be understood, not good words. In the team I have led, there is indeed the kind of oddball ...... will often find out the BUG in a mind-boggling way, this is the gift. 3, will be "lazy" for the best The lazy here does not mean that the work of microblogging and chatting to mix the day, but the use of known resources to optimize the boring test work of the students. Say an example: my former company once on a "credit" project, the students who have done financial projects, we all know. Credit project test cases can be said to be quite perverse, with the billing period, late payment rate, fee rate, interest rate, principal, repayment of different cases, can be derived from an immense number of use cases, at the same time each use case for the preparation of the expected results of the funds to be carefully calculated according to the rules of the situation, it is very laborious. Our department a young man, the first night took the PRD, the next night on the use of Excel to write a fixed certain period of time under different circumstances of the funds calculation tool (there are some small bugs, no harm) ...... greatly reduces the brothers press the calculator's work time. This kind of "lazy" employees, you are the leader you like it? Things are not over, in the actual testing process, we found that once the R & D modified the BUG, will trigger a major collapse of other use cases (this type of project is really a tragedy, involving a whole body), each version upgrade we have to carry out a comprehensive regression testing. It's too pitiful, isn't it killing us? Smart test colleagues and want to be lazy, they wrote a data matching tool in the database side, each time a new run use case to take the correct (saved) data files automatically go to the newly generated files compared to the automatic return of the comparison results. Brothers no longer need to return to each line of SQL to check the data, great. In the R & D to modify the bugs, they wrote their own set of stored procedures, can realize the automatic return of data and incremental backup, no longer need to wipe all the data from the first trading day run, great! Said so much, in fact, just one sentence: do a line, love a line.