В публикации я рассказываю о своем опыте работы тестировщиком на фрилансе. В заключительной части – о том, что я извлек из этой работы. Посмотрите, может быть, откроете для себя новое направление детальности?
После увольнения с наемной работы и переход на самозанятость у меня появился постоянный деловой партнер. С компанией я работаю удаленно. В течение дня трачу пару 2-3 часа решение задач.
Свободного времени много, и я нашел себе еще одну задачу. Точнее мне ее предложили. Задача была нова и необычна для меня.
Постановка задачи
Сервис, над которым мне предложили поработать - система для автоматизированного продвижения продуктов в и услуг в социальных сетях. В мои задачи входило:
• провести тест всех функций сервиса с точки зрения пользователя системы;
• написать документацию по работе с системой;
• тестировать систему после обновлений и вносить изменения/дополнения в документацию.
Я не являюсь программистом, но познакомившись с предложенным сервисом, я решил, что справлюсь с поставленной задачей и поэтому согласился. А почему нет? Есть свободное время – можно получить новый опыт и источник дохода.
Чуть-чуть теории.
Что такое тестирование и кто такие тестировщики?
Отрасль тестирования многогранна. Есть большое количество направлений тестирования. Я не ставлю задачу детально объяснять суть профессии тестироващиков. Отмечу лишь то, что хорошие тестировщики на вес золота. Им готовы платить неплохие деньги.
А теперь несколько определений и метафор для понимания сферы тестирования.
Вот самое простое определение, которое я нашел:
Тестирование – это процесс выполнения программы с целью обнаружения ошибок. (Гленфорд Майерс «Искусство тестирования программ»).
А вот образное описание процесса тестирования:
«Если взглянуть на IT-проект как на дорожное приключение, то большинство проектов скорее похожи на вождение внедорожника по горам, ночью. Таким проектам необходим свет фар. Именно тестировщик освещает путь перед программистами, менеджерами, может быть они увидят по карте, мимо чего они проезжают и как близко находятся к краю скалы.» (Сем Канер, Lessons Learned in Software Testing)
И анекдот про тестировщика, отражающий специфику его работы:
"Заходит однажды тестировщик в бар... Забегает в бар. Пролезает в бар. Танцуя, проникает в бар. Крадется в бар. Врывается в бар. Прыгает в бар и заказывает: кружку пива, 2 кружки пива, 0 кружек пива, 999999999 кружек пива, ящерицу в стакане, ?1 кружку пива, qwertyuip кружек пива."
Думаю, суть понятна?
Что я делал?
1. Я детально разобрался с сервисом, который мне предстояло тестировать.
2. Разбил сервис условно на несколько функциональных блоков.
3. Разработал тестовые кейсы для отработки различных реальных ситуаций. Об этом подробнее.
Любая программа получает на вход некоторые данные. Пользователь может ввести правильные данные, неправильные, частично правильные. А в зависимости от того, к какому типу данных относятся вводимые, сервис должен адекватно прореагировать. Например, принять, не принять, уточнить, выдать ошибку, предупреждение и т. д.
Например, в сервисе есть возможность ввода профессий, пола, возраста и т.д. Если ввести профессию машинист поезда, а пол – женский, то программа должна выдать ошибку, поскольку женщин машинистов у нас нет. Пример абстрактный, но показательный для объяснения сути того, о чем я рассказываю.
Так вот, под все эти возможные входные данные (а также различные комбинации входных данных - в случае, когда пользователь вводит нескольких параметров) я сделал тестовые задачи. В тестовых задачах использовал самые разнообразные данные, но такие данные, которые легко проверить и интерпретировать.
По итогам тестирования я предоставил разработчикам скриншоты и описания логически неверных действий сервиса. После исправления ошибок я подготовил «Руководство пользователя».
На данный момент функционал сервиса расширяется, а я тестирую этот новый функционал и вношу дополнения в инструкции.
Какой опыт при работе тестировщиком я извлек для себя?
1. Я на практике освоил ранее неизвестную мне отрасль IT и полюбил ее.
2. Сервис работает с социальными сетями. Я увидел «темные» области социальных сетей, о существовании которых не знает большинство пользователей, а лишь небольшая часть разработчиков приложений для соц. сетей. Эти знания дают мне дополнительный ресурс в развитии моих аккаунтов соц. сетей и использовании этих аккаунтов для продвижения своего сайта, который приносит мне пассивный доход.
3. При тестирвании поведения сервиса в различных браузерах я открыл для себя множество дополнительных возможностей различных браузеров, о которых даже не подозревал. Теперь использую эти возможности для анализа интересных мне сайтов, чтобы развивать свой ресурс.
4. Я научился делать документацию по программному продукту. Изучил имеющиеся госты, структурировал в соответствии с ними свое руководство.
5. Я развил новые грани в восприятии программных продуктов и сервисов. У меня сформировался внутренний классификатор недостатков, который постоянно расширяется за счет неосознанного анализа всех программных продуктов, с которыми я работаю. Я открываю сервис или сайт и неосознанно делаю оценку по разным параметрам. Не знаю, плохо это или хорошо, но мне не мешает, а скорее даже помогает.
Если подвести общи итог в одном предложении об опыте работы тестировщиком, то я бы сказал так:
заработал денег и получил новую компетентность.
Ставьте лайк, если понравилась публикация. Подписывайтесь на мой канал, чтобы не пропустить новые материалы.