“You have to be lazy to become a good tester”

    There are many stereotypes associated with testing: they treat it as a quick start in IT with the prospect of a high salary, but they do not see this as a serious profession. It seems that testing is a continuous routine, where there is no place for creativity and realization of one’s own ideas.

    Together with the head of the QA / QC department at Redmadrobot and the curator of our Software Testing Marishunya_QA course, we figured out what skills the tester needed to develop in testing, which actually causes staff turnover and why even good programmers should not take on responsibilities tester.

    What does the testing department do?

    Many say that the tester must “break the product” - find a vulnerability that will make using the application impossible. This is fundamentally wrong. The tester should consider the system from all sides, think about how the application can behave in different situations, check the “foolproof” - what happens if you enter numbers instead of the last name, for example.

    If we talk about mobile applications, many people think that testing is limited to screen rotation, that is, standard usage scenarios. The engineer in the process of testing asks the question: “What can a new feature affect? In what situations can something go wrong? ”. Take the online store: the programmer implements the discount function on the promotional code. If he checks himself, he will enter the basket, say, through the main menu - he will make sure that everything works, and he will not think that this can be done in three other ways, for which the function call must also be registered. The tester should follow the path of all users, write test cases for several scenarios and then return to them.

    The tester needs to know the business requirements and technical details, as it tests both the specifications and use cases; he also needs to set his assessments on a par with other team members in order to properly plan delivery, sometimes to kick the developer, because at the end of the sprint the project manager will come to the QA / QC department to ask if the application is tested.

    A tester can affect all project roles and should be able to prove to each participant why it’s necessary to close a given bug or postpone a release altogether. A competent and experienced specialist, who from the very beginning takes part in the development of an application, can still reduce the time required to stabilize the product, while at the stage of coordinating work, and therefore reduce the cost of an error. If testers notice an error in the text at the review stage, then the cost of the error is the analyst's hour of work to add a couple of lines. When errors are found already at the assembly stage, you need to ask the analyst to rewrite, redo the developer, and double-check testers - this is already the day of work and the transfer of the release, or the elimination of the feature from the release

    QA and QC: what is the difference?

    In Russia, the concepts of Quality Assurance (quality assurance) and Quality Control (quality control) are confused. You can often find a schematic depiction where QC is inside QA, and testing itself is inside QC.

    It is much more correct to depict this:

    In fact, QA and QC are different things and they run parallel to each other. Roughly speaking, simple testing can teach almost anyone: sit at the table, give a beta build of the application and say: “Check how it works.” QC is an engineer who knows the approaches, sees the product live, develops a testing strategy and knows the basic principles, that is, controls the quality of the product itself. QC works directly with developers, forms the basis of cases and organizes testing.

    QA is a person who provides quality not at the level of the product being produced, but the company as a whole, that is, it is responsible for the processes and provides the conditions for QC to work properly, coordinates the departments for a number of products and draws up testing plans. Responsibility QA begins with negotiations with customers, working with related departments and building interactions, continues in the development process and ends at the presentation of the product. It covers not only technical, but also legal aspects. In the company, all departments in themselves can work well: sales sell, programmers code, project managers control the processes. However, in order for the mechanism to operate without slippage, the interaction of the departments with each other was clear, and the output was a first-class product, you need quality assurance - this is Quality Assurance.

    How to become a tester?

    There are no special faculties or areas of testing at Russian universities at the moment, so there are no educational requirements for candidates, although the availability of a technical or cybernetic specialty will be a big plus.

    Most often in the vacancies for the tester you can meet the following requirements:

    The main requirement for a candidate is to think with algorithms and systems. It is advisable to have some kind of technical background and know the theory. What are testing, QC, QA and how do they differ? What are the types of testing and how to combine them? What is a test design, test case, test plan? You need to know at least one object-oriented programming language, database fundamentals, client-server architecture and work in various operating systems.

    If earlier there were problems with this, now the Internet is full of specialized resources, such as a forum for Software Testing . If we talk about books, then the following list of references:

    • Testing Computer Software, Cem Kaner, Jack Falk, Hung Q. Nguyen
    • “Key testing processes. Planning, preparation, implementation, improvement ", Rex Black
    • “Software Testing. Basic Course, Svyatoslav Kulikov

    The market is now a big problem with personnel, because besides technical hard skills, it is important to have an inquiring mind, to be able to convey your point of view and defend it at any level. It is also very important for the tester to dive into the subject area in order to discuss with business analysts on equal terms and to explain to them why some of their ideas will work differently. A good quality for a tester is to be “lazy enough” because lazy people tend to optimize processes in order not to waste their time and energy on them in the future.
    image“Quality assurance and control is something new for Russia. The problem is not understanding the purpose and task of testing in general. They create a department, but they don’t know what to do with it. There is no clearly set task, which is why there is no motivation to work for the result. Seven years ago I started working in testing in Ukraine and now I am confronted with the same incomprehension that I met then. In Russia, the majority of customers are state sector and banking with their heavy and cumbersome bureaucracy. In Ukraine, they accounted for only about 20% of the market, all the rest were private companies that could count their money. ”

                                                                        Marina Kulikova, Head of QA / QC, Redmadrobot

    How to be a tester?

    Entering a profession is simple, but to grow and develop further is much more difficult. If we compare testers with programmers, then the last in the course of his career go "in depth." The tester is in the center of the product's life cycle, so he needs to see the big picture, sometimes intercept the functions of the project manager and deal with product analytics, that is, to develop "breadth." A tester gains many skills from related areas, often poorly understands the scope of his field, looks around and goes into something else: programming, product owner or analytics. As a result, experts in the field of testing often change their profession, and QA / QC departments suffer from a shortage of highly qualified personnel.

    Although testing is really an interesting industry, where there is sometimes less creativity than in the development itself. The tester often has to work with a lack of input data, in the face of tough specifications or strict customer requirements, not to mention the fact that sometimes you have to go into the code yourself. Growing up to leadership positions, you need to communicate a lot with both other departments and customers, proving your point of view from QA.

    You can learn more about testing and get practical experience on our Software Testing course , where Marina Kulikova will talk about test design techniques and how to ensure the quality of your software in any conditions.

    Also popular now: