The following article is intended for a tester.
The test was conducted eight years ago. In the previous two years, the test was performed on hardware products. The quality management was much stricter than the software industry, because, most of the application software code is wrong. It is okay to change the code to re-compile and patch it. Once the hardware design is wrong or the parts are used incorrectly, the cost will be greatly reduced, the most serious problem may be circuit board decommission, and more seriously, the entire batch of products will be decommissioned. Of course, software errors can also cause irreparable losses, but some specific fields may have strict requirements. Compared with hardware, program modification costs are relatively lower than circuit board maintenance costs.
Because of this phenomenon, many domestic enterprises, especially some small enterprises, do not pay enough attention to the test, or even have no dedicated testers. Some may be for project needs, once a test team is set up, it is not uncommon for one person to test the team. I know that many companies are one-person test groups and there are also fresh graduates. For such an enterprise, you cannot imagine the status of testers. The boss thinks that setting testers is an organizational structure, not a quality requirement, developers are naturally not very comfortable with testers.
Because full-time testers are not involved in product code writing, they give a sense of non-productive labor. Most companies use people with weak coding capabilities to perform tests.
In many foreign companies, they pay more attention to testing compared with those in China, have higher requirements on testing personnel quality, and pay more attention to testing personnel training. However, this does not mean that testing personnel have a high position, in the same way, developers may look down on the test. This kind of look-down will not go on the surface, but in the bones. No one said it, but it will exist, and everyone knows it.
However, we sometimes hear some developers say that a certain tester is amazing. How can we become a tester admired by developers?
I. Programming Language
You must have at least one language, whether it's simple PHP, Java, C ++, or other scripting languages like python, Perl, or shell, at least you have done some things in one language and can use them.
2. Database
You must have at least a DBA of a database, be familiar with SQL operations, be familiar with join queries, and know basic having usage. If you can write a stored procedure, it is better to optimize the stored procedure. Testers cannot do without database management and database operations.
Iii. Operating System
As a tester, you should be familiar with all kinds of operating systems, including system installation, configuration, and management. For Linux, you must at least perform system management on one system, familiar with common command line operations. What are the specific requirements? We recommend that you use the command line in Linux instead of clicking the mouse, because it is not windows, to change this habit. You can install and configure software in Linux. It is recommended that you download the source code and compile it yourself to understand the principle of make file.
4. Solid Software Testing Theory
This is the most basic test method for testers. We have never heard of some testing methods that developers know. Many testers think I have read the theoretical knowledge and thought I knew it, in fact, after a while, you can go back and look at the theory, and there will be more gains. After years of work, I will read more test books and find that there will be different gains, theory is a summary of practical experience. I cannot say it is the best. But if you design a test case, if each method involves it, you will certainly find that the test case coverage rate is high, it is easy to detect bugs.
5. Try to analyze the problem by yourself
What should I do if I find the problem? I can ask relevant developers for help in analysis, but what I want to say is that, after finding the problem, you can find clues as much as possible. First, you must determine non-environmental factors, for example, check whether all the configurations are correct, whether the network is faulty, and so on. After determining non-environmental factors, protect the site and save the system prompt information. If the log function is available, find some clues based on the logs, and provide as many places as possible and analysis information as possible to the developers, instead of simply throwing error logs or error messages to developers for analysis.
6. Learn more about projects
If you do not want to create a project, you will not be able to understand what you want to do. To do a test, you should be involved in a wide range of projects. Unlike development, testing should be able to accept any type of project, testing is a methodology that is not restricted by a specific product or domain. However, if you know more about other domains, testing is helpful, you need to know more about cutting-edge technologies.
7. Master some security knowledge
System security is often very important. If you can raise some system security vulnerabilities, others will naturally think that you are fully considering them. What security aspects do you need, I think we should first start with network security and learn about cryptography, such as common encryption algorithm principles, such as the principles of message encryption transmission protocol. We suggest you take a look at the hash method, this is simple and easy to understand.
8. Improve communication skills and respect developers
There are a lot of testers who need to deal with customers, project managers, developers, product managers, etc. Sometimes you will all be in touch with them, so silence is not necessarily a gold, good and correct communication skills will help you improve your good impression on other people's minds. Communication is not just about to be able to speak. Correct communication and efficient communication are required, it means that you can clearly describe and communicate with each other in the simplest language, and your popularity will be good, and you will naturally be welcomed. Others will also be willing to cooperate with you, never comment on developers behind the scenes. Even if you comment, you should also comment on the advantages of others which are worth learning and respect developers. Even if your technology is better than others, people who respect others can be respected by others.
9. Do not downgrade your position.
Many testers feel that their testing work is not technical, and they feel that their work creates less value and is not challenging. In fact, if you look down on yourself, so how can we make others stand up to you?
In short, testing is a technology and an art. We divide the world into three levels: technology, science, and art ), technology is the bottom layer, science is the top layer, and art is the top layer. technology can be learned in a short time. If technology is promoted to science, it requires a lot of research and accumulation, the level of art is not learned. You need to have talent. For example, Steve Jobs has created a successful Apple because of the artistic talent.
Looking at the above, Do you think testing is more than learning development? If you think so, It is correct. Really good testers must surpass developers in terms of comprehensive capabilities, because what you know is not just a technology, you have mastered an art.
Now, after reading my article, I will share some information with you.
Interface Test Materials
Link: https://pan.baidu.com/s/1ojpoWnpxxReR1sO2Gxy_YQ password: dgfa
Performance Testing Materials
Link: https://pan.baidu.com/s/1_oZhvOIRvcz0JGcCWUGT-g password: d82b
Getting started with software testing to improve e-books
Link: https://pan.baidu.com/s/1Fp8CFE0D2p0uAZk6xcexhQ password: exna
Automated Testing Materials
Link: https://pan.baidu.com/s/1yeD1EMg-HalNuRBDODGx7g password: ofdg
[Software testing]-How to Be a tester worthy of developers