Remote testing. Experienced Freelancer Tips
Hello everyone, my name is Alexey Petrov. I work for Mail.Ru Group as the Director of Quality in the business unit Mail and Portal. Today I will talk about such an interesting and attractive activity in all respects as freelance testing. As such, I started testing in 2005. I loved playing computer games and tested them at the same time. I was a fan of Tony Hawk - American Wasteland, and when the game came to me 1.5 months before the official world release, and I could go through it, I was happy. After the fiftieth passage, when they gave me the release disc, I burned it, honestly. I’m so sick of it! I can still say in which mission and which quest you need to complete, all hints and so on.
After that, I worked on web projects as a tester, then as a lead tester, technical support specialist, project manager, and development manager. That is, I visited a variety of incarnations for one simple reason: I wanted to see the testing process from different angles. It often happens that when a tester is engaged exclusively in testing, the people with whom he contacts - project managers, system analysts, developers, administrators - seem to him to be aliens and, in general, not of this world. For example, I had such a case when, after two years of working on one project as a lead tester, I left the RosBusinessConsulting company for a while, returned 1.5-2 years later and began to manage the project in which I used to was a tester. I opened the tracker and saw about 500 of the most diverse defects, including those that I myself put two years ago. As a tester, I would urgently raise these defects in priority and say: “How so? For two years there has been a defect in the project, but it has not yet been fixed. ” But, already being a manager, I began to think as a manager. I understood that if a product has a defect for two years and no one has died, then this defect can be reduced in priority or not corrected at all.
For 7 years I combined the main work with freelance. This gave a huge impetus to my professional growth and a fairly substantial increase in income. In the best years, it turned out to earn about 100-120 thousand rubles a month, working remotely.
Where to startWhere to start if you decide to do remote testing, freelance? First of all, you need confidence in yourself, in your own strength, understanding that you really need it. It often happens that a person lights up with the idea: “I want to try something new for myself, I’ll go and do it.” He begins to stumble upon some primary, simplest, most well-known things and abandons this business. I had to work with such people. For example, I signed up for some project where it was required to conduct testing up to 16 hours a day. I distributed this work between myself and two colleagues. So they were just not sure that they needed it, they thought that it was just “cutting the dough” and not doing anything. After 2-3 weeks, they were forced to tell me: "Sorry, goodbye, we will not do this." And the customer, with whom I had an agreement, there was a well-known person in the world of quality assurance, the founder of the testing department at Rambler and just a good person. I did not want to let him down, and I was forced to cover these 16 hours of testing myself, while I was simultaneously working in the office. You can imagine what my average work day looked like. Therefore, once again: if you really want to do this, then show enough zeal and will. what my average work day looked like. Therefore, once again: if you really want to do this, then show enough zeal and will. what my average work day looked like. Therefore, once again: if you really want to do this, then show enough zeal and will.
In my freelancer activities, I was helped by the experience of using the Internet and sociability. The latter is a very important property that you can develop in yourself, including through freelance testing. A well-suspended tongue opens the door in almost any direction. If you can competently present yourself, your product, your business, your idea, then you can conquer absolutely any peaks. If you are somewhat constrained, restrained, and poorly communicate with other people, this will create certain problems for you when working in freelance, because communication with the customer and colleagues will be required constantly. Almost no project was in my format, when they give me a task, I do something for several days and give the result. There is always some kind of interaction with the customer or his representatives.
It is worth preparing a story about yourself, portfolio, resume, you can call it completely differently. First of all, he should not require contact with you for clarification. Agree, a resume or portfolio will look very strange where it says: “I worked on 30 different projects. If you are interested in what kind, write me an SMS, call or e-mail ”. That is, the story about yourself should be self-sufficient so that a person can get the most information. This story should tell the good about you. If you are a pyromaniac, a maniac and, in general, like non-standard and not very good things, then you should not talk about this in your resume.
Your story should interest the client. If you write in dry language about yourself, if you cannot even sell yourself to yourself, this is a bad story. Consult with one of your colleagues and acquaintances who work in the IT world, how interested would you be in the text you presented. Maybe it's worth adding pictures. Suddenly, you have a familiar designer, and he will draw a cool promo page for you, and you will use it to capture the attention of a certain audience.
And the most important point. Unfortunately, I very often encounter players in this market who present false or distorted information. Unfortunately, now there is a growing cohort of people who think this way: “I will tell you a lot about myself cool and good, it may not even correspond to reality, the main thing is to cling to the customer. I will do the work or not - what's the difference? "There are a lot of customers, I can drop it, and at the same time I won’t have anything, anyway I will find my second, third, fourth, fifth customer.” My position in principle, rather even moral and ethical, is not to deceive people, to tell them the truth, everything is as it is. If there is something bad, it is better to keep silent about it than to lie. Then people will contact you again. If you work successfully on a project, after a while one of these developers will say: “So I'm working on a new project, we really need testing. Last time I personally liked to interact with you, let’s try on this project. ” The effect of word of mouth is obtained. If you are truthful and sincere, this will generate customer loyalty to you.
Personal informationA story about yourself, what can it contain, what needs to be told? First of all, work experience, if any. It doesn't matter if it was a practice at the institute, some kind of order or a request from a colleague, a friend wrote some small program, you tested it, you just looked with a fresh look. If you worked for a company, you should definitely write about it. Describe the projects you have been working on. This often gives an understanding of what candidate has a set of knowledge in subject areas. Suppose I tested equally dating sites, banking portals, even a site with Japanese adult products. Projects can be very different. When the next customer comes to you, for example, he will see: “Yes, the person worked with SaaS technologies. We also have a SaaS project, it will be very cool to take just such a person. ” Certainly it’s worth writing about skills, if any. Perhaps these are skills in load, automated testing, usability testing. There are many directions in testing in order to rank oneself as adherents of one of them.
Education, if you have something to boast about - boast. It is worth pointing out even a hobby, because if you, for example, are semi-professional, amateur or professional engaged in photography, and you are offered to test a project related to cameras, photographic equipment, photographs, then this hobby will be a plus. For example, when I worked at RosBusinessConsulting as a project manager for the Photofile project, at that time I was especially active in photography. And knowing the subject area, what is a photo, what kind of technique happens, I was able to propose and implement certain features and ideas within the framework of the project. The deepest misconception is that the main goal of testing is to find bugs. Testing is a study of product quality. Moreover, quality is understood as formal requirements,
In your story about yourself, feel free to indicate character traits, but try to be sincere. If you write that you are punctual, and then you will be late regularly, then this will cast doubt on the rest of the information about you. If you write: “diligence, insinuatingness, perseverance”, you need to be sure that you really possess these traits, and do not write them simply because it should be so.
CustomersIn principle, the main customers are software companies. There are large companies like Mail.Ru Group that have huge testing departments. In particular, I have a staff of about 35 people. There are small companies that cannot afford to hire even one tester. They make small sites on some kind of CMS such as Bitrix, Wordpress, Joomla, DLE and so on. For example, the order amount is 10 thousand rubles, and they make four sites, there is one and a half developers. To take also a tester with a salary of 20 thousand rubles or more is an absolute luxury for them. And outsourcing testing is just the way out for such companies. A freelancer will not require office space or pay any taxes if you work in black. If "in white", then you will have to pay less taxes, depending on the circumstances.
Another customer group: single developers. There are a variety of cases. Once I talked with one of the developers, he told me such a story. For four years he worked in a fairly large company, and he had one colleague who came late to work, left early, might not have come at all, but there were never any complaints from his superiors. Four years later, it turned out that he hired three Indians who wrote the code, and he just came to work, received money and paid part of these Indians. I talked with developers who just wanted to slightly improve the quality of their code so that it became perfect. Developers who directly contact you for testing are very good customers. But this is a rarity, unfortunately, an endangered species. One of my fellow testers came up with a name for them: This is not a programmer, but a programmer. He is a real bro, he wants his code to be of high quality.
There are developers who approach testing as follows: “I have something uploaded here. On, look, sort it out. Oh, you sent me 30 bug reports. Now, instead of using debug or my own viewing, I will fix them and throw you at you again. ” And there are developers who want their code to be high-quality, they come to the testers and say: “Dude, I wrote good code here, I checked it with unit tests and gave it to my fellow developer. I want it to be perfect on all sides. I give it to you. Please help me. If there are defects, let me know, I will fix them. ”
And the last, probably, class of customers with whom you can work is development customers. For example, someone ordered a web studio or software company for a product. They handed it over to him, and the customer is dissatisfied. He seems to him buggy, somehow wrong, incorrect, and, in general, terrible. But the customer is not too competent in matters of software testing, and therefore he attracts outsourcing testing, as a kind of independent judge.
There is an active and passive search. With an active search, the first thing to do is offer remote work. Mostly on various employment sites and exchanges for freelancers. You set up your own RSS feeds with job updates, view them, respond, write some small welcome letter: “Good afternoon! My name is Vasily Pupkin. I am a very cool tester, I can do this, that, that. Look here, look here. Welcome! Dial me, I’ll test you for food at least. ”
Offer your services to development companies, web studios. For example, I asked my spouse to type “web-studio”, “web-studio” in the search engine, and she compiled me a database of cold clients, about 300 web-studios. I did small, unobtrusive mailings not with super-mega-copy-paste text, like “Good afternoon,” and so on. I approached each company individually, first looked at completed projects and then offered my services. The main thing is to have a sense of tact. I go to these projects, look for bugs, then I write to the company: “Hello, I am a professional tester. For the sake of interest, I went to projects that you recently implemented, and generally looked at your site, and here is a small list of defects. If you want to know more, let's contact, discuss. ”
I had several non-standard cases. Once I just decided to buy a board game for myself, went to the online store, and they had a promotion - find a bug and get a 7% discount. I found bugs, and if they had summed up the discounts, then they should have remained for me. But after I wrote to them, I did a little audit for them, got two games for free, and everyone was satisfied.
Another option is the combination of consulting and testing. For example, I come to a company and audit the testing process. In the end I add: “By the way, part of your problems can be solved through remote testing. I have 4-5 testers on a remote site, and I can test it myself, ”that is, it flows smoothly from one to another. This is a completely normal situation, all the more so if you conduct a really good audit of testing processes, then you will be trusted, you will communicate with a potentially loyal client.
You can also promote your own resource. For example, when I wrote my own site, I realized that I needed to somehow promote it. I bought books on SEO and gained experience of promotion in Yandex and Google networks. Then it came in handy as part of the testing. For example, I learned that it is important for search engines that the title and alt differ from each other, otherwise they will not count them.
Passive customer search also works pretty well, especially if you combine it with some active methods. For example, you do a newsletter, no one answers you within a week, and then it will sprinkle.
It is very important to understand that IT is one big village, "word of mouth" works great here. For RuNet, this is more characteristic. When I came to work at the Mail.Ru Group, I probably met about 40-50 people with whom I had worked with IT for 9 years before: both remotely and on staff, from large and small companies, developers, project managers , administrators, vice presidents, technical directors, technical support staff. And for this word of mouth to work, be sincere and honest with yourself and with those people with whom you work. Then you will be recommended, time after time you will receive orders, just sitting in anticipation of customers. I received 80% of orders through word of mouth.
How to negotiate with customersThey are divided into two archetypes: the “cold” client and the “hot” client. Cold should first of all explain why testing is needed at all. There is a company, a developer, a web studio, everything was fine with them, and here you come and say: "You really need testing." They look: "We lived without this for four years, and everything was fine with us." You can make a variety of arguments depending on your sociability. For example, it is no secret that the main competitive advantage in the modern market is quality. People tend to use quality services, to purchase quality goods. One of the competitive advantages of the same company Apple, which creates the iPhone and other equipment, is that their quality is at the forefront. You can resort to loud slogans: “Do you want to be an iPhone in the world of laundries?” You need software testing, your site should be like Apple products. ”
On the contrary, it is important for a hot client to explain why you should do this testing. That is, the customer has already understood that testing is cool, it is important, it will make his product competitive and extend it to a new level of quality. He wonders why you should do this testing. I need to tell you why you are so cool, why you are approaching this particular product, that you like this blue hat and orange background so much that you are ready to test it for free, or you are such an expert on blue caps and orange backgrounds that this is a task for you. Of course, I described it in a comic tone.
In order to negotiate, no matter where and in what form they will take place, practice and train to argue your position, prove it by facts, develop this skill, it will be incredibly useful to you. The simplest technique that you can try in the company of your friends and acquaintances is a dispute. You ask a thesis, and there are two polar points on this thesis. For example, “Are you for or against the death penalty?”, - ask your potential opponent. He: “I believe that the death penalty is cool,” and here you complicate the task, and say: “Well, tell me why you are against the death penalty?”. That is, you put a person in a situation where he is forced, one way or another, to take the position of his opponent.
Accounting and agreementFor example, you agreed that you will conduct manual testing. It comes to discussing the accounting form. Personally, I most often carried out project accounting, that is, turnkey testing. They give me a website, I do an audit, I say that "I’ll test this website with three notes ... three days, suppose I want 4 thousand rubles for this." A little haggling, agreed. Maybe hourly pay. You agree that you will receive a certain pool of tasks every day, you will set the approximate time that you want to spend, and then in fact indicate that it took three hours to test this feature. At the end of the month, it turns out that you tested, for example, for 45 hours. Suppose an hour of your testing costs 300 rubles. The reporting period has ended - month, two weeks, week, life, and at the end of this period, knock out the result and get the money. This is a transparent system, it is very often used.
And the last form of accounting is through salary. I worked on some projects where, for example, four hours a day were allotted, for which I was paid a fixed salary, regardless of employment.
Let me remind you that potentially your customer cannot resort to hiring a tester in the state, that is, he is not ready to pay 40 thousand rubles for 176 working hours per month, but he is ready to pay, for example, 15 thousand rubles for 38 hours per month. And through the hourly fee you can very often demonstrate to the customer: “Look how profitable it is. You will only translate the most critical tasks for me, I will spend a little time on them. You will have three or four such projects; you will create a certain front for yourself. ” A specific customer spends a small amount, 100-150 dollars a month, and you, having four to five projects, can receive a thousand, two, three thousand dollars a month.
A form of agreement may be a classic agreement. You sign papers, come to the customer, make scans, sign, sign a non-disclosure agreement. Maybe an agreement in the form of an advance payment. And the last option is on trust, a very risky option. If you work with some regular customer or just with a good friend, you can work on trust. But it’s better to fix it with some theses, at least in a mail message that can be picked up. At one time I got burned with this when almost 10 years ago I assembled a team of extreme sports lovers to participate in a street context. I asked one person to draw a little graffiti to send him as an application for participation. If I recorded this with him, I’m sure that everything would end very well. Still, try to formalize your relations with customers, this will be safe for you, because I had a couple of unpleasant moments while working in remote testing. Without this, nowhere, one must be prepared for this risk. Be safe.
ReportAs a report form, there may be a test report, or bug tracking. For example, he worked in such conditions when the customer had a bug tracking system, JIRA, RedMine, FogBugs, Mantis, many different systems. It was deployed at the customer’s place, they simply brought me into it, built a minimal process of interaction with the development, time was marked there. There were cases when I myself deployed bug tracking systems. Again, it was a good experience - to master a little Ruby and install RedMine, then install JIRA, then Mantis, and all this in order to cooperate with a particular customer. If for one reason or another, we did not work through the official form of the agreement, and I did not sign the NDA, then they were afraid to let me into their tracker. Then I unwrapped my own and said:
The first 1.5-2 years in testing, I thought that this activity was a search for bugs. And I ran into the classic illness of a tester, beginner or intermediate professional. I have a task to test the site, I said that I would do it 5 days for 10 thousand rubles. I tested it and found three bugs. I believe that I am a bad tester. How so? I spent five days, I should be paid about 10 thousand rubles for this, and I provide three bugs. This is at least strange. And then I began to test to victory. But it was important to conduct a study of the product, and display it in the report. And literally from the second or third order, where it was the testing report that was issued as reports, I willy-nilly decided that it was necessary to write check lists and task cases for which testing was carried out. Imagine: there is a website, consists of five components, I found three bugs. It remains unknown for the customer whether I tested the two remaining components and did not find bugs there, or did not test and therefore did not find bugs? If you write a checklist of checks, then show the customer what exactly you did.
The tester should be equally interested in both the positive response of the system, that is, when it worked correctly, and negative. Unfortunately, the philosophy of a novice tester very often comes down to the fact that first of all he wants to "break" the program. The fact that it works correctly does not seem to interest him. When I started writing test reports for external customers, I realized that it was just necessary to talk about what actions I performed as part of the testing, and that if I took 200 actions and found only three defects - okay, my work was done cleanly. But if later it turns out that I allegedly checked some action, and then a defect was discovered there, it turns out that I lied.
The report also recommends making some diagrams: “300 test cases were carried out, 28% of which were defective”, numbers, graphs. Customers love this because most often they are project managers, product directors. Developers are interested in defect being described qualitatively, and beautiful graphics for managers.
Another important point: it is always necessary to write unambiguous bug reports. Not at the level of “I, therefore, clicked here, and I have a paragraph there. See the screenshot. And it should be - see the screenshot. " When working with remote customers, you must a priori write bug reports so that they do not require additional contact with you. For example, I once had a distributed network of testers: Novokuznetsk, Novosibirsk, Cheboksary, Moscow and the Dominican Republic. And customers in Japan, Europe, USA, Russia, and in time zones could not converge.
It’s very bad when the tester writes a bug report and says: “I clicked here, my bullshit got out. Screenshot". The developer does not understand this, he sits down to correct this defect at three o’clock in the morning according to the tester’s time, and, accordingly, writes a comment to him: “I can’t play it back, please write. 12 hours pass, the tester says: “Why is it incomprehensible here? Look, time, time, time, ”and he sends it at three in the morning according to the developer's time. And, in the end, due to the ambiguous description, a small defect is corrected in a week.
Form of paymentThe form of payment can be very different: cash, electronic money, postal, bank transfer, barter. Choose the most convenient and comfortable way for you and the customer. In general, try to be as flexible as possible when discussing terms of cooperation. Be a real supermarket of remote testing: “Well, let's be electronic money with bug tracking, on trust, and at the same time we will work on a turn-key basis”, or something else. That is, if you say ironically: “I only work on a turnkey basis in cash with a binding agreement with the NDA,” then half of the customers will simply leave you, because they may not have lawyers who can prepare the contract, or there is no way to pay in cash . Be flexible, this will help you negotiate, conclude more agreements and contracts with potential customers.
- If the client is from another city or country, then immediately discuss the schedule and operating procedure, take into account time zones and server time. If the server, for example, is located somewhere in the UK, and it should work out a script for each crown at 12 o’clock, and you solemnly report at 12 o’clock Moscow time that it did not work, then keep in mind that London at this moment is 8 o’clock in the morning.
- If you communicate periodically with developers, try to allocate a certain amount of time when you work offline to the best of your ability. And also set aside at least half an hour or an hour a day when you can interact with the customer, with his representatives, answer questions, specify something, discuss. Make it clear right away.
- If the client speaks a different language, then look for a common language or learn a new one. At one time, I became proficient in knowledge of the English language, for example, communicating with customers from Europe.
- Write detailed reports, draw up checklists and test matrices, no matter where you work, remotely or on staff, this is very useful. Moreover, there are a lot of skills that can be developed precisely in the preparation of the test matrix. For example, you will need some knowledge of the same theory of probability, at least at the school level.
- If the client does not understand pricing, appeal to the reports, the difficulty of emulating user actions and your own qualifications. Suppose you tested for 50 hours with an hourly form of payment, and the customer says: “Pf-f! How? Why? There are only 17 tasks, and 15 more sub-tasks, and 34 bugs that you checked. It could not have taken so much time. ” Tell him why, how, why. Do not be lazy, bring to it all the circumstances that you encountered when conducting the test. It is important to remember that, often, testing is a big black box with magic. So I put a software product there, it boils for some indefinite time, boils, then they pull it out and the bugs crawl from there, many, many, like in a curse. Bring information, do not enter into conflicts, explain why you tested so much time, not less or more. This will increase customer loyalty, he will look at you with a new look. He will understand that you can reasonably confirm your point of view by spending even 2.5 hours explaining why you spent 1.5 hours on this task, and he will not ask these questions in the future.
Self-organizationI used to think that this was unnecessary trash to anyone, I just work, I get money and everything is fine. When I started daily work and financial reporting, I suddenly realized that I spent 70% of my income on a big shiny sword in some Vkontakte game, or Silver Shield on the Apple Store. Think about what you spend money on, especially when making payments in the form of electronic money. Also be sure to plan your time. Very often people complain that they do not have enough time. “I’m always busy, I study, I work somewhere, I help my mom, I go to the country with my friends to relax, I sit in the World of Tanks until 3 o’clock in the morning, I don’t have time to do useful things.”
After you basically planned your time, plan your work time. Read time management literature. It’s really cool when you learn to control the time that you have. When you do not have a schedule for minutes in a weekly or some application, but when you have it at the level of habit, when you enter the rhythm, and this will not cause you internal dissonance and struggle with yourself. Explain to your family that you are working, and not sitting at the computer - this is very important.
For the time being, try to isolate yourself from external sources of irritation: televisions and telephones. Because if you are constantly distracted, then there will be no benefit from your work. One of the main difficulties, for example, which I had to deal with when working as the Director of Quality at Mail.Ru Group, is the need to be distracted an incredible number of times during the day. So intense, hard work that I have to switch more than a hundred times a day. I am discussing with one person in the "Agent" the working moment on automating the cloud API, after 30 seconds I am already discussing the automation of the UI of "big" mail, after another one and a half minutes the technical director comes up to me, and we are discussing some problem with him here and now, I go out into the smoking room to distract myself for five minutes. While I'm standing there in the elevator I meet another person who asks me: “Dude, how are things with testing 26341?”. Me: "Yes, of course, 26341. Ah, yes, yes, yes, of course, we will finish today." Do not take on more than you can do.
If you cooperate with someone in cooperation, then try to count on them as well as on yourself. If you are subscribing to an order, and you are doing it not alone, expect either that you will pull it yourself, or that your colleagues will not let you down.
Keep daily work records. If you place an order using the bug tracking system, write off the time there, and you have an hourly pay, then, in principle, you do not need to make special gestures. Otherwise, log your time. If you don’t record your result for yourself, then you won’t see it later, and you will have a feeling that you are not doing anything, it very often happens. Moreover, if the customer suddenly asks what stage the project is at, you can give an accurate answer. But most importantly, you can subsequently analyze and find out the reasons for the waste of time.
Also do not forget about the monthly financial statements. Drive her in a way that is comfortable for you. If it takes an unacceptably long time to create reports and get information from it, then I recommend using services such as Basecamp, JIRA and the like. Cost accounting will help you visually see what your money is spent on.
Prospects for the testerMost important in this profession is an increase in experience. You will gain invaluable experience by working with real projects, with real products, with real developers, managers, analysts, with real technologies, and this will not get anywhere from you later. Then you can say at a glance at the product whether it is good or bad, you will have professional intuition. For example, a customer writes to me: “How much will the site test? He’s not ready yet, the statement of work on it is irrelevant, but it is very similar to this site, ”he throws me a link to another project,“ only we have purple buttons, and the search is arranged a little differently, and the product cards are made differently, in general, an online store, just another. " And, if you like it, you don’t want it, I have to tell him according to this description: “7 days, 12 thousand rubles”, “5 days - 15 thousand rubles”, “2 weeks - 8 thousand rubles”,
For example, as a tester who has repeatedly tested a variety of online stores, I have a good idea of their structure. And if they turn to me about testing such sites, I tell the customer: “Usually an online store consists of these components, tell me what are the nuances.” He: “Ah, well, yes, we have registration through social networks.” I myself note a couple of additional tasks, plus another 40 minutes for testing. “Well, what about the search? Is it simple or is there syntax, maybe regexp can be used in the search, and it will produce some incredible combinations? ” That is, I ask questions based on my previous testing experience. This experience will then be useful to you when you apply for a job, and even if you will never again work as a tester. Suppose if you become a developer,
By remote testing, I earned from 200 to 4000 dollars. The maximum income was obtained when I already had a team, we took projects for automation. But it was inconsistent earnings, that is, I could not afford to leave office work. If suddenly you have a tendency to downshifting - welcome to remote testing. It, in principle, is not unfounded, it is considered one of the easiest entry points to IT. However, the deepest fallacy is the idea that developing in testing is as easy as entering it. One must be prepared for serious difficulties along the way. In one day, not becoming a good tester, it takes a lot of effort.