С этим нетривиальным вопросом сталкивается как желающий начать работать в тестировании, так и специалист с опытом. Очевидного и правильного ответа, который бы подошел каждому задающему себе или другому человеку этот вопрос, к сожалению, нет.
Данные статьи рассчитаны на человека, который только начинает свой путь в тестировании или только задумался об этом, поэтому, коллеги, если вы опытны и решились пробежаться по тексту, попивая кофе в перерыве, буду рад вашей обратной связи. А господа и дамы, только входящие в эту чудесную сферу – задавайте свои вопросы, пишите свое отношение к прочтенному
Наш путь предлагаю построить следующим образом:
- Начнем с того, что же такое тестирование. Представим себя тестировщиком и узнаем, что предстоит делать
- Перейдем к ручному тестированию, что это, зачем и почему оно еще живо, хотя столько языков говорило, что умирает
- Познакомимся с тем, что же там в автоматизации и почему они пишут код, но не называются разработчиками
- Подведем итоги, обнимемся и попрощаемся
На все статьи будут указаны ссылки. Поговорим простым языком, чтобы было достаточно понятно, немного узнаем новых слов, которые будут пояснены или даны ссылки, открыв которые вы можете прочитать более детально при желании. Цель данной публикации – дать начальное понимание о данной сфере. В этом небольшом путешествии в мир тестирования узнаем несколько новых слов/терминов для «непосвященных» и пообщаемся в комментариях. Что же, друзья, ключ на старт и поехали. Счастливого путешествия!
Тестирование
Давайте условимся, что обойдемся без детальной исторической справки о тестировании. При желании поговорим об этом в рамках другой статьи. Лучше, давайте достаточно поверхностно, но емко обсудим область работы тестировщика. Но, сразу стоит признать, что выполняемый функционал зависит как от занимаемой должности, так и от компании/проекта.
Если вы начинающий специалист (в IT принято делить уровни, так работника на позиции начинающего специалиста называют Junior), то ваш функционал один, если среднего уровня (Middle) - второй, ведущий специалист (Senior, Lead) - третий. Поэтому по мере подъема по карьерной лестнице функционал будет добавляться. Впрочем, как и в любой другой профессии. Но все же, что есть тестирование ПО? Тестирование - это комплекс работ, который включает оценку качества, соответствия требованиям и способов улучшения продукта. Довольно размыто, давайте разбираться детальнее, поэтапно.
На начальном этапе карьеры Вам предложат заниматься простыми проверками соответствия ожидаемого и фактического результатов (об этом ниже), используя уже написанные тест-кейсы. Это в идеальном мире. С большей вероятностью Вам будут отдавать простые задачи, с которыми нужно будет справляться собственными силами, набираясь опыта для более серьезных профессиональных вызовов. Например, вашей первой задачей может стать проверка изменения какой-нибудь текстовки или добавление несложного функционала. По-хорошему, у Вас должен быть человек, к которому Вы можете обратиться за помощью\объяснением или же просто спросить, так ли все понимаете и делаете.
Что такое ожидаемый и фактический результат? Давайте сразу разберем на элементарном примере. Есть задача, которая была назначена Вам проверку– изменить текст в заголовке страницы на «Заголовок раздела». Вы переходите указанную страницу/экран мобильного приложения и проверяете, что же там сейчас написано. Ваш ожидаемый результат «Заголовок раздела», фактический результат – это то, что видите на самом деле. Если он соответствует – поздравляю, команда справилась, иначе – фактический результат отличается, время заводить баг-репорт на ответственного.
По прошествии времени и погружением в работу все глубже функциональные обязанности тоже будут претерпевать изменения. Задачи будут становиться более сложными, интересными и объемными. Но поверьте, ничего страшного в этом нет, это абсолютно нормальный путь становления. Если же устроившись на свою первую работу сразу кидают в пекло ада, спросить подсказки не у кого, и Вы предоставлены сами себе – задумайтесь, не стоит ли попытаться найти новое место. С одной стороны может показаться, что «сталь закаляется в огне», но с другой точки зрения, такая работа может зародить внутри несправедливое мнение, что эта специальность не Ваше. Запомните, что все должно идти последовательно, Вы не сможете поднять штангу в сотню килограмм, если до этого не поднимали ничего тяжелее пакета продуктов из магазина. Простите за столь лиричное отступление, но это действительно важно знать и понимать. Продолжим по теме
Тестирование не заканчивается на только проверке ожидаемого и фактического результатов, хотя многие далекие от тестирования именно так и думают. Чем больше будете разбираться в тестировании, проекте, инструментах, тем большую пользу принесете. И, немаловажно, тем раньше Вы будете вступать в процесс. Если на начальном этапе достаточным было проверить уже выполненную задачу, то опытный специалист вступает в игру, когда возможный функционал только обсуждается, чтобы высказать какие риски он видит, сколько потребуется времени на тестирование. Плюсом добавится более детальная документация о своей работе, так называемые артефакты тестирования. Вы уже являетесь самостоятельным специалистом, который сам знает, что и как необходимо делать
Высшим пилотажем будут позиции так называемых Senior и Lead специалистов. Ко всему прежнему функционалу может добавиться обучение коллег, который только начали свой тернистый путь, помощь с их подбором, координация небольших рабочих групп тестировщиков, определение сроков и бюджета. Но, это все там, дальше за горизонтом, когда будет пройдет объемный путь, в чемодане багаж знаний, умений и опыта.
Учитесь так, словно вы постоянно ощущаете нехватку своих знаний, и так, словно вы постоянно боитесь растерять свои знания.
Если взять тестировщика среднего уровня, то его рабочий процесс выглядит следующим образом:
- Участие в обсуждении поступающей в команду задачи. На этом моменте необходимо понять, что планируется реализовать, озвучить свою оценку на выполнение работы по данной задаче, а также возможные риски, если такие есть
- Ознакомление с техническим заданием, которое предоставляет аналитик разработчикам
- Написание тестовых кейсов, по которым будет производиться проверка, что реализованный функционал отвечает заложенным требованиям в задаче и пользовательскому ожиданию
- Сам процесс проверки. При наличие выявленных ошибок – возврат на доработку. Если все хорошо и все проверки пройдены – перевод задачи дальше по процессу
Так же добавим в список командные встречи, написание тестовой документации, взаимодействие с другими командами и т.п.
И в заключении хотелось бы добавить, что работа тестировщиком – это командная деятельность. Вы не один игрок на поле, поэтому вразрез популярному мнению, что за косяки отвечает тестирование – нет. За качество отвечает вся команда. Тестирование – это один из этапов процесса, за него отвечает тестировщик, так же как за качество своего этапа отвечает разработчики, аналитики, руководители проекта, дизайнеры. И если каждый выполняет свою работу добросовестно, то и результат будет положительный у всей команды.
Кратко подведем итоги изложенного:
- Тестирование – это комплексная работа по контролю и улучшению качества, а не только проверка ожидаемого и фактического результат
- Выполняемый функционал зависит от уровня специалиста и проекта
- Неадекватные требования к работе начинающего специалиста не означают Вашу профнепригодность
- С большой силой приходит большая ответственность. Чем выше уровень специалиста, тем более сложную и объемную работу предстоит выполнять
- Не стойте на месте, развивайте как личностные навыки, так и технические знания
- Тестировщик - это участник команды, а за результат отвечает вся команда
На этом краткий экскурс в жизнь тестировщика, предлагаю закончить и в следующей статье разобрать, что же такое ручное тестирование и чем там занимаются.
Спасибо за уделенное время!