Много слышали о тестировании и примеряете на себя возможность работы в этой области? Но пока не совсем понимаете, с чем придется работать?
В этой статье мы расскажем вам, кто же такой специалист по тестированию, что делает тестировщик программного обеспечения и с какими рабочими задачами он сталкивается.
Чем занимается специалист по тестированию?
На рынке ИТ постоянно появляются новые программы, призванные упростить и улучшить жизнь людей.
И такие продукты обязательно должны проходить проверку на качество перед тем, как станут доступными конечному пользователю.
Именно от тестировщика зависит качество продукта и, как результат, успех проекта на рынке. Кто станет пользоваться приложением, если оно не в состоянии выполнить даже базовые функции?
Поэтому специалист по тестированию является связующим звеном между разработчиком и конечным пользователем и отвечает за полную проверку программного продукта. И делает он это не только для того, чтобы найти и задокументировать все возможные дефекты.
Кроме поиска ошибок, тестировщик на практике проверяет работоспособность всей функциональности программы. Нужно убедиться в том, что простейшие действия пользователей не вызывают сбоев.

К основным обязанностям тестировщика ПО относятся:
- Написание тест-кейсов и чек-листов .
Они являются основой профессиональной документации тестировщиков. Тест-кейсы содержат последовательность шагов для проверки работы всей системы, а чек-листы описывают, что нужно протестировать.
- Выполнение нужного набора тестов.
В зависимости от поставленных задач специалист по тестированию решает, какие виды тестов применить.
- Документирование и анализ найденных дефектов .
Когда найдена ошибка, ее нужно описать. Делается это для того, чтобы разработчик ПО смог быстро понять, в какой части кода программы кроется ошибка. Сейчас тестировщики вносят все ошибки в баг-трекинговые системы, например, JIRA или TestRail. Для более подробного описания ошибок можно приложить скриншоты экранов или видео.
- Контроль за устранением ошибок разработчиками.
Еще один шаг – контроль за устранением всех найденных ошибок. В баг-трекинговой системе каждой ошибке присваивается градация серьезности (от тривиальной до блокирующей) и статус в соответствии с этапом жизненного цикла бага (от нового до закрытого).
В процессе контроля за устранением дефектов тестировщик следит за тем, чтобы разработчик ПО своевременно устранял все ошибки и делал соответствующие отметки в системе.
- Разработка автоматических тестов.
Для ускорения тестирования могут применяться не ручные, а автоматизированные тесты. В таких случаях тестировщик пишет код проверки и запускает его. А программа автоматически выполняет тысячи нужных проверок, при этом сохраняя время тестировщику.
Однако начинающему специалисту не придется выполнять такие задачи, они входят в зону ответственности . Тем не менее, для более быстрого развития карьеры вы можете приступить к изучению основ определенного языка программирования.
Что нужно, чтобы стать тестировщиком?
Несмотря на относительную молодость профессии тестировщика (не более 20 лет), сегодня сформирован набор требований, которые нужны для старта.
Во-первых, чтобы успешно справляться с рабочими задачами, тестировщик должен иметь прочные теоретические и практические навыки.
К тому же, необходимо обладать рядом специфических качеств. Например, природная любознательность, внимание к деталям, усидчивость, недоверчивость и желание постоянно перепроверять себя.

Еще один важный момент – стремление вносить вклад в развитие новых технологий. Например, сейчас на рынке ИТ акцент идет в сторону автоматизации процессов. И тестировщики осваивают новые для себя аспекты, например, языки программирования.
Таким образом, специалист по тестированию еще и должен следить за развитием новых технологий, чтобы вносить свою лепту в их продвижение.
Какие виды тестирования ПО выделяют?
Чтобы понять, чем бы вы хотели заниматься, для начала нужно ознакомиться с тем, какие виды тестирования существуют.
Все виды тестирования разделяют на две группы:
- Функциональные (осуществляется проверка того, насколько хорошо система выполняет свои функции, если вообще выполняет).
- Нефункциональные (тестируется в целом готовность системы к работе, осуществляется проверка всего, что может касаться пользовательского опыта, например, нагрузочное тестирование, тестирование безопасности).
Помимо видов, в тестировании выделяют еще и уровни, которые показывают над чем ведется работа: над системой в целом или только над одним определенным компонентом.
Всего существуют четыре таких уровня: модульное тестирование, интеграционное, системное и приемочное.
Пример кейса по тестированию для новичков
Чтобы на деле увидеть, что делает тестировщик, давайте рассмотрим небольшую практическую задачу.
Необходимо протестировать форму регистрации в социальной сети LinkedIn.
Первое, что нужно сделать, – открыть сайт. Форма для регистрации выглядит следующим образом:

Во-первых, нужно проверить обязательность заполнения всех полей. Для этого нужно, ничего не заполняя, нажать кнопку «Присоединиться». Форма сразу выдает ошибку и выделяет красным те поля, которые необходимо заполнить. В нашем случае – все:


Сразу появилось предупреждение о том, что пароль слишком короткий.

Форма требует указать настоящие данные. Однако это условие относится лишь к имени, о фамилии в тексте формы нет ни слова.
Сразу проверим форму на некорректный ввод только фамилии. В результате появляется сообщение об ошибке. Таким образом мы видим, что по отдельности форма реагирует на некорректный ввод имени или фамилии. А вот при неверном заполнении обоих полей ошибка относится только к имени.

Почему так происходит? Возможно, проблема кроется в том, что форма проверяет лишь первое поле в коде. Или же можно говорить о не совсем верной локализации. Ведь приложение изначально написано для англоязычных пользователей. На английском языке имя и фамилию можно передать как name и last name. А на русском языке могли оставить лишь перевод имени.
Такой дефект можно охарактеризовать как малозначимый (minor), и относится он к пользовательскому интерфейсу.
Проверки на ввод некорректных символов нужно провести для всех полей.

Форма приняла этот адрес и инициировала проверку безопасности. Адрес был введен корректно, структура соблюдена, присутствует символ «@».
Таким образом, мы протестировали форму регистрации для социальной сети и параллельно нашли малозначимый дефект в пользовательском интерфейсе. Напомним, что при некорректном вводе данных в поля «Имя» и «Фамилия» форма просит корректно заполнить лишь имя. Ошибка некритичная, но пользователь может не сразу заметить, что исправить нужно оба поля, а не одно.
Итог
Хотите научиться безошибочно распознавать дефекты, правильно их документировать и научиться выполнять основные задачи тестировщика? Курс « » от QA Academy поможет вам погрузиться в профессию, попробовать свои силы на практике, а главное – сделать первый шаг по карьерной лестнице.
Ведь хороший специалист по тестированию ПО всегда будет востребован как дома, так и за границей. Дерзайте!
Тестирование ПО. Уровень 1. 1 месяц.
Теоретические знания и начальный опыт
В настоящее время в IT-сфере как никогда стала актуальной профессия тестировщика. В первую очередь, высок спрос на специалистов, занимающихся тестированием программного обеспечения. Основными обязанностями таких сотрудников являются выявление ошибок в работе программ и моделирование различных ситуаций, связанных с их дополнительной нагрузкой. Таким образом, обнаруживая и описывая погрешности, направляя отчеты о них для внесения исправлений в программу, тестировщики постоянно взаимодействуют с командой разработки. Курс "Тестировщик ПО. Уровень 1" от GeekBrains предназначен для тех, кто хочет начать карьеру в тестировании программных продуктов. В его рамках рассматриваются теория и практика создания тест-кейсов, тест-комплектов, оформления багов и отчетов по результатам тестирования. Данный курс - это 8 практических занятий, где Вы получите знания и навыки, необходимые для того, чтоб легко включиться в работу над созданием и улучшением IT-проекта.
Урок 1. Основные понятия в тестировании
Что представляет собой тестирование. Как определить качество ПО (стандарты ISO, критерии качества, метрики). Категории программных ошибок. Терминология.
Урок 2. Место тестирования в процессе разработки ПО
Цикл разработки ПО. Цикл тестирования ПО. Типы тестов в процессе разработки ПО. Соответствие тестирования методологии разработки ПО.
Урок 3. Разработка тест-кейсов
Определение и структура тест-кейсов. Характеристики хорошего теста. Аксиомы тестирования. Поддерживаемость тест-кейсов. Системы менеджмента качества. Тест-комплекты. Чек-листы. Подготовка тестовых данных.
Урок 4. Классы эквивалентности и граничные условия. Планирование и работа с требованиями
Определение и поиск Классов эквивалентности. Границы классов эквивалентности. Работа с требованиями к ПО. Участие в планировании релиза ПО. Что делать, если нет документации.
Урок 5. Работа с багтрекером
Определение и функции багтрекера. Как правильно формулировать задачи. Жизненный цикл (workflow) ошибок. Оперативное отслеживание задач в багтрекере.
Урок 6. Регрессионное тестирование
Назначение регрессионного тестирования. В каких случаях требуется проводить регрессионное тестирование. Выбор тест-комплектов для регрессионного тестирования. Приоритизация и оптимизация тест-комплектов.
Урок 7. Организация процесса тестирования
Должностная иерархия в тестировании. Планирование и оценка сроков на тестирование. Критерий начала/завершения тестирования. Отчетность по результатам тестирования. Подготовка рабочего места.
Урок 8. Тестирование пользовательского интерфейса
Особенности тестирования пользовательских интерфейсов GUI и web-приложений.
Тестирование ПО. Уровень 2. 1 месяц.
Работа с документацией и тестирование приложений
Многие считают, что профессия тестировщика является скучной и однообразной. Однако это мнение несправедливо. Профессиональный тестировщик - это, в первую очередь, человек, умеющий творчески подойти к решению стоящих перед ним задач. Опыт, приобретаемый в рамках этой профессии, может стать ступенью к карьере программиста. Важной особенностью работы тестировщика является возможность полноценного аутсорса и фриланса. Курс "Тестировщик ПО. Уровень 2" от GeekBrains предназначен для тех, кто уже знаком с основами тестирования и хочет получить более глубокие знания и навыки, требуемые для начала карьеры в IT-сфере. В его рамках разбираются способы исследования тестируемого ПО, изучаются техники определения необходимого количества тестов и способы визуализации тестируемого функционала. Данный курс - это 8 практических занятий, после которых Вы сможете проявить себя в качестве экспертного пользователя программного обеспечения, имеющего собственное видение наилучшей организации процесса тестирования.
Урок 1. Тест-анализ. Исследование ПО
Типы и цели исследования ПО. Декомпозиция приложения.
Урок 2. Доменное тестирование и комбинации параметров
Урок 3. Тестовая комбинаторика
Создание тестового набора. Минимальные проверки. Перебор значений. Атомарные проверки. Pairwise. Метод взаимосвязанных проверок.
Урок 4. Тестирование состояний и переходов
Анализ ПО на возможные состояния и переходы. Выявление жизненных циклов сущностей и комбинация состояний. Выбор валидных проверок.
Урок 5. Тест-анализ на основе бизнес-логики
Выбор условий бизнес-требования. Создание таблиц решений. Комбинирование тестов на основе таблицы решений.
Урок 6. Тест-анализ на основе рисков (предугадывание ошибок)
Определение тестируемого функционала ПО. Выявление потенциальных ошибок и их градация. Определение стратегии.
Урок 7. Стратегия тестирования
Цели и задачи стратегии тестирования. Выбор подходящих техник в зависимости от функционала и особенностей. Учёт нефункционального тестирования.
Урок 8. Оценка эффективности тестов
Оценка тестового покрытия. Оценка эффективности тестов.
Введение в автоматизацию тестирования. 1 месяц.
Автоматизированное тестирование
Автоматизация - часть общего процесса тестирования, она является важной составляющей при построении работы и отслеживании процесса тестирования в рамках разработки программного обеспечения. На курсе вы разберете разнообразные аспекты использования подходов к построению процессов автоматизированного тестирования. Узнаете, какие существуют виды программного обеспечения для проведения автотестов. Поймете, как автоматизировать процессы тестирования и создадите свои первые автотесты.
Урок 1. Введение в автоматизированное тестирование
Что такое автоматизированное тестирование; какие разновидности автоматизированного тестирования бывают; проектный выбор: ручное или автоматизированное; черный и белый ящик при автоматизации; обзор и выбор инструментария.
Урок 2. Стратегия автоматизированного тестирования. Практическое создание тестов при помощи Autoit.
Принятие решения о введении автоматизации; проектирование автотестов; стратегии автоматизированного тестирования; процесс развертывания автоматизации; тестовое окружение для проведения автоматизации; создание автотеста при помощи Autoit.
Урок 3. Виды автоматизированного тестирования
Виды автоматизированного тестирования; автоматизированное функциональное тестирование; инструменты юзабилити тестирования; автоматизированное нагрузочное тестирование.
Урок 4. Проект Selenium и его составляющие.
Цели, задачи, особенности Selenium. Selenium WebDriver. Selenium RC. Selenium Server. Selenium Grid. Пример использования Selenium IDE на практике.
Урок 5. Автоматизированное нагрузочное тестирование на примере Apache Jmeter
Нагрузочное тестирование; принципы и практика построения нагрузочных тестов; обзор инструментов; пример использования Apache Jmeter.
Урок 6. Автоматизированное мобильное тестирование
Тестирование мобильных приложений; автоматизированные инструменты – обзор, выбор; нагрузочное тестирование; мобильные эмуляторы; мобильные фермы.
Урок 7. Автоматизация процесса тестирования
Автоматизация процесса тестирование и создания тестов; утилиты для автоматизации процессов тестирования; генерация тестов; фреймворки; плагины.
Урок 8. Работа с требованиями и постановками задач
Требования, задачи; системы работы с требованиями и постановкой задач; системы багтрекинга; настраивание процессов проведения тестирования и их автоматизация и инструментарий.
Основы баз данных. 20 уроков.
Проектирование БД и запросы SQL
Базы данных (БД) - это системы хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language). Любой современный сайт, игра или настольное приложение нуждаются в хранении данных. На данный момент существует множество различных систем управления базами данных (СУБД), самой популярной является MySQL. “Основы баз данных” - это 20 интенсивных видео-уроков (по 10 минут), где мы вместе пройдём все этапы проектирования БД на примере интернет-магазина с использованием языка запросов SQL. После этого курса вы сможете использовать различные базы данных, такие как MS SQL и Postgre Sql, так как синтаксис языка SQL для них практически не отличается.
Урок 1. Реляционные базы данных
Чем отличается БД от СУБД; какие базы данных называются реляционными; обзор современных СУБД.
Урок 2. Установка СУБД
Установка СУБД MySql и графического приложения Mysql Workbench.
Урок 3. Проектирование базы данных, нормальные формы
Проектирование данных в Excel; нормальные формы; первичный ключ.
Урок 4. SQL-команда CREATE
Создание таблиц в графическом интерфейсе MySql Workbench; команда CREATE; типы данных; работа в консоли.
Урок 5. SQL-команда INSERT
Заполнение таблиц данными с помощью графического интерфейса; команда INSERT; AUTO INCREMENT.
Урок 7. SQL-команды DISTINCT, ORDER BY, LIMIT
Получение и фильтрация данных с помощью SQL-команд DISTINCT и LIMIT; сортировка с помощью команды ORDER BY.
Урок 9. Согласованность данных
Понятие согласованности или консистентности данных.
Урок 10. Внешний ключ
Понятие внешнего ключа и ограничений на значения столбцов; FOREIGN KEY CONSTRAINTS.
Тестировщик ПО - что это за профессия такая? В чем заключается ее суть? И насколько она актуальна в современном мире? Все эти вопросы вполне уместны, так как сегодня профессии ИТ-сферы являются одними из самых высокооплачиваемых на рынке труда. Не говоря уже о том, что освоение подобных специальностей обеспечивает человека стабильным будущим.
Тестировщик ПО: что это такое
Сегодня большинство электронных устройств работает корректно только благодаря встроенным в них программам. Их написанием занимаются программисты всех мастей и уровня подготовки. И поверьте, их количество действительно захватывает дух. Так, ежедневно создается не одна тысяча программ: начиная с простых калькуляторов и заканчивая искусственным интеллектом для высокотехнологических машин.
И, как в любом производстве, продукт нельзя выпустить в широкие массы, заранее не проверив его на дефекты. Так вот, тестировщик ПО (программного обеспечения) - это человек, который занимается полевым испытанием программ. При этом он может быть как штатным сотрудником компании, так работающим на себя фрилансером.
Зачем нужны тестировщики программ
При создании программ используются различные языки программирования. Это может быть C++, JavaScript, Python и так далее. После того как продукт будет завершен, его первым делом проверяет сам автор. Но, так как он является творцом программы, он не всегда может объективно оценить качество полученного товара. Не говоря уже о том, что у него может попросту не хватить времени для модуляции всех возможных способов ее применения.

И как раз на этом этапе в игру входит тестировщик ПО. Именно он берет на себя все операции, связанные с проверкой нового приложения. При этом, в отличие от программиста, тестер не имеет доступа к программному коду. То есть, он испытывает приложение как простой юзер и лишь изредка наделяется особыми привилегиями.
Основные обязанности тестировщика программ
Тестировщик ПО - это профессия, которая требует основательного подхода к делу. Здесь нельзя работать в полсилы, так как это непременно скажется на репутации специалиста. Что же касается самих обязанностей, то они состоят из следующих пунктов:
- Создание плана проверки. Тестировщик ПО должен заранее продумать все сценарии использования приложения и воссоздать их. При этом чем опытнее специалист, тем быстрее он может определять наиболее опасные для работы приложения факторы.
- обеспечения, посредством специальных автоматизированных инструментов. Как и у любого другого мастера, у тестера есть свои приспособления для оптимизации и ускорения работы. Они универсальны и, тем не менее, требуют предварительного освоения и практики.
- Грамотное и систематизированное описание найденных проблем и недоработок. Суть в том, что недостаточно просто выявить ошибку. Помимо этого, нужно уметь правильно составлять протокол работы, дабы программист смог понять, из-за чего произошел сбой и какая часть его приложения виновна в этом.
Следует заметить, что довольно часто тестировщиков объединяют в небольшие группы. Прежде всего, это нужно для того, чтобы ускорить проверку или сделать ее более качественной. В этом случае работу могут равномерно распределить между всеми специалистами. Например, одни будут заняты интерфейсом приложения, вторые будут искать ошибки в вычислениях, а третьи - моделировать наиболее опасные для программы сценарии.

Обучение профессии
Тестировщиком ПО может стать любой, кто хорошо «дружит» с точными науками. В идеале, лучше иметь образование программиста или хотя бы разбираться в основах написания приложений. Исходя из этого, данная специальность хорошо подойдет тем, кто учится на ИТ-специальностях. Во-первых, это поможет набраться опыта и посмотреть на труды других людей, а во-вторых, принесет дополнительный доход, что также неплохо.
Однако, стать тестировщиком ПО можно и без специализированного образования. Так сказать, обучиться всему самостоятельно. Благо, сегодня это не проблема, так как в сети есть множество познавательных курсов, способных наглядно продемонстрировать все тонкости данной работы.
К тому же можно испытать свою судьбу и попытаться попасть на подготовленные семинары, которые проводятся во многих организациях, производящих ПО. Например, компания GlobalLogic периодически проводит обучающие курсы специально для тестировщиков ПО. Более того, окончив их, человек может стать одним из ее сотрудников, после чего начать работать в ее штате или удаленно, в качестве фрилансера.

Какими навыками должен обладать уважающий себя специалист
Тестировщик ПО без опыта может найти себе работу, а вот специалист, не знающий основ - никогда. Однако, какие они, азы профессии? Каким же багажом знаний должен обладать каждый уважающий себя тестер?
- Во-первых, такой специалист должен быть знаком с основами программирования, дабы иметь возможность конкурировать на рынке труда.
- Во-вторых, придется запомнить принципы построения программного обеспечения и администрирования ОС.
- В-третьих, научиться работать с общепринятыми базами данных.
- В-четвертых, изучить особый язык без которого сегодня уже не обойтись.
Помимо этого, тестировщик должен хорошо владеть английским языком, так как он является доминантным в мире программирования. Более того, со временем придется довести его уровень до идеального, а также изучить все тонкости технического стиля.

Наработка практических навыков
Пускай тестировщик ПО без опыта работы - это вполне привычное явление, все же на приличный проект такого специалиста вряд ли возьмут. Поэтому, изучив основы профессии, следует заняться наработкой практических навыков и положительных отзывов.
Для этого необходимо отправиться на один из сайтов, предоставляющих работу фрилансерам. Ежедневно там выкладывается не один десяток предложений, связанных с проверкой работоспособности приложений. При этом есть множество заказов для новичков, которые не требуют опыта работы или особых навыков в программировании.
Таким образом, за месяц-другой можно неплохо продвинуться в своем деле и заработать кое-какую репутацию. Единственным минусом является то, что подобные заказы зачастую плохо оплачиваются. Но с этим придется смириться, так как в будущем подобные лишения смогут принести куда более прибыльные заказы, что окупит потраченные усилия с лихвой.
Где искать прибыльную работу
Итак, допустим, вы уже опытный тестировщик ПО: с чего начать поиски перспективной работы? Что же, первым делом стоит просмотреть объявления на онлайн-биржах труда и форумах программистов. Периодически там попадаются хорошие предложения, способные приносить стабильный доход.

Однако, не стоит рассчитывать только на удачу. Если у вас есть и неплохое резюме, то можно подать несколько заявок в ИТ-компании. Руководство любит целеустремленных специалистов, а посему, подобная инициатива может принести свои плоды. Особенно если нацелиться на те компании, которые занимаются производством качественного софта.
Если же с постоянным местом на данном этапе не везет, то можно стать фрилансером. Хорошо проявивший себя тестировщик ПО, удаленно работающий на дому, способен заработать не меньше штатного коллеги. Единственная разница заключается в том, что вместо одного нанимателя у него будет несколько.
Плюсы и минусы профессии
Для тех, кто любит и современные технологии, эта профессия покажется весьма увлекательной и интересной. Ведь каждый день придется сталкиваться с новым продуктом, который вскоре сможет в корне изменить мир информационных технологий. К тому же работа считается весьма престижной и исключает любые физические нагрузки.
Также многих радует тот факт, что данная профессия одинаково хорошо подходит как мужчинам, так и женщинам. Более того, она может стать для тех, кто из-за проблем со здоровьем не может устроиться на более тяжелую работу.
Однако есть и недостатки. Главным из них является высокая конкуренция, вызванная дефицитом высокооплачиваемых заказов. Также следует обратить внимание на тот момент, что тестировщик ПО очень много времени проводит за компьютером. При этом он не просто сидит за ним, а всецело поглощен происходящим на мониторе. Из-за этого с годами могут возникнуть проблемы со зрением, что крайне неприятно.

Оплата труда
Довольно сложно вывести среднеарифметическую зарплату тестировщика ПО. Это связано с тем, что она зависит от того, насколько удачлив специалист. Так, можно взять один заказ на 10 тыс. рублей и сделать его за неделю, а можно получить работу на 20 тыс. рублей и не одолеть ее за целый месяц.
И все же можно с уверенностью сказать, что доход начинающего тестера варьируется в пределах 10-15 тыс. рублей в месяц. Опытный специалист может заработать эти же деньги в два раза быстрее. А штатный сотрудник престижной фирмы и вовсе получает около 40-45 тыс. рублей.
Подойдёт ли мне курс, если у меня нет опыта в программировании
Конечно! Мы учим с нуля. Во всем помогут опытные наставники, которые будут курировать вас на протяжении всего курса.
Достаточно ли будет практики?
Её будет много. Начиная с самого первого занятия вы начнёте пробовать себя в качестве тестировщика, пытаясь решать задачи, с которыми специалисты встречаются в повседневной работе. Кроме практики во время занятий, после каждой лекции вы будете получать домашнее задание, которое позволит закрепить знания. И его не примут, пока оно не будет сделано по-настоящему качественно.
А я точно трудоустроюсь?
Да, если пройдете обучение по курсу, в нем изучается достаточно навыков, чтобы получить работу программиста. Конечно, есть и условия, которым должны отвечать не только мы, но и вы.
Какое оборудование мне понадобится?
Для прохождения обучения и выполнения домашних заданий достаточно будет ноутбука и смартфона.
Как проходит обучение в группах?
Все обучение проходит индивидуально, вы общаетесь с преподавателем один на один. Для дополнительной коммуникации есть чат, в котором можно обсудить насущные вопросы с группой.
Получится ли совмещать с работой?
Весь формат обучения построен таким образом, чтобы вы могли совмещать его с работой, институтом и личной жизнью.
Записаться на курс или получить консультацию
Направление тестирования быстро развивается. Если ещё несколько лет назад можно было практически без знаний и опыта устроиться работать ручным тестировщиком и учиться непосредственно на работе, то в 2018 году сделать так уже сложнее. Ниже представлен минимальный список того, что надо знать для работы тестировщиком — или QA-инженером, как всё чаще называют представителей нашей профессии — а не мартышкой, которая просто тыкает в кнопки.
Задача тестировщика — убедиться, что все функции продукта, описанные в функциональном задании, работают так, как ожидается. Ошибки работы, или баги, он выявляет разными видами тестирования. На баги проверяется и дизайн, и фронтенд, и серверная часть — и не раз. Если вы хотите заказать у нас мобильное приложение, можете положиться на наш отдел качества, где работают одни из самых придирчивых людей компании. Обсудить сотрудничество можно после того, как вы заполните .
Каковы главные человеческие качества тестировщика
- софт-скиллы. Считаю, что они важнее хард-скиллов. Последние можно развить или вызубрить, а вот с гибкими навыками чаще всего рождаются. Коммуникация в нашем деле — чуть ли не основная часть работы, и умение находить общий язык даже с теми, кто вызывает неприязнь, крайне важно;
- умение грамотно излагать мысли устно и письменно. Так как мы пишем много разных репортов, это тоже очень важно. Невнятная писанина может сильно усложнить работу всей команде;
- проактивность и готовность брать ответственность. Нельзя просто сидеть и ждать, пока тебе скажут, что делать. Важно понимать, что ты — часть команды и твоё действие или бездействие напрямую влияет на качество продукта и, как следствие, на компанию;
- планирование своего времени с помощью календаря, таск-трекера, ежедневника или блокнота. Важно заранее видеть, где в работе могут быть простои или перегрузы, и принимать шаги, чтобы их сгладить.
Что должен знать и уметь тестировщик
Мы собрали перечень ключевых навыков и умений тестировщиков ПО. Итак, тестировщик должен:
- владеть английским на уровне чтения;
- обладать терпением, внимательностью и способностью смотреть на одно и то же с разных точек зрения. Это самое важное;
- знать, что такое юзер-стори , чек-лист и тест-кейс , уметь правильно их составить;
- понимать, какие виды и типы тестирования бывают и когда надо их применять. Поможет разобраться: «Тестирование программного обеспечения — основные понятия и определения» ;
- знать, как пользоваться баг-трекером. В это YouTrack , но если научился пользоваться одним — считай, что научился пользоваться всеми;
- владеть техниками тест-дизайна, как минимум анализом классов эквивалентности и граничных значений и диаграммами переходов состояний ;
- иметь общее представление о гайдлайнах iOS и Android ;
- быть опытным пользователем как минимум одной из ОС;
- понимать принципы клиент-серверного взаимодействия ;
- тестировщик ПО должен уметь разобраться с продуктом при отсутствии документации;
- работать с IDE (Xcode /Android Studio);
- снифферить и модифицировать трафик через Fiddler /Charles ;
- конструировать запросы в Postman ;
- знать, для чего нужен browserstack ;
- создавать эмуляторы в Genymotion, Android Studio, Xcode;
- иметь или развивать чувство прекрасного. Тут может помочь бюро Горбунова ;
- понимать, что такое кроссплатформенные приложения и чем они отличаются от нативных. Поможет разобраться: ;
- работать с виртуальным окружением VirtualBox и Vagrant ;
- понимать принцип работы и знать основные команды Git. Поможет разобраться: «Основы Git» ;
- уметь пользоваться инструментом для разработки тестовых сценариев Selenium IDE ;
- понимать как работает инструмент нагрузочного тестирования Yandex Tank и уметь его настроить.
Приятный плюс, если вы:
- обладаете навыками автоматизации при помощи Appium , Katalon studio ;
- имеете глубокие знания Selenium WebDriver ;
- умеете организовать нагрузочное тестирование при помощи Apache jMeter ;
- знаете, как провести тестирование безопасности для мобильного или веб-приложения.
C чего может начать новичок
Разберёмся, как стать тестестировщиком программного обеспечения с нуля и что требуется знать начинающему тестестировщику. Перечень книг и полезные статьи, которые стоит почитать:
- «Тестирование дот ком» Романа Савина. Книга не новая, но даст базовые представления о специализации;
- Tap into mobile application testing , Jonathan Kohl. Книга о специфике тестирования мобильных приложений;
- гайдлайны

