What is the job of a tester? Automatic translate
A tester’s job is to check a program or documentation to ensure it conforms to the specification. A tester does not fix errors; he looks at how errors in the code affect the functioning of the program and whether they prevent users from working with the program.
Program development process
The development of a program, be it a business application or a computer game, is a complex multi-level process that is carried out by dozens and hundreds of employees working in one company. Development includes the following stages:
- concept development,
- creation of specifications, instructions,
- checking (testing) the specification for compliance with standards,
- interface development,
- creation of design, graphical shell of the program,
- writing code,
- testing the program for the presence/absence of errors,
- placement for sale or transfer to the customer.
As you can see, immediately after the final testing, the software product reaches the end user. If the product turns out to be of low quality, not user-oriented, with a bunch of bugs and shortcomings, then all the work, all the money and time spent in the process of its creation will go to waste. This is why the work of a tester is so responsible, because… he is responsible for the result of the work as a whole.
Errors during design and development can occur at any stage. Especially many mistakes are made at the stage of preparing product specifications. A specification is a document that states what kind of software will be developed, what its properties and purpose are, what should be in the program and how it should be performed. The main task of a tester is to identify key errors and point them out to the developer so that he can fix them.
How does a tester work?
The work of a tester can be divided into the following stages:
- Studying the specification, determining the requirements for the developed software.
- Testing can be manual or automatic using programs like Jenkins, Postman, etc.
- Writing a technical report (questionnaire) on the work done and identified errors and shortcomings.
- Submitting the report to the project manager or programmer to make corrections.
After the programmer and/or other project participants correct errors and shortcomings, and if the product finally meets the specifications, the tester signs the act of placing the product on sale.
What is manual and automatic testing, what is the difference between them
Manual testing is when all the links, all the actions that an ordinary user could potentially perform, are performed by a tester and see whether it works or not, and if it works, then whether it is correct or not. This is when a tester manually checks the code for logical and semantic errors. The programmer may forget to add a link or type the text incorrectly. As a result, the user will not understand what and how he needs to do.
Automated testing is a test of the functionality of the application and its ability to withstand the load, ensure the communication of components, etc. For example, checking the server’s ability to withstand a heavy load with a large simultaneous number of requests from clients. There may be several clients, there may be thousands. The functionality of a program under maximum load can only be verified using special tests.
What skills should a tester have?
A tester must have certain knowledge and skills in working with specialized software, regardless of whether he is a junior, middle or senior in terms of qualifications.
- knowledge of high-level programming languages Java, Python, C#;
- knowledge of the theory of algorithms and their analysis;
- ability to work with databases;
- knowledge of SQL;
- ability to work with unit tests and other testing tools;
- ability to work with technical literature and participation in specialized communities .
- knowledge of how the Internet works, data transmission and processing on the server;
- knowledge of English to be able to freely read program documentation and create your own.
The tester must have perseverance, patience, attention to detail, healthy perfectionism, stress resistance and be a non-conflict person, but at the same time be able to insist on his own. Programmers, like most people, are not particularly happy with the fact that they have to redo their work, rewrite code, look for ways to fix errors, and any project has a time limit. We were late with the release - the client left for a competitor or other companies had already occupied the market. The tester must soberly assess time constraints and try to identify not just as many errors as possible, but those that seriously affect the operation of the application.
Prospects for the profession, is there any point in studying?
The market for computer applications, games, and websites will continue to develop. Competition among companies producing software products is growing. The rapidly growing level of competition (there are over 3 million applications in the ApStore alone!) leads to the fact that manufacturers will pay more attention to the quality of the product they produce, especially since the speed at which users change incorrectly working software to working software has increased significantly. Therefore, testers will be in demand and will be able to earn good money in the future. It makes sense to invest in yourself and master this profession.