Итак, программистом у вас стать не получилось. И вот отчаявшись, вы начинаете метаться из стороны в сторону как же ва попасть в заветное АйТи.
Прежде чем вы купите пачку онлайн-курсов и начнете отдавать свои "кровные" за обучение этой интересной профессии, давайте поговорим о том как вы можете стать тестировщиком и что вам для этого нужно. Без лишней воды, тягомотины и попыток вам что-либо продать.
Я 12 лет работаю в тестировании программного обеспечения и, мне кажется, что я стал тестировщиком задолго до того, как у меня появился титул работника этой сферы. Я шучу, никаких титулов у меня нет и не будет. Есть диплом, но это примерно такая же бесполезная вещь.
С одной стороны, работа тестировщика напоминает поддержку программиста во всех начинаниях. С другой стороны, тестировщик также взаимодействует и с дизайнерами, менеджерами, релиз-менеджерами и даже системными администраторами.
И что из себя это представляет?
Работа получается разносторонняя и интересная. Однако, если описать работу тестировщика основными моментами, то они будут выглядеть примерно так:
- Проверка новых билдов приложения на наличие ошибок
- Тестирование приложения в различных средах, с разным набором тестовых данных и пользователей
- Написание автоматизированных тестов с использование WebDriver, TestCafe и других инструментов
- Проверка функционирования приложения после релиза
- Проверка дизайна на соответствование требованиям
- Исправление простых ошибок в приложении. Да, иногда я даже исправлял какие-то ошибки в коде.
- Проверка приложение на соответствие требований доступности для людей с ограниченными возможностями.
Возможностей много, но хорошего тестировщика от плохого в первую очередь отличается умение кратко, лаконично и подробно описывать свои мысли.
Допустим, а примеры?
Давайте разберем пример типичной работы тестировщика. В приложении имеется ошибка при которой при произведении определенного действия (нажатия кнопки, например) отображается ошибка и приложение перестает функционировать.
Как можно описать это разным способом? Разберем название багов в двух вариациях - хорошее описание и плохое.
1. Crash приложения при нажатии опции меню
2. Android: Нажатие кнопки "Help" в левом меню приложения и выбор второй опции приводит к crash приложения
В первом случае отсутствуют важные детали, такие как:
- Платформа приложения
- Указание конкретной опции, которая приводит к ошибке
- Отсутствие указания конкретной опции меню
Второй случай указывает всю эту важную информацию и у разработчика гораздо меньше времени уйдет на отладку и поиск ошибки. Конечно, вся эта информация может быть также указана в описании самого бага. Но согласитесь, что чем быстрее все поймут точные шаги по воспроизведению бага - тем проще будет жизнь у всех участником процесса.
Тест кейсы? Что за "зверь"?
Теперь поговорим о тест-кейсах. Почему-то у многих они вызывают вопросы, хотя это простейшая вещь, которая просто описывает подтверждение правильной работы приложения вне зависимости от выпуска (била) приложения.
1. Login функция. Пользователь может войти в приложение?
2. Главная (Home) страница. Пользователь видит главную страницу приложения
3. Logout функция. Пользователь может произвести выход из приложения
4. Уведомления (push notifications). Пользователь получает уведомления о событиях в приложении?
Можно придумать различные вариации, но суть совершенно стандартна - мы должны просто убедиться, что приложение с каждой новой версии соответствует нашим требованиям по качеству.
Какое самое главное качество тестировщика? На мой взгляд это усердность и придирчивость к деталям. Нужно иметь желание дойти до сути проблемы и "сломать" приложение, даже если хочется верить в его устойчивость и слова разработчика о том, что все хорошо работает. Далеко не всегда приложение работает идеально и могут быть различные проблемы.
Как стать тестировщиком?
Секрета универсального нет. Можно начать с массовой рассылки резюме, а можно подойти более индивидуально и начать предлагать услуги по улучшению качества приложения конкретным компаниям.
На мой взгляд, прежде всего имеет значение насколько вы заинтересованы программным продуктом и что вы можете сделать, чтобы улучшить его качество.
Все остальное - детали. Всегда можно выучить дополнительные "фреймворки" и инструменты.
Итого?
Наша задача заключается в том, чтобы честно рассказать об основных проблемных областях приложения. Хорошо зарабатывают не только те тестировщики, кто пишет отличные скрипты по автоматизации, но также те, кто приносит большой вклад в улучшение качества приложения.
Большего всего ценят тех на комп держится качество приложения. На тех людей, которые обнаружат проблемные области и укажут, что их нужно исправить.
Вот и все, что вам нужно знать о тестировании. Конкретный список требований для тестировщика в каждом случае разный, но вам просто нужно помнить, что если вы подходите к делу серьезно, то вы рано или поздно найдете себе работу в тестировании.