Академический Документы
Профессиональный Документы
Культура Документы
Советы бывалого
фрилансера
Алексей Петров
С чего начинать
С чего начать, если вы решили заняться удаленным
тестированием, фрилансом? В первую очередь
необходима уверенность в себе, в собственных
силах, понимание того, что вам это действительно
нужно. Очень часто бывает так, что человек
загорается идеей: «Я хочу попробовать что-то новое
для себя, пойду и сделаю». Он начинает натыкаться
на какие-то первичные, самые простые, всем
известные вещи и забрасывает это дело. Мне
приходилось с такими людьми работать. Например, я
подписывался на какой-то проект, где требовалось до
16 часов в сутки проводить тестирование. Я
распределял эту работу между собой и двумя
коллегами. Вот они как раз были не уверены в том,
что это им нужно, они думали, что это просто так
«срубить бабла» и ничего не делать. Через 2-3
недели они вынуждены были сказать мне: «Извини,
до свидания, мы не будем этим заниматься». А
заказчик, с которым у меня была договоренность,
был достаточно известный человек в мире
обеспечения качества, родоначальник отдела
тестирования в компании Rambler и просто хороший
человек. Мне не хотелось его подводить, и я был
вынужден покрывать эти 16 часов тестирования
самостоятельно, при этом я параллельно работал в
офисе. Можете представить, как выглядел мой
среднестатистический рабочий день. Поэтому, еще
раз: если вы действительно хотите этим заниматься,
то проявите достаточно усердия и воли.
В моей фрилансерской деятельности мне помогал
опыт использования интернета и
коммуникабельность. Последнее является очень
важным свойством, которое вы сможете в себе
развить, в том числе благодаря фрилансу в
тестировании. Хорошо подвешенный язык открывает
двери практически в любом направлении. Если вы
можете грамотно преподнести себя, свой продукт,
свой бизнес, свою идею, то вы сможете покорить
абсолютно любые вершины. Если вы несколько
скованны, сдержанны, плохо идете на контакт с
другими людьми, то это создаст для вас
определенные проблемы при работе во фрилансе,
потому что общение с заказчиком и коллегами будет
требоваться постоянно. Практически ни один проект
не был у меня в таком формате, когда мне выдают
задачу, я несколько дней что-то делаю и выдаю
результат. Постоянно есть какое-то взаимодействие с
заказчиком или его представителями.
Информация о себе
Рассказ о себе, что же он может содержать, что
нужно рассказать? В первую очередь опыт работы,
если таковой имеется. Без разницы, была ли это
практика в институте, какой-то заказ или просьба от
коллеги, товарищ написал какую-то небольшую
программу, вы ее протестировали, просто
посмотрели свежим взглядом. Если вы работали в
какой-то компании, безусловно, стоит об этом
написать. Опишите проекты, над которыми вы
работали. Это нередко дает понимание того, какой у
кандидата набор знаний по предметным областям.
Предположим, я тестировал в равной степени сайты
знакомств, банковские порталы, даже сайт с
японской adult-продукцией. Проекты могут быть
самые разные. Когда к вам придет следующий
заказчик, он, например, увидит: «Да, человек работал
с SaaS-технологиями. У нас тоже проект на SaaS,
будет очень здорово взять именно такого человека».
Безусловно, стоит написать о навыках, если таковые
имеются. Возможно, это навыки по нагрузочному,
автоматизированному тестированию, тестированию
usability. Направлений в тестировании достаточно
много для того, чтобы причислить себя к
приверженцам одного из них.
Образование, если есть чем похвалиться —
хвалитесь. Стоит указать даже хобби, потому что
если вы, например, полупрофессионально,
любительски или профессионально занимаетесь
фотографией, и вам предложат протестировать
проект, связанный с фотоаппаратами, фототехникой,
фотографиями, то это хобби будет плюсом.
Например, когда я работал в «РосБизнесКонсалтинг»
руководителем разработки проекта «Фотофайл», я в
это время как раз особо активно занимался
фотографией. И зная предметную область, что
представляет собой фото, какая техника бывает, смог
предлагать и реализовывать определенные фичи и
идеи в рамках проекта. Глубочайшим заблуждением
считается, что главная цель тестирования — это
поиск баги. Тестирование — это исследование
качества продукта. При этом под качеством
подразумеваются как формальные требования,
которые могут быть заявлены со стороны заказчика,
разработчика, так и неформальные — те требования,
которые предъявляет аудитория.
Клиенты
В принципе, основные клиенты — это компании-
разработчики программного обеспечения. Есть
большие компании, как Mail.Ru Group, в которых
существуют огромные отделы тестирования. В
частности, у меня штат около 35 человек. Есть
маленькие компании, которые не могут себе
позволить взять в штат даже одного тестировщика.
Они делают небольшие сайтики на какой-нибудь CMS
типа Битрикс, Wordpress, Joomla, DLE и так далее.
Например, сумма заказа 10 тысяч рублей, и они
делают четыре сайта, там полтора разработчика
сидит. Брать еще и тестировщика с зарплатой от 20
тысяч рублей для них несусветная роскошь. И
аутсорсинг-тестирование как раз выход для таких
компаний. Фрилансер не будет требовать офисного
пространства и выплаты каких-то налогов, если вы
работаете «в черную». Если «в белую», то платить
придется меньше налогов, в зависимости от
обстоятельств.
Еще одна группа клиентов: одиночные разработчики.
Бывают самые разные случаи. Как-то я общался с
одним из разработчиков, он поведал мне такую
историю. В течение четырех лет он работал в
достаточно крупной компании, и был у него один
коллега, который приходил поздно на работу, уходил
рано, мог вообще не прийти, но к нему никогда не
было нареканий со стороны начальства. Спустя
четыре года выяснилось, что он нанял трех индусов,
которые писали код, а он просто приходил на работу,
получал деньги и часть платил этим индусам. Я
общался с разработчиками, которые просто хотели
чуть улучшить качество своего кода для того, чтобы
он стал идеальным. Разработчики, которые напрямую
обращаются к вам за тестированием — это очень
хорошие клиенты. Но это редкость, к сожалению,
вымирающий вид. Один из моих коллег-
тестировщиков придумал для них название: это не
программер, а брограммер. Он настоящий бро, он
хочет, чтобы его код был качественным.
Отчет
В качестве формы отчета может быть отчет по
тестированию, либо баг-трекинг. Например, работал
в таких условиях, когда у заказчика была
багтрекинговая система, JIRA, RedMine, FogBugs,
Mantis, много различных систем. Она была
развернута у заказчика, меня просто заводили в нее,
выстраивали минимальный процесс взаимодействия
с разработкой, там же отмечали время. Были случаи,
когда я сам разворачивал багтрекинговые системы.
Опять же, это был хороший опыт — освоить
немножко Ruby и установить RedMine, потом
установить JIRA, потом Mantis, и все это для того,
чтобы сотрудничать с тем или иным заказчиком. Если
по тем или иным обстоятельствам мы работали не
через официальную форму соглашения, и я не
подписывал NDA, то они боялись пустить меня в свой
трекер. Тогда я разворачивал свой собственный и
говорил: «Я буду сюда постить баги и пускаю ваших
разработчиков».
Первые 1,5-2 года в тестировании я полагал, что это
занятие есть поиск багов. И я столкнулся с
классической болезнью тестировщика, начинающего
или среднего профессионала. У меня есть задача
протестировать сайт, я сказал, что буду это делать 5
дней за 10 тысяч рублей. Я его протестировал и
нашел три бага. Я считаю, что я плохой тестировщик.
Как так? Я потратил пять дней, мне должны вот-вот
заплатить за это 10 тысяч рублей, а я предоставляю
три бага. Это, по меньшей мере, странно. И тут я
начинал тестировать до победного. Но важно было
провести исследование продукта, и отобразить это в
отчете. И буквально со второго-третьего заказа, где в
качестве отчетов выдавался именно отчет по
тестированию, я волей-неволей пришел к тому, что
необходимо писать чек-листы и таск-кейсы, по
которым проводилось тестирование. Представьте
себе: есть сайт, состоит из пяти компонентов, я
нашел три бага. Для заказчика остается неизвестным,
тестировал ли я два оставшихся компонента и не
нашел там багов, или не тестировал и потому не
нашел багов? Если вы напишете чек-лист проверок,
то покажете заказчику, что именно вы делали.
Форма оплаты
Форма оплаты может быть самой разной: наличные,
электронные деньги, почтовый, банковский перевод,
бартер. Выберите максимально удобный и
комфортный для вас с заказчиком способ. Вообще,
старайтесь быть максимально гибкими при
обсуждении условий сотрудничества. Будьте
настоящим супермаркетом удаленного тестирования:
«Хорошо, давай будем электронными деньгами с
баг-трекингом, на доверии, и при этом будем
работать под ключ», или что-то еще. То есть если вы
будете железно говорить: «Я работаю только за
наличные под ключ с обязательным договором с
NDA», то половина заказчиков от вас просто уйдет,
потому что у них может не быть юристов, которые
могут подготовить договор, или нет возможности
оплачивать наличными. Будьте гибкими, это поможет
вам вести переговоры, заключать больше
договоренностей и контрактов с потенциальными
заказчиками.
Другие нюансы
Если клиент из другого города или страны, то
сразу обсуждайте график и порядок работы,
учитывайте временные зоны и серверное время.
Если сервер, например, стоит где-то в
Великобритании, и у него в 12 часов должен по
крону отработать какой-то скрипт, а вы
торжественно рапортуете в 12 часов по
московскому времени, что он не отработал, то
имейте в виду, что в Лондоне в этот момент 8
часов утра.
Если вы общаетесь периодически с
разработчиками, постарайтесь в меру
возможностей выделить определенный
промежуток времени, когда вы работаете
автономно. И также выделяйте хотя бы полчаса-
час в день, когда вы можете взаимодействовать с
заказчиком, с его представителями, отвечать на
вопросы, конкретизировать что-то, обсуждать.
Оговаривайте это сразу.
Если клиент говорит на другом языке, то ищите
общий язык или учите новый. В свое время я
поднаторел в знании английского языка,
например, общаясь с заказчиками из Европы.
Пишите подробные отчеты, составляйте чек-
листы и тестовые матрицы, неважно, где вы
работаете, удаленно или в штате, это очень
пригодится. Более того, есть масса навыков,
которые можно развить именно при составлении
тестовой матрицы. Например, вам понадобятся
определенные знания по той же теории
вероятности, хотя бы на школьном уровне.
Если клиент не понимает ценообразования,
апеллируйте к отчетам, сложности работы по
эмуляции действий пользователей и собственной
квалификации. Предположим, вы натестировали
на 50 часов при почасовой форме оплаты, а
заказчик говорит: «Пф-ф! Как? Почему? Тут же
всего 17 заданий, и еще 15 подзаданий, и 34 бага,
которые ты проверил. На это не могло уйти
столько времени». Расскажите ему, почему, как,
зачем. Не поленитесь, доведите до него все
обстоятельства, с которыми вы столкнулись,
когда проводили тестирование. Важно помнить,
что, зачастую, тестирование — это большой
черный ящик с магией. Вот я туда кладу
программный продукт, он там какое-то
неопределенное время кипит, кипит, потом
оттуда его вытаскивают и жуки ползут, много-
много, как в проклятии. Доносите информацию,
не вступайте в конфликты, объясняйте, почему
вы тестировали столько времени, а не меньше
или больше. Это увеличит лояльность заказчика,
он посмотрит на вас новым взглядом. Поймет,
что вы можете аргументированно подтвердить
собственную точку зрения, потратив даже 2,5
часа на объяснение того, почему потратили на
эту задачу 1,5 часа, и в будущем он не будет
задавать этих вопросов.
Самоорганизация
Раньше я считал, что это никому ненужный хлам, я
просто работаю, получаю деньги и все прекрасно.
Когда я начал вести ежедневно рабочую и
финансовую отчетность, то неожиданно понял, что
70% своих доходов я тратил на большой блестящий
меч в какой-то игре Вконтакте, или «Серебряный
щит» на Apple Store. Задумывайтесь, на что вы
тратите деньги, особенно при расчетах в виде
электронных денег. Также обязательно планируйте
свое время. Очень часто люди жалуются на то, что им
не хватает времени. «Я всегда занятой, я учусь, я где-
то работаю, я еще маме помогаю, на дачу езжу с
друзьями отдыхать, до 3 часов ночи в World of Tanks
сижу, у меня нет времени, чтобы заниматься
полезными вещами».
После того, как вы в принципе спланировали свое
время, спланируйте свое рабочее время. Почитайте
литературу по тайм-менеджменту. Это реально
классно, когда вы научитесь контролировать время,
которым вы обладаете. Когда у вас будет не
расписание по минутам в еженедельнике или каком-
то приложении, а когда у вас это будет на уровне
привычки, когда вы войдете в ритм, и это не будет у
вас вызывать внутреннего диссонанса и борьбы с
собой. Объясните домашним, что вы работаете, а не
сидите за компьютером — это очень важно.