Далеко не все айтишники – программисты, которые пишут код. Можно не знать ни одного языка программирования, но быть незаменимым специалистом, без которого ИT-проект работать не будет.
Встречайте – тестировщик. Или же QA Engineer, как его еще называют. Он не обязательно знает Python или Java, но работает в тесной связи с разработчиками.
В этой статье ты узнаешь, кто же такой тестировщик, чем он занимается в ИT-компании, сколько зарабатывает и какими навыками он должен владеть.
Кто такой тестировщик
Тестировщик программного обеспечения (ПО) – это технический специалист, который отвечает за качество продукта. Он проверяет, как работает сайт, приложение или компьютерная программа, и находит в них ошибки (баги). Собственно, Quality assurance (QA) с английского так и переводится – обеспечение качества.
Каждый найденный баг тестировщик подробно описывает. Это нужно, чтобы разработчик смог понять, где появляется ошибка и как ее исправить. А специалисты высокого класса умеют даже предвидеть появление багов и предотвращать их. Но это уже высший пилотаж, на который способен не каждый.
5 ВЕДУЩИХ, КОТОРЫЕ НЕ СДЕРЖАЛИСЬ В ПРЯМОМ ЭФИРЕ! milTOP
При этом профессия тестировщика достаточно творческая. Он часто придумывает и использует нестандартные методы тестирования сайтов, программ или игр. А иногда даже пытается специально их сломать.
Что делает тестировщик
Повседневные задачи тестировщика зависят от двух факторов: его профессионального уровня и продукта компании. Это могут быть веб-сайты, интернет-магазины, мобильные приложения, онлайн-игры, корпоративные сервисы, системы безопасности, программы для гаджетов и т. д.
- Читает техническую документацию и разбирается, как по задумке должен работать проект (сайт, приложение, программа) или его часть.
- Ищет ошибки с помощью обычных методик тестирования, пользовательских сценариев или специфических стресс-тестов.
- Каждую ошибку вносит в баг-репорт. В нем он подробно описывает, где и при каких действиях эта ошибка проявляется.
- Составляет отчет о найденных багах и передает его разработчикам.
- Постоянно контактирует с программистами и следит, чтобы все исправили.
Начинающий тестировщик проверяет приложения вручную – для этого не нужно знать код. Он ставит себя на место пользователя и анализирует работу программы с пользовательской точки зрения. Если тестирует сайт – заходит на него и проверяет, как выглядит контент, работает ли навигация, формы, кнопки и т. д.
Тестировщик среднего уровня работает над более сложными задачами. Он может использовать нестандартные методики тестирования или разработать автоматизированную программу по тестированию продукта. Клацнуть кнопку «Купить» десять раз за секунду и нагнуть базу данных – это его рук дело.
Старший тестировщик занимается стратегией. Его задача – настроить работу таким образом, чтобы находить баги как можно быстрее. А в идеале, чтобы большинство из них даже не возникало во время разработки продукта.
Эксперимент, который доказал что свобода выбора это миф
Конечно, существует множество типов QA-инженеров. Например, тестировщик компьютерных игр. Работа мечты для многих, не так ли? Играй себе в игры и получай за это неплохие деньги.
Однако здесь все немного сложнее. Ведь часто тестировщик днями исследует одну-единственную локацию или изучает взаимодействие двух разных механик. Иногда приходится сотню раз повторить одно и то же действие, чтобы воспроизвести ошибку и описать ее в отчете.
Например, специалист тестирует локацию в игре «Ведьмак 3». Он должен убедиться в том, что игрок может правильно взаимодействовать со всеми предметами. А тут бац – какая-то лажа!
Тогда QA engineer пытается воссоздать баг и записывает его особенности. Со стороны это выглядит как десятки попыток снова провалиться под эту самую текстуру. Тестировщик заставляет персонажа прыгать на месте, пробегает через точку под разными углами, двигается вприсядку… Если не сработало – пробует взаимодействовать с предметами в инвентаре или неигровыми персонажами.
Процесс разработки игры крайне сложный, поэтому различные механики не всегда взаимодействуют так, как хотелось бы. И чтобы найти истинную причину ошибки, нужно изрядно попотеть.
Как именно работает тестировщик
Если QA работает в веб-студии, то он тестирует сайты, онлайн-сервисы и интернет-магазины. Сначала изучает техническую документацию – как все должно работать в идеале (то есть что хотел и за что заплатил заказчик). А потом тщательно проверяет дизайн, навигацию, каждую отдельную страницу и функцию.
Баг-репорт (bug report) – основной рабочий документ тестировщика. На каждый баг он заводит отдельный баг-репорт, где подробно описывает ошибку. Где и когда она возникает, как влияет на работу продукта и так далее. Чтобы другие коллеги могли ее воспроизвести.
Подобные отчеты обычно пишут в специальных программах, типа Jira, Trello, Notion. Они важны на больших проектах, где за день проводят десятки тест-кейсов (проверок). Однако хороший тестировщик может описать ошибку хоть на песке у мангала, если он в отпуске.
Когда тестировщик составил баг-репорт, он передает его программистам, а те уже исправляют ошибку. Это довольно кропотливая и важная работа. Потому что если баг не найдет тестировщик, на него обязательно наткнутся пользователи. Это может стоить компании репутации и больших денег.
Какими техническими навыками владеет тестировщик
Теперь поговорим о профессиональных навыках QA-инженера – hard skills. А знать и уметь начинающий специалист должен много.
- Понимает принципы создания сайтов, приложений или любого другого программного обеспечения.
- Разбирается в клиент-серверной архитектуре и пользуется базовыми инструментами разработчика.
- Умеет пользоваться различными стандартными методиками и программами для тестирования.
- Оформляет тест-кейсы, баг-репорты и другую отчетную документацию.
- Понимает методологию разработки Scrum, Kanban или им подобных.
Новичку программировать не нужно. Однако если ты захочешь расти в профессии и зарабатывать больше, то в будущем понадобится хотя бы базовое понимание технологий на проекте. Например: HTML, CSS, JavaScript, React или других.
Еще один важный навык – умение разговаривать и писать на английском хотя бы на базовом уровне. Особенно это нужно сотруднику аутсорсинговой компании, потому что приходится ежедневно рассказывать о своей работе иностранным коллегам. Но если компания продуктовая, как Uklon или Monobank, знание иностранных языков не так критично.
Какими мягкими навыками владеет тестировщик
Здесь интересней, ведь многие айтишники говорят, что тестировщик – не профессия, а призвание. Ниже описаны важнейшие персональные навыки (soft skills) – личностные качества и навыки специалиста по тестированию программного обеспечения.
- Естественное любопытство. Тестировщик проверяет каждую щелочку на проекте. «А что будет, если сделать так?» – вот его любимый вопрос. Конечно, QA engineer в первую очередь проверяет то, о чем его просят. Но иногда чувства подсказывают, что где-то может быть пробел, о котором не подумали другие.
- Творческое мышление. Типовые методики тестирования – это отлично. Но нестандартное мышление для тестировщика крайне важно. Если существует хоть какая-то возможность того, что потребитель использует продукт не так, как задумано, – ее надо предусмотреть.
- Умение работать в команде. Тестировщик тесно сотрудничает с разработчиками и проектными менеджерами. Конечно, у него есть и руководитель (тимлид). Чтобы эффективно взаимодействовать, он должен находить общий язык с другими людьми.
- Усидчивость. Иногда тестировщик выполняет сотни однотипных действий, чтобы повторить баг и выявить его причину. Человека не должна пугать монотонная работа. Прилетело 100 задач на проверку программы – включай любимую музыку и выполняй их не спеша одна за другой.
- Сосредоточенность. Ручные тесты требуют большой концентрации, ведь нужно воспроизвести сценарий возникновения ошибки и подробно описать его в отчете. В каждом действии специалиста должна быть логика, последовательность, педантичность. Если ошибиться даже в мелочах, разработчики вернут задачу на доработку.
- Дисциплинированность. Тестировать сайты и программы – это ежедневный кропотливый труд, который часто оплачивает сторонняя компания (заказчик продукта). Работа тестировщика встроена в бизнес-процесс и скоординирована с другими отделами. Поэтому специалист по тестированию должен четко планировать время, определять приоритеты и соблюдать сроки.
Звучит сложно, но есть два интересных факта. Первый: сильные софт скилы нужны во многих профессиях, но за них не платят так много, как тестировщику в ИТ. Второй: мягкие навыки тоже можно развивать.
В школе GoIT студенты на занятиях прокачивают софт скилы, карьерные навыки, английский. Также составляют резюме, заполняют профиль в LinkedIn и проходят пробные собеседования. Стать QA уровня junior можно всего за три месяца на курсе «Тестировщик с нуля».
Насколько нужна профессия тестировщика
Тестирование – незаменимый этап процесса разработки любого софта. Без него невозможно создать качественный и конкурентный продукт. Пока профессионально эту работу не выполняет ни один искусственный интеллект. А в будущем, вероятней всего, он возьмет на себя только рутинные и типичные задачи.
Именно поэтому профессия тестировщика остается актуальной на рынке труда и будет меняться с появлением новых технологий. Конечно, в 2022 и 2023 годах рынок просел. Но после нашей победы он снова взлетит, как это произошло во времена пандемии.
Найти работу QA-специалисту в Украине сейчас сложно, но возможно. Количество активных вакансий по запросу «QA» на 15 марта 2023 года: dou.ua – 169, djinni.co – 100, rabota.ua – 104, work.ua – 72. Также искать можно по другим ключевым словам: «QA engineer», «Quality assurance», «тестировщик».
Стоит посмотреть вакансии с релокейтом или для удаленной работы и на популярных зарубежных площадках. Мы уже как-то рассказывали в блоге, как работает польский justjoin.it. В середине марта работодатели предлагали на сайте 369 вакансий для тестировщиков.
Еще есть LinkedIn, сайты компаний, профильные Телеграм-каналы. Все это – дополнительные способы найти первую работу в ИТ.
На украинском рынке существует дефицит тестировщиков уровня middle и выше. Однако учитывай, что тестировщик – это наиболее популярная профессия для старта в ИT. Чтобы обойти конкурентов, как мы писали выше, надо готовиться комплексно: приобретать технические навыки, прокачивать персональные, подтягивать английский.
Сколько зарабатывают тестировщики
Перейдем к самому интересному – доходам в IT-сфере.
Средняя зарплата начинающего тестировщика (Junior QA) с опытом до 1 года на украинском рынке составляет $800 в месяц. Причем компании предлагают минимум $400 даже интернам без опыта работы.
Специалист среднего уровня (Middle QA) с опытом от 2 лет получает $1850. Однако такая зарплата требует крепких технических знаний. Также часть мидлов владеют хотя бы одним языком программирования на базовом уровне.
Опытный специалист (Senior QA) в Украине имеет средний доход на уровне $3400 в месяц. Интересно, что у руководителя команды (QA Team Lead) эта цифра ненамного выше – $3500. Хотя и ему есть куда расти.
Больше всего получает руководитель отдела (QA Tech Lead). Эта должность чаще встречается в крупных международных компаниях, где работают десятки тестировщиков. Такому работнику, согласно опросам, платят $4400 ежемесячно.
Напомним, что подобные зарплатные опросы портал Dou проводит ежеквартально. В них принимают участие сотрудники почти всех украинских ІТ-компаний.
Выучиться на тестировщика – относительно простой способ перехода в IT, ведь требования для новичков здесь одни из самых низких. Профессия техническая, но очень интересная и даже творческая. Если тебе такое нравится – не жди. Проходи бесплатный марафон по тестированию сайтов или регистрируйся на курс тестировщика с нуля в школе GoIT. У тебя все получится!
Источник: goit.global
Елена Середова. Об инженерах по тестированию и качественных продуктах
– Чем занимается инженер по тестированию?
– Многие думают, что тестировщик — это человек, который ищет ошибки в программе. Однако я бы сказала, что инженер по тестированию или, как его еще называют, инженер QA (англ. quality assurance — «обеспечение качества») — это специалист, который вместе с остальными участниками команды следит, чтобы выпускаемый продукт (программа или сайт) был хорошим.
– Как именно тестировщик проверяет качество продукта?
– Существует два подхода к тестированию: ручной и автоматический. «Ручной» тестировщик нажимает на кнопки, пробует различные комбинации и смотрит, чтобы сайт или программа правильно реагировали на команды. При этом у специалиста закономерно возникает желание автоматизировать часть работы, чтобы сэкономить время и избавить себя от повторения одних и тех же действий. Для этого некоторые тестировщики пишут код и создают программы, которые проверяют, как работает продукт. Однако невозможно автоматизировать все. Например, большую часть моей работы я делаю все же вручную.
Инженеры по тестированию могут подключиться к работе на разных этапах. Иногда они проверяют уже готовый продукт: смотрят, соответствует ли он ожиданиям заказчика и пользователей. А порой тестировщики участвуют еще на этапе создания проекта, заранее пишут сценарии и тесты для проверки.
– Как проходит ваш день?
– Представим: выходит релиз — новая сборка продукта (сайта или приложения), в которую разработчики внесли изменения. Эта сборка попадает в мои руки. Сперва я смотрю список изменений и убеждаюсь, что разработчики исправили все, что планировали. Также я проверяю, что ключевые функции продукта продолжают работать. Например, если это сервис покупки билетов, то я убеждаюсь, что билеты по-прежнему можно купить, а в случае ошибки пользователь получает свои деньги обратно.
Затем я составляю чек-лист — план проверок. Это скучная вещь, и мало кому нравится этим заниматься. Но если я что-то забуду или заболею, и за проект возьмется другой человек, он сможет посмотреть в этот план и понять, что нужно сделать. Кроме того, по чек-листам работают новички. Следуя заданиям из списка, составленного более опытными коллегами, они могут самостоятельно протестировать продукт.
После того как я проверила все новые изменения и убедилась, что старые функции тоже работают, можно считать тестирование законченным. После этого обновление можно рекомендовать пользователям.
Помимо проверки качества новых версий продуктов, я работаю с письмами, которые пользователи пишут в службу поддержки. Люди рассказывают о проблемах, с которыми они столкнулись на сайте: не смогли купить билеты, потому что не отобразилась кнопка или не открылась схема кинозала.
Я разговариваю с пользователями, узнаю, в какой момент произошла поломка, и передаю эти сведения разработчикам. Не все пользователи охотно идут на контакт и, конечно, не все могут правильно сформулировать, когда выскочила ошибка. Порой нужно просто догадаться, что имеет в виду человек. Для этого тестировщику нужны хорошие коммуникативные навыки и, пожалуй, интуиция, которая развивается со временем.
– Как вы стали тестировщиком?
– Я училась в Российском государственном гуманитарном университете на специалиста по защите информации. Работала в университетской организации, которая занималась защитой авторских прав в интернете. Эта компания разрабатывала программу, которая могла распознать по фрагменту видео фильм и указать, попадает ли он под нашу защиту.
В нашей маленькой команде не было тестировщика, поэтому я лично каждый день мучала разработчика вопросами, почему не работает та или иная функция, и как оно должно работать. Именно этот разработчик и подсказал, что с моим желанием докопаться до истины мне стоит пойти в тестирование. Тогда я нашла небольшую компанию в Долгопрудном, где проработала тестировщиком три месяца. Так начался мой карьерный путь.
– Какое образование нужно получить, чтобы стать тестировщиком?
– Лучше, если у человека будет техническое образование. Впрочем, это не является обязательным: многие отличные специалисты не учились на «технарей». Например, мой прошлый руководитель был из банковской среды.
– Можно ли стать тестировщиком, закончив специальные курсы?
– Когда я начинала работать тестировщиком, никаких курсов еще не было. Многие теории тестирования были мне неизвестны на протяжении долгих лет, потому что мне это просто не нужно было в работе. Я познакомилась с этими теориями, только когда готовилась к собеседованиям и изучала, какие вопросы задают тестировщикам. Тогда я узнала, что есть теория тестирования, есть классы эквивалентности. На практике обычно теория не нужна, а ведь именно ей чаще всего и учат на курсах.
Я видела людей, которые прошли курсы тестировщиков, и не могу сказать, что эти знания сильно помогли им в настоящей работе. Мне кажется, лучшее обучение — это практика. Лучше всего, когда принципы работы объясняют специалисты по ходу решения настоящих задач.
– Какие компетенции необходимы для работы тестировщиком?
– В первую очередь нужно правильно читать задание и выполнять его. Хотя, пожалуй, это можно порекомендовать представителям любой профессии. Важно уметь ставить себя на место другого человека и смотреть на ситуацию со стороны. Ведь постоянно работая с программой или сайтом, тестировщик узнает все нюансы.
Например, он помнит, что какая-нибудь кнопка расположена в неочевидном месте. А пользователь, который впервые посетил ресурс, не знает, куда надо нажимать. Будет хорошо, если тестировщик сможет предусмотреть такую ситуацию.
Нужно уметь логически мыслить, находить нестандартные решения и общаться с людьми. Корректно доносить до разработчика, менеджера или дизайнера, что в программе есть ошибки, обсуждать, что нужно исправить в первую очередь, а что может подождать.
Важно, чтобы у ручного тестировщика было желание докопаться до сути, понять тонкости работы сайта или программы. Конечно, можно тестировать поверхностно, но именно умение закапываться глубоко в детали и отличает хорошего ручного тестировщика от посредственного.
И конечно, нужно любить свою работу. Тестировать продукт, который нравится, болеть за него и болеть за пользователя.
– Сколько зарабатывают тестировщики?
– В крупной компании специалист среднего уровня получает около 100 тысяч. Автоматизированные тестировщики, насколько мне известно, получают от 120 тысяч рублей в месяц.
– Чем может заняться тестировщик, решивший попробовать себя в чем-то новом?
– Специалисты, работавшие в ручном режиме, могут получить базовые навыки разработки и стать автоматизированными тестировщиками. Впрочем, некоторые не ограничиваются элементарными навыками, изучают программирование и становятся разработчиками.
Тестировщики часто становятся руководителями команды тестирования или менеджерами продуктов. Ведь инженер по тестированию успевает прекрасно изучить свой продукт и может успешно развивать его. Порой тестировщики также идут в аналитики.
– От чего может устать тестировщик?
– После того, как инженер по тестированию становится экспертом в своем продукте, к нему постоянно начинают приходить люди за консультацией. Этот поток может быть нескончаем, что очень сильно утомляет. Тяжело переключать внимание, постоянно отвлекаться от своей основной задачи. Также тестировщики иногда устают от написания тестовой документации.
Существуют компании, где бумажной работой занимаются аналитики, однако чаще всего инженер по тестированию сам заполняет чек-листы. А ведь порой их может быть более 50. Мало того, что их нужно написать, их нужно постоянно обновлять, чтобы они были актуальны.
Бывает, что специалисты устают от своих проектов. Например, тестировщик давно тестирует ресурс и успел изучить его вдоль и поперек. Чтобы не потерять интерес к работе, в некоторых компаниях тестировщик может перейти на другой проект, узнать новые технологии, познакомиться с другими людьми.
– Будут ли в будущем востребованы ручные тестировщики, или все проверки будут автоматизированы?
– Думаю, будут нужны и ручники, и автоматизаторы. Есть направление тестирования интерфейсов именно с точки зрения пользовательского опыта. Это делается вручную, и этих специалистов нельзя заменить, ведь машина не сможет понять, как удобнее пользователю. Зачастую автоматизированное тестирование нецелесообразно, потому что автоматизировать нужно только то, что регулярно выполняется и занимает большую часть времени. Кроме того, автоматизация тестирования — это дорого, не все компании могут себе это позволить.
– Существует ли какая-либо возможность еще в школе получить опыт, который поможет понять, понравится ли человеку работать тестировщиком?
– Конечно, можно попробовать поискать баги на любом ресурсе, но лучше делать это целенаправленно. Существует проект «Хомячки», который предлагает всем желающим под руководством опытных специалистов бесплатно протестировать какой-нибудь новый проект.
Кроме того, человек, который хочет стать тестировщиком, обнаружив проблему на сайте, может не полениться нажать на кнопку «написать разработчику». Старшекласснику это даст возможность потренироваться в составлении отчетов об ошибках, а владельцам сайта — возможность улучшить свой продукт.
Также можно потренироваться в составлении чек-листов. Открыть небольшой проект, изучить его, понять, какие функции и ресурсы важны, и набросать перечень основных проверок.
– Что вы могли бы посоветовать почитать и посмотреть подросткам, которые хотят больше узнать о работе тестировщика?
– Есть замечательный подкаст — радио QA. На нем часто рассказывают про автоматизированное тестирование, но не обделяют вниманием и ручное. Выпуски не сложны для восприятия и помогут погрузиться в профессию.
Также у «Яндекса» есть свой канал на ютьюбе. Там размещены лекции, в которых сотрудники «Яндекса» рассказывают о тестировании.
Источник: intalent.pro
Профессия: тестировщик ПО
Хочу рассказать, что за профессия — тестировщик программного обеспечения — и как я им стала.
На написание поста вдохновила подруга, которая собирается стать тестировщиком. Решила, что проще все описать один раз в статье.
Сразу предупрежу — скорее всего, не всем будет интересно ее читать. Будет много технических терминов и описание процессов. Я писала это в помощь тем, кто начинает или собирается работать в этой сфере.
Многие мои друзья и знакомые спрашивали — а где ты работаешь? И когда я говорила, что я тестировщик в сфере айти, обычно получала кучу вопросов: «А что это? Что ты там делаешь? Ты программист?»
Вот сейчас я наконец расскажу все подробно — что за зверь такой тестировщик, и чем он занимается на работе, когда не постит в фейсбуке котиков.
Для меня все началось с того, что я переехала из Москвы, где проработала несколько лет, обратно в родной Минск. В Москве я работала личным помощником директора крупной компании, и зарплата была приличной. Приехав на родину, я столкнулась с тем, что работы помощником крайне мало, зарплаты маленькие, а требования — ого-го.
Из серии «три высших образования, пять языков в совершенстве, опыт юриста и бухгалтера и рост от 180 см». Многие вакансии были даже с интимом (да-да, так и написано прям в тексте вакансии!). Я сначала приуныла, а потом решила, что это отличная возможность сменить профессию. Еще работая личным помощником, я вела корпоративный сайт, в нем был ужасный редактор, пришлось выучить HTML и CSS. Даже думала стать веб-дизайнером, изучала разные трюки.
Стала искать работу в сфере айти — везде нужен опыт, зато зарплаты по сравнению с другими сферами очень приличные. И вот наконец наткнулась на вакансию тестировщика без опыта работы, но с хорошим английским. Я примерно представляла себе, что может делать тестировщик ПО. Постоянно натыкалась на разные ошибки на сайтах в Интернете (собственно, так и взяла под свою опеку корпоративный сайт, где я не только находила баги, но и чинила их). Так что решила попробовать.
Баги — это название ошибок в программе на сленге айтишников. Была такая история когда-то на заре компьютерной эры, когда ЭВМ были очень большими: в компьютере обнаружился сбой. Оказалось, что в него забрался жучок (по-английски — «bug»). Оттуда и пошел этот термин.
Английский у меня свободный, так что меня взяли без проблем. Оказалось, что компания набирала сразу много людей для нового англоязычного проекта. Как показала практика, проще научить тестировать того, кто знает английский и ничего не знает об айти, чем готового тестировщика научить английскому. Компания организовала тренинг в течение нескольких недель, чтобы ввести нас в курс дела.
И вот мы, человек так пятнадцать, сидим на тренинге. Когда все знакомились, выяснилось, что почти все из нас по образованию экономисты-менеджеры. Очень востребованная в Беларуси профессия.
На тренинге нам загадывали задачки на логику и математику, рассказывали, как тестировать наугад, без документации. Давали задания на компьютере — сделать скриншот, быстро набрать и скопировать текст. Ничего сложного. Работали с MS Word, Excel и Access. Писали простые запросы в MySQL.
В общем и целом, тестировщик — это человек, который ищет ошибки в программах, написанных разработчиками. Есть такая аксиома разработки ПО, которую я хорошо запомнила с тренинга: «Программ без багов не бывает».
Тестировщиков по-другому называют Quality Assurance Engineer или просто QA — то есть «инженер, который обеспечивает качество».
Тестировщик — это совершенно необходимый в айти человек. Вот представьте: компания заказала программистам какую-то программу. Допустим, заказчик даже хорошо знает, что именно ему нужно, требования к программе хорошо сформулированы и задокументированы. Программист все сделал и отдал заказчику.
А оно не работает. Или работает не так, как ожидалось. А все потому, что здесь пропущено одно звено.
Перед сдачей программы заказчику, даже еще до того, как программа написана, в игру вступает тестировщик. От него требуется:
1) Узнать требования к программе.
2) Составить план тестирования (это называется — тест-план).
3) Написать все возможные сценарии работы программы (это называется тест-сценарии).
4) В сценариях расписать по шагам, что именно должно происходить при нажатии на ту или иную кнопку, где какой текст должен быть написан, какие сообщения об ошибках, какой цвет иконок — и так далее. Это называется тест-кейсы или юз-кейсы (use cases).
5) Согласовать тест-план, тест-сценарии и тест-кейсы с заказчиком.
6) Наконец, когда программа готова, протестировать ее по своим же написанным кейсам и сделать отчет об ошибках.
Отчет делается в согласованном с заказчиком формате — чаще всего в специальной системе для отслеживания ошибок (на нашем сленге она называется «баг-трекинговая система»). Иногда, если заказчик такой системой не пользуется, отчет делается просто в Excel.
Самые важные детали отчета:
— Описание бага с шагами его воспроизведения.
— Ожидаемый результат (иначе разработчик может просто не знать, как именно этот баг нужно исправить).
— Скриншот — снимок экрана с картинкой неработающего функционала. Если возможно, скриншот нужно прикладывать всегда — разработчики получают большое количество багов, читать долгие описания им некогда, так что если они могут, глянув на картинку, понять, в чем дело — это сильно облегчит их работу. Тестировщиков, которые не прикладывают скриншоты к описаниям багов, очень не любят.
— Приоритет бага, или его важность для починки. Это тоже необходимый элемент, потому что багов может быть больше сотни, и нужно быстро решать, какие чинить в первую очередь. Если ошибка блокирует работу программы или важную функцию — приоритет у нее будет самый высокий. Если это просто опечатка или кривоватый дизайн — приоритет низкий, подождет своей очереди.
На тестировщике лежит большая ответственность — ведь именно он решает, можно ли отдавать программу в пользование! В разных компаниях по-разному, но иногда менеджер проекта буквально спрашивает у старшего тестировщика: «Можно?» И с замиранием сердца ждет ответа, потому как сдавать нужно было еще на прошлой неделе.
Часто тестировщики выполняют еще одну важную функцию — согласование приемки с заказчиком. Это называется «УАТ» или приемочные тесты от английского «User Acceptance Testing».
В этом случае тестировщику еще до того, как программа готова, необходимо написать критерии ее приемки заказчиком. То есть, нужно написать сценарии, которые будут не такими подробными, как тест-кейсы, проверяющие функционал программы. Это более общие шаги, которые пользователь обязательно предпримет при пользовании программой, без углубления в детали.
Всем — и заказчику, и исполнителю — известно, что мелкие ошибки в работе программы все равно будут. Все их найти и починить просто невозможно. Поэтому нужно выработать критерии, по которым работа будет принята — жизненно важные для работы функции, которые обязательно должны работать. А остальное починится потом, по мере нахождения пользователями. Программа же в это время вполне себе будет работать и приносить пользу.
Все это я узнала уже после тренинга, в процессе работы. А пока что я имела только совсем общее представление о том, чем придется заниматься.
Потом нам стали объяснять специфику конкретного проекта. Вот тут у меня появились некоторые сомнения относительно моей новой профессии и своих собственных умственных способностей. Абсолютно все было непонятно. Интерфейс у программы очень сложный, документации практически нет, куда тыкать, чтобы получить то, что от меня хотят — кто его знает. К тому же программа состояла из нескольких частей, причудливым образом между собой связанных.
После семи лет тестирования самых разных программ, я уже знаю, что все приходит с опытом. И понимание всяких сложностей, и умение быстро протестировать практически без документации. Чем больше разбираешься в разном программном обеспечении, тем легче понять новый софт. А еще из своего опыта я знаю, что документации почти всегда крайне мало. И даже знаю, почему — за нее, как правило, никто не платит.
На новом проекте нас сразу завалили работой по уши. Почти сразу мы поехали в командировку в Лондон — помогать англичанам с тестированием (как раз тот самый User Acceptance Testing). Работали по 18 часов в сутки. Сейчас я понимаю, что это было отличной школой, но тогда у меня просто взрывалась голова. Где-то через месяц-два работы я уже начала очень неплохо разбираться в том, что тестировала.
Стала писать тест-кейсы с закрытыми глазами, а тестировать буквально во сне (работы было ДЕЙСТВИТЕЛЬНО так много).
Теперь я знаю, что на вхождение в любой проект требуется время. Сколько — зависит от сложности программы, наличия понятно написанной документации, коллег, которым можно задавать вопросы. И, конечно, собственной смекалки и опыта.
Вобщем, ничего супер-сложного в работе тестировщика нет. Английский нужен обязательно — большинство проектов англоязычные. Даже для русскоязычных проектов во многих компаниях принято записывать отчеты об ошибках на английском. Еще нужны терпение, усидчивость, внимание к деталям. И любовь к своей работе.
Если тестировать вам не нравится, если вы не ловите кайф, находя очередную ошибку — скорее всего, тестировщиком вы долго не проработаете.
Ну а если это вы понимаете, что это ваше призвание, то всегда есть куда расти. Через несколько лет можно стать тест лидом и планировать тестирование целых проектов, распределять тесты, следить за работой младших коллег и обучать их.
Можно уйти в автоматизацию: писать автоматические тесты для программ. Здесь нужно будет подучить основы программирования и какой-нибудь язык, скорее всего, Java. Автотесты совершенно необходимы для крупных проектов, где невозможно охватить все ручным тестированием. И очень востребованы в компаниях.
Если вы любите писать и общаться (как я), можно стать бизнес-аналитиком или менеджером проекта. В ведомстве бизнес-аналитика — требования к программе, их выяснение у заказчика, описание в виде спецификаций, создание прототипов программ. Менеджер проекта занимается организационными вопросами: выясняет срок, который займет проект, следит за тем, чтобы сроки на выполнение отдельных заданий и проекта в целом соблюдались, чтобы каждый делал свою работу и не подводил остальных, распределяет задания, ведет график отпусков, общается с заказчиками и с командой.
Очень часто бывает так, что бизнес-аналитик и менеджер проекта — это одна и та же позиция с широкими обязанностями. Особенно на небольших проектах, где не нужны детальные спецификации и нужна только половинка аналитика, а не целый.
Источник: kotiko23.livejournal.com