Профессия тестировщик по
Содержание:
- Какими личностными качествами должен обладать тестировщик
- Чем занимается QA-специалист?
- Основные рабочие задачи тестировщиков
- Жизненный цикл тестирования программного обеспечения
- Навыки и умения для работы тестировщиком
- Лучшие книги и средства обучения
- Где можно работать
- Тестировщик это кто. Чем занимается асессор
- Навыки
- Инструменты общего назначения
- Что надо уметь
- Будущее тестировщика
- Инструменты
- Зачем столько тестировщиков
- Какие навыки нужны QA-аналитику
- Какие виды тестирования существуют
- Обязанности специалиста
- Обязанности и задачи специалиста
- Заключение
Какими личностными качествами должен обладать тестировщик
Специалисту нужны не только технические навыки, но и так называемые soft skills – умения общего характера. Тестировщику желательно обладать:
- Упорством и настойчивостью. Профессионалу придется терпеливо и дотошно искать всевозможные изъяны в ПО.
- Внимательностью и въедчивостью. От тестировщика не должны ускользать мельчайшие недостатки.
- Критическим мышлением. Специалисту понадобится анализировать большие объемы данных, находить общие паттерны, выявлять нетипичные признаки.
- Умением связно излагать свои мысли. Профессионалу надо не только обнаруживать ошибки, но и понятно объяснять разработчику, когда и как они появились.
- Ответственностью. Работа тестировщика напрямую влияет на конкурентоспособность программных приложений. Поэтому специалист должен серьезно относиться к своим обязанностям, а не работать спустя рукава.
Чем занимается QA-специалист?
Каждый день на ИТ-рынок выходят новые приложения, которые упрощают и улучшают жизнь людей. Перед тем, как такие программные продукты попадут в руки конечных пользователей, они проходят тщательную проверку на качество.
Именно от тестировщика зависит качество ПО и, следовательно, успех проекта на рынке. Согласитесь, мало кто станет пользоваться приложением, если оно не в состоянии выполнить даже базовые функции. Кроме того, для пользователя важна безопасность личной информации, ввиду постоянного использования приложений, требующих ввода персональных данных.
Поэтому специалист по тестированию является связующим звеном между разработчиком и конечным пользователем и отвечает за полную проверку программного продукта. Однако суть его работы заключается не просто в выявлении и документировании всевозможных дефектов.
Кроме поиска ошибок, тестировщик проверяет работоспособность всей функциональности приложения. Выполняя стандартные и нетипичные действия пользователей, он контролирует, не появляются ли сбои в программе.
К основным обязанностям тестировщика ПО относятся:
Составление тестовой документации
Тест-кейсы и чек-листы — основные тестовые артефакты, которые помогают отслеживать процесс тестирования. Тест-кейсы содержат последовательность шагов для тестирования каждой функциональности, а в чек-листах содержится список всех необходимых проверок.
Подбор нужного набора тестов
В зависимости от поставленных задач на проекте QA-специалист решает, какие виды тестов применить. Например, если необходимо проверить ответную реакцию приложения на большое количество одновременных пользователей, то QA-команда проведёт тестирование производительности. А если цель проекта — обеспечить удобный интерфейс, то тестировщик ПО выберет юзабилити- и UI-тестирование.
Документирование и анализ найденных дефектов
После выявления ошибки тестировщики приступают к её описанию. Это нужно для того, чтобы разработчик смог быстро понять, в какой части кода приложения кроется дефект.
Сейчас QA-специалисты вносят все ошибки в баг-трекинговые системы, например, JIRA или Bugzilla, а результаты проверок — в системы управления тестированием, такие как TestRail. Для более подробного описания багов можно приложить скриншоты экранов или видео.
Каждому баг-репорту в системе присваивается степень серьёзности ошибки (от тривиальной до блокирующей) и статус в соответствии с этапом жизненного цикла бага (от нового до закрытого).
Проверки воспроизведения багов после их устранения
За исправлением ошибок следит тестировщик, который непосредственно работает вместе с командой разработчиков, или ведущий QA-специалист. Устраняются ошибки по соответствующей отметке в баг-трекинговой системе — сначала блокирующие и далее по убыванию.
Если дефект снова воспроизводится, ему присваивается статус «переоткрыт». Бывают случаи, когда исправление бага необходимо отсрочить. Это может произойти, если данную функциональность планируют кардинально изменить в следующем релизе, или дефект не влияет критически на работу всей системы. Тогда баг-репорт будет отмечен как «отсрочен».
Для ускорения QA-процессов часто применяют автоматизированные тесты. На проект привлекаются специалисты по автоматизации тестирования, которые пишут код проверки и запускают его. А программа самостоятельно выполняет тысячи нужных тестов, что экономит время мануального тестировщика.
Однако начинающему специалисту не придётся выполнять такие задачи, они входят в зону ответственности автоматизаторов. Тем не менее, для более быстрого развития карьеры вы можете приступить к изучению основ языка программирования. Присмотритесь к Python, С#, Ruby, Java, эти языки зачастую используются в автоматизации тестирования.
Основные рабочие задачи тестировщиков
Основными рабочими задачами тестировщиков являются:
Создание и внедрение в компании политик и процедур обеспечения качества создаваемых продуктов.
- Оценка стандартов обеспечения качества.
- Разработка процедур создания и проведения тестов и подготовки отчетов по тестам.
- Всеобщий анализ эффективности систем качества и контроля.
- Планирование и проведение тестирования готовых продуктов.
- Подготовка документации для аудита и других мероприятий по обеспечению качества.
- Сбор и расследование жалоб конечных пользователей.
- Сбор данных о качестве продукта, в том числе для определение областей для улучшения.
- Обеспечение соответствие требованиям качества и отраслевым нормативным требованиям.
- Другие действия, направленные на обеспечение качества конечного продукта.
Жизненный цикл тестирования программного обеспечения
Независимо от того, какую методологию вы используете, от вас всегда ожидается соблюдение определенного жизненного цикла тестирования. Жизненный цикл тестирования программного обеспечения помогает вам сосредоточиться на требованиях к продукту и разработке функций по очереди.
Давайте подробнее рассмотрим каждый из этих 6 шагов:
Анализ требований
Вы и ваша команда разработчиков встречаетесь с группами по продукту и маркетингу, чтобы обсудить конечные требования и особенности продукта. Для каждого требования группа проводит мозговой штурм по проверяемой спецификации, в которой будет указано, выполнено ли это требование.
Эти спецификации могут быть такими, как «время выполнения должно быть ниже X» или «клиенты должны иметь возможность легко управлять пользовательским интерфейсом». Вы будете использовать эти спецификации для последующих шагов.
План тестирования
На этом этапе вы и ваша команда разработчиков обдумываете особенности разработки теста. Вот некоторые общие моменты: «Какие ресурсы нам понадобятся?», «Какие количественные показатели мы можем использовать для проверки наших требований?» и «каковы исходные факторы риска, которые могут повлиять на результаты тестирования?».
Наиболее важным аспектом этого шага является сохранение конкретных показателей тестирования / случаев и их соответствия спецификациям продукта.
Разработка тестового случая
На этом этапе вы создадите тестовый пример или набор тестов, которые проверят, что целевое требование было выполнено. Для общего тестирования вы можете использовать процесс функционального тестирования или для более конкретных требований вы можете выбрать нефункциональный тест, такой как тест удобства использования.
Обычно это делается путем перевода спецификации, найденной на шаге 1, в код. Полезно разделить большие спецификации на несколько подусловий, чтобы вы могли видеть, на каком этапе процесса происходит сбой программы.
Вы и команда разработчиков также разделите тестовые примеры на категории автоматического и ручного тестирования в зависимости от их метрики и сложности.
Настройка тестовой среды
На этом этапе вы создадите свою тестовую среду. Большинство продуктов выпускается на нескольких платформах, а это значит, что вам придется создать как минимум одну среду для каждой платформы. В основном это делается с помощью фреймворков тестирования и нескольких виртуальных машин.
Здесь вы также создадите тестовые входные данные, которые будут создавать согласованные выходные данные при запуске программы. Хорошие входные данные для тестирования охватывают весь спектр сценариев использования и приводят к тому же результату при повторном запуске.
Выполнение теста
На этом этапе вы и ваша команда выполните тест и запишите все выбранные показатели. Большинство команд будут запускать тесты несколько раз, чтобы получить несколько сопоставимых точек данных. Отметьте любые критические или некритические программные дефекты, которые будут пересмотрены в следующем цикле разработки.
Вы также можете осознавать, что ваши метрики не содержат всех необходимых данных. Это хорошее время для переоценки выбранных вами показателей для будущих тестов.
Завершение тестового набора и анализ
Этот шаг посвящен получению надежных, подлежащих отчетности результатов тестов. Большинство компаний попросят вас написать ежедневный или еженедельный отчет, в котором резюмируется, как прошел каждый тест и какие изменения будут внесены в результате теста.
Отсюда вы можете:
- Измените тест и повторите его, чтобы получить дополнительную информацию (различные метрики, усовершенствованные среды тестирования и т. Д.).
- Вернуться к разработке решений для продукта, используя результаты тестирования (оптимизировать для выполнения, повысить масштабируемость и т. Д.)
Используя методы гибкого тестирования, вы завершите этот цикл тестирования до того, как создадите код продукта, а также после него. Это позволяет ускорить разработку, поскольку при разработке продукта вы учитываете спецификации тестов.
Навыки и умения для работы тестировщиком
И немного о том, какими навыками и знаниями должен обладать специалист, который занимается тестированием.
Такой работник должен знать обязательно основы программирования, быть на ты с современными компьютерными технологиями, знать принципы и методы тестирования, уметь составлять сценарии, работать с ними и составлять отчеты для разработчиков.
Не обойтись здесь без хорошего знания языков программирования и умения работать с такими системами, как Bugzilla, Jira и другие. Тестировщик должен разбираться в автоматических тестах, уметь их настраивать, а также знать основы ручного тестирования.
Кроме профессиональных навыков, специалист должен обладать такими качествами, как коммуникабельность, умение работать в команде, усидчивость, внимательность к деталям и креативность. Это должен быть одновременно человек с техническим мышлением и творческой жилкой.
Лучшие книги и средства обучения
▍Книги
- Арбон Джейсон, Каролло Джефф, Уиттакер Джеймс «Как тестируют в Google» — познавательная книга, которую лучше читать уже с каким-то опытом, как минимум junior. А, впрочем, о чём я! Читайте и наслаждайтесь на любом уровне, очень полезно и неплохо написано.
- Борис Бейзер «Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем» — классика литературы для тестировщиков. Это скорее академический учебник о тестировании, весьма толковый.
- Гленфорд Майерс, Том Баджетт, Кори Сандлер «Искусство тестирования программ» — библия тестирования (на мой субъективный взгляд).
- Роман Савин «Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах» — реально добрая, немножко смешная и в то же время умная книга для начинающих и постарше. Мне бы она зашла как настольная книга тестировщика.
▍Онлайн-обучение
- Бесплатный базовый курс Яндекс.Практикума (брать ли платный расширенный — решать вам по силам и потребностям) — хороший, толковый курс от практиков.
- www.learnqa.ru — онлайн-школа тестирования (платная, нескольк методологий тестирования, разные уровни)
- YouTube — сотни обучающих видео, есть толковые
- QA Club Сообщество тестировщиков Тестирование ПО — общалка тестировщиков ВКонтакте (сообщество)
▍Полезные статьи на Хабре о самой профессии
- Тестирование. Фундаментальная теория / Хабр
- Тестировщик — больше, чем профессия / Хабр
- Краудтестинг, или Где взять опыт для первой работы в тестировании
Где можно работать
Тестировщик программного обеспечения способен найти работу в профессиональных компаниях, занимающихся разработкой ПО. Деятельность будет связана с направлением, которое выбрала команда программистов. Это могут быть игры, системы защиты сайтов, программы для оптимизации работы отделов, например, финансового учета, отслеживания клиентов, безопасности и так далее.
Заниматься тестирование ПО можно на предприятиях или в фирмах, использующих в своей деятельности программное обеспечение, требующее постоянного контроля. Работа будет основываться не только на технических особенностях систем, но и на специфике отрасли.
Особенность профессии является возможность работать удаленно, если для этого есть технический возможности.
Тестировщик это кто. Чем занимается асессор
В чем заключается работа тестировщика Яндекс, Гугл и других подобных компаний, можно понять, просто прочитав название профессии. Эти специалисты занимаются тестированием различных web продуктов. Сложнее было бы догадаться если бы вместо «тестировщика» мы бы использовали слово «асессор», что, однако является одним и тем же.
Тестировщик-асессор отвечает за проверку правильности работы информационного продукта, соответствию его функциональным особенностям. Его работа заключается прежде всего в обнаружении ошибок и неисправностей, а затем уведомлении о них разработчиков. Результатом является улучшение качества или создание нового программного обеспечения. В упрощенном варианте эта работа чем то напоминает работу контент менеджера. И если вы, прочтя эту статью поймете, что вы пока не готовы к такой работе, то можете начать с изучения заработка редактором сайта.
Навыки
Знание основ HTML. Это язык, который применяется для структурирования и отображения web-страницы и контента на ней
Знание SQL. Язык запросов, тестировщику нужен для бэкенд-тестирования, для проверки тестовых данных, вставки, удаления, обновления их значений в базах данных
Работа с Java. Один из базовых языков программирования, тестировщику нужен, помимо прочего, для автотестов
Знание основ CSS. Это язык описания внешнего вида HTML-документа, без которого не обходится практически ни один web-ресурс или приложение
Работа с Jira. Это система баг-трекинга, с помощью которой можно выявлять, контролировать и регистрировать найденные в ПО ошибки
Начало профессии
- Использование Selenium. Инструмент для автоматизации действий web-браузера, чаще всего применяется для тестирования web-приложений.
- Работа с Git. Система, которая отслеживает и фиксирует изменения в файлах.
- Знание инструментов devTools. Программы, позволяющие тестировать и отлаживать ПО.
- Работа с Python. Еще один популярный язык программирования наряду с Java.
Продвинутый уровень
- Знание методологии разработки Agile/Scrum. Обычно используются при разработке крупных проектов.
- Работа с Docker. Инструмент контейнеризации, при помощи которого можно создавать и распространять контейнеры с необходимым софтом, настраивать взаимодействие тестов и т. д.
- Уверенные навыки в тестировании UI, UX. UI – это графический дизайн, UX – это тестирование интерфейса на предмет пригодности для быстрого решения задач пользователя.
- Уверенные навыки в API-тестировании. Данное тестирование используется для выявления ошибок взаимодействия между модулями системы или между системами.
Согласно рейтингу, составленному по результатам опроса, более 57 тысяч респондентов SQL, Java, HTML и CSS являются самыми востребованными технологиями среди разработчиков.
Инструменты общего назначения
Платформы: macOS, WindowsСтоимость: $49.95 для индивидуальной лицензии (2 компьютера)Описание: многофункциональный скриншотер. Один из лучших в своей категории.Возможности:
- Разные режимы захвата: весь экран, отдельное окно, преобразование картинки в текст, веб-страница, меню и так далее.
- Снятие видео.
- Собственный редактор со множеством встроенных инструментов для работы с изображением и видео: рисование, наложение разнообразных иконок, идентификация текста и картинок на изображении с возможностью их редактировать, автозамена элементов на изображении упрощенными объектами и многое другое.
- Создание пресетов с возможностью установки шорткатов для разных режимов захвата и отправки файлов в какой-либо предзаданный сервис (Google Disc, Dropbox и так далее).
- Мгновенная отправка файлов с мобильного устройства на компьютер через Wi-Fi (нужно скачивать приложение на девайс и подключаться к прокси).
Платформы: macOS, Windows, Web, Android, iOSСтоимость: 229 ₽ для macOS, для остальных платформ — бесплатноОписание: позволяет общаться между компьютером и всеми девайсами, подключенными к одному аккаунту (как правило, тестовой учетной записи).Возможности:
- Отправка текста, ссылок, картинок и любых других файлов с компьютера на девайс и обратно.
- Отправка SMS с компьютера.
- Просмотр уведомлений девайса на компьютере.
Платформы: macOSСтоимость: £23 за текущую версию, £39 за обновление на все новые версииОписание: приложение для повышения продуктивности и автоматизации рабочих процессов. Представляет собой окно поиска на подобии Spotlight, только на стероидах c более расширенным функционалом. Умеет практически все.Возможности:
- Создание собственных workflow с использованием встроенных инструментов и языков программирования: начиная с открытия ссылок в браузере, заканчивая сложными интеграционными сценариями.
- Поиск по файловой системой macOS с гибкой настройкой.
- Поиск по закладкам браузера.
- Расширенный буфер обмена.
- Создание текстовых шаблонов.
- Выполнение системных команд.
- Удаленное управление macOS с iPhone при помощи приложения Alfred Remote.
Платформы: macOS, Windows, iOSСтоимость: $3.33 за год персонального использования, $7.96 за год использования для командыОписание: инструмент для создания шаблонов и их вставки.Возможности:
- Создание текстовых шаблонов.
- Создание шаблонов с использованием форматированного текста и картинок.
- Создание шаблонов с использованием скриптовых языков (Shell Script, AppleScript, JavaScript).
Платформы: macOS, iOSОписание: браузер документации API и инструмент для создания фрагментов кода.Возможности:
- Формирование собственной библиотеки из структурированных наборов документации для разных инструментов (языки программирования, фреймворки, различные системы) и чит-листов (команды, сочетания клавиш) с возможностью просмотра и поиска.
- Создание собственных наборов документации и чит-листов.
- Создание фрагментов кода для разных представлений данных.
- Большое количество интеграций с другими инструментами.
Что надо уметь
От тестировщика требуется:
- знание основ тестирования, его видов и методов;
- умение составлять тест-кейсы, тест-планы;
- знание языка запросов SQL, умение работать с базами данных;
- знание языков программирования;
- знание систем контроля версий: Git, CVS и тому подобных.
Кроме того, тестировщик должен владеть инструментами ручного и автоматического тестирования. Это могут быть:
- системы для создания тест-кейсов и отслеживания ошибок.
- файловые менеджеры, текстовые и XML-редакторы.
- генераторы тестовых данных и другие.
Для автоматизации тестов понадобятся системы тестирования веб-приложений, программы для функционального и нагрузочного тестирования.
Будущее тестировщика
- Разработка программного обеспечения — логичный и не самый сложный путь для тех, кто увлечётся языками программирования и захочет не только ковырять чужой код и готовый проект, но и создавать что-то внутри команды.
- Руководитель проекта. Отличное знание проекта в целом, понимание потребностей и требований клиентов — прямой путь к этой точке.
- Скрам мастер — интересный разворот, который у тестировщиков хорошо удаётся благодаря опять же знаниям проекта в целом и умениям жёстко планировать сроки работ.
- Бизнес-аналитик, внедренец — денежные, но не столь технические должности для ребят с прокачанными коммуникативными навыками.
Инструменты
Selenium. Программа, позволяющая выполнять автоматическое тестирование сайтов и приложений
Postman. Популярная программа для API-тестирования
Monosnap. Инструмент для создания и анализа скриншотов
Katalon Studio. Инструмент для автоматизации тестирования с большим набором функций
Jira. Система для учета ошибок, обнаруженных в мобильных и компьютерных приложениях
Mockaroo. Генератор реалистичных тестовых данных, понадобится для отладки программ
Robot Framework. Фреймворк для автоматизации приемочного тестирования
Gatling. Фреймворк для проведения нагрузочного тестирования
Чарльз Делекторских
Fullstack-разработчик
Первый практический опыт можно получить на биржах фриланса. Преимуществом такого способа является большой выбор разнообразных проектов. Также, если человек прошел курсы и получил профессию тестировщика, то ряд школ помогает способным студентам с трудоустройством.
Тестировщики ПО, которые уже имеют какой-то опыт, могут рассчитывать на трудоустройство в IT-компании, банковские структуры и т. п. – в том числе на удаленном режиме. Проще всего искать такие вакансии через порталы по трудоустройству.
— Чарльз Делекторских Fullstack-разработчик
Зачем столько тестировщиков
Когда продукт маленький, функция тестировщика может лежать на самом разработчике: сам написал код, сам проверил работу. Никакие QA и QC в маленьком продукте не нужны — там всё решается быстро и компактно.
Но продукты имеют свойство расти: сначала там один разработчик, потом трое. Каждый протестировал свою часть продукта, а кто протестирует продукт в целом и проверит «стыки»? Нужен тестировщик. Продукт продолжает расти, и вот уже у нас не один тестировщик, а пятеро: как сделать так, чтобы они не тестировали одно и то же? Или тестировали, но по правильной методике? Значит, им нужен бригадир — QC.
Не успели оглянуться — и вы уже делаете массовый веб-сервис, у вас несколько сотен тысяч клиентов, а сам сервис состоит из десятков модулей. И часть модулей делают в Москве, другую часть — в Санкт-Петербурге, третью — в Екатеринбурге. У каждого офиса своя атмосфера, куча собственных нюансов и проблем. И вот это всё нужно «причесать», чтобы внутри и на стыках этих модулей не было багов. Над этим работают десятки тестировщиков, несколько QC и один большой важный QA, который управляет тестированием.
Какие навыки нужны QA-аналитику
Аналитическое мышление
Необходимо на этапе исследования продукта, когда нужно разобраться с пожеланиями и требованиями клиента. QA-аналитик делает предположения, чего хочет заказчик, изучает похожие системы у конкурентов и согласует с ним.
Для качественного исследования продукта необходимы аналитический склад ума, умение искать информацию, ориентироваться в ее больших объемах, отделять важное от неважного, обобщать результаты и доступно формализовать их в цифрах.
Сосредоточенность
Тестирование подразумевает проверку готовой системы на соответствие спецификации, техзаданию или видению продукта, написанному командой разработчика или предоставленному клиентом на старте проекта.
Для этой задачи от QA-аналитика требуются усидчивость, способность выдерживать монотонную работу, а также умение посмотреть на систему глазами пользователя.
Эрудиция
Проверка соответствия системы вайрфреймам осуществляется вручную. Например, QA-аналитик проверяет, верно ли происходят переходы, в нужных ли местах появляются поп-апы, не перекрывают ли они важные элементы.
Кроме того, в процессе тестирования юзабилити оценивается дизайн: например, не едут ли шрифты, одного ли они размера, достаточные ли отступы и т.д.
Здесь также нужны усидчивость и внимательность, а еще насмотренность — представление, что происходит в области современной разработки, какие существуют тренды в верстке и дизайне. Быть экспертом не обязательно, но быть осведомленным нужно.
Эмпатия, умение структурировать и объяснять
В больших компаниях этим занимаются технический писатель или выделенный аналитик. Но у QA-аналитика есть перед ними преимущество: он очень близок к системе, каждый день работает с ней, поэтому документацию ему написать проще.
Нужно только представлять, на какую аудиторию рассчитаны инструкции и, исходя из этого, выбрать степень их детализированности. QA-аналитик является держателем всех требований по проекту, в любой момент к нему можно обратиться с вопросами «Как это должно работать?» или «Какова цель этого функционала?»
Для создания документации потребуются умение структурировать информацию, входить в положение читателей и смотреть на инструкции их глазами, а также грамотная письменная речь и умение ясно выражать мысль.
Стратегическое мышление
Тестирование и приоритезация — это обычные функции QA-специалиста. QA-аналитики, в отличие от тестировщиков, принимают участие в обсуждении требований и проводят оценку влияния новых требований на уже готовую систему.
Они могут создавать мокапы по новым требованиям или прописывать сценарии использования, по которым далее будет проводиться тестирование и приемка готовых результатов.
Приоритезация требуется на стадии приемочного тестирования. Она заключается в определении, какой баг является критичным, а какой — минорным. Так или иначе, этим занимается любой тестировщик, но именно QA-аналитик знает, как устроена система с точки зрения бизнеса, и может с большим успехом сфокусировать команду на важных багах, отложив неважные на более поздний срок.
Например, он понимает, насколько доступна пользователю та или иная функциональность: лежит ли она на поверхности или скрыта в интерфейсных дебрях и будет использоваться редко, знает, когда бизнес ожидает первое использование функции: при запуске, через три месяца, через год — все это влияет на приоритет бага.
Другими словами, в отношении приоритезации QA-аналитик — это наиболее осведомленный тестировщик, виртуозно выставляющий баланс severity и priority, так, чтобы разработчики были сосредоточены на по-настоящему важных вещах в каждый момент отладки системы.
На этом этапе от QA-аналитика требуется, прежде всего, умение видеть картину в целом, а не частности.
Какие виды тестирования существуют
Пользователи непредсказуемы. Они могут делать не только то, что предусмотрено программой, но и то, что ею категорически не предусмотрено. Тестировщик должен проверить все возможные и невозможные сценарии их поведения и убедиться, что программа продолжает работать.
Вообще, у тестирования есть философия, которая строится на том, что в любой программе по определению есть ошибки и найти их все невозможно. А если вы почему-то не нашли ошибку, значит, просто плохо искали. Удачный тест для тестировщика — тот, при котором нашли баг. А если всё нормально работало, значит, тест неудачный и свою задачу не выполняет.
Ошибки возникают не только при кодировании, но и при проектировании системы, и даже на этапе разработки технического задания. Поэтому и тестируют код не только в самом конце работы, а на разных этапах.
Есть несколько видов тестирования:
Обязанности специалиста
В целом, вы уже имеете представление о профессии. А теперь немного подробнее расскажу об обязанностях специалиста, чтобы представить как складывается последовательно его рабочий день. Итак, что делает тестировщик:
- знакомится с новой программой, изучает ее структуру, технические характеристики и назначение;
- составляет план тестирования и пишет возможные сценарии тестов (ручных или автоматизированных);
- осуществляет непосредственно тестирование в соответствии с составленными сценариями, вносит возможные поправки по ним;
- пишет подробные отчеты для разработчиков по итогам проверки (возникшие проблемы описываются максимально подробно);
- проводит повторное тестирование после устранения ошибок, по результатам которого дает добро на запуск программы (иногда на повторную доработку).
Во всем этом процессе непосредственно сама проверка занимает более 50% рабочего времени тестировщика.
Обязанности и задачи специалиста
В чем же заключается работа тестировщика? Если говорить об этапах работы, то типичная деятельность специалиста может быть отображена в следующей логической цепочке:
- Получение задания о проверке программного продукта.
- Изучение полученного IT-продукта.
- Определение приоритетов тестирования, создание тестовой модели.
- Подбор необходимого комплекса тестов.
- Сопоставление реальной работы ПО с ожидаемыми результатами и выявление несоответствий.
- Поиск багов и ошибок.
- Устранение недостатков, улучшение функционирования IT-товара.
- Проведение нового тестирования.
- Написание отчета о проведенных процедурах.
При необходимости после второго тестирования снова идет поиск и устранение ошибок, а затем проведение еще одного теста. И процесс повторяется, пока продукт не пройдет порог качества, что делает работу QA-инженера цикличной. Во время тестирования специалисту надо совершить все возможные операции, которые могут сделать пользователи, чтобы найти все ошибки.
Сложность состоит в том, что в лабораторных условиях баги не проявят себя, а клиент додумается нажать на вот эту кнопку или перейти по вон той ссылке и обнаружит сбой. Поэтому тестировщикам нужно предугадывать стандартное и нестандартное поведение пользователей, что является творческим процессом. При этом нужно уметь применять смекалку и анализировать данные.
При ручном тестировании нужно самому сыграть пользователя и сымитировать все его действия по отношению к игре, приложению или сайту. Поэтому такой вид тестирования могут называть поведенческим.
При автоматическом же тестировании специалист работает со специальными программами. Он их подбирает и настраивает, пишет для них код, готовит данные для тестов, а после запускает само тестирование. Затем работник анализирует зафиксированные результаты и пишет отчет, который потом передает разработчикам.
Создание пошаговых инструкций к тестированию, т. е. тест-кейсов, в которых учитываются все требования аналитиков, тоже лежит на плечах QA-инженеров.
Заключение
Тестировщик – одна из самых перспективных и востребованных интернет-профессий современности.
Это высокооплачиваемая специальность, по которой можно работать удаленно и по свободному графику. Но и минусов не избежать: рутинность, ответственность и постоянное обучение могут отвадить желающих от этой работы.
Если вы все еще желаете стать тестировщиком, предлагаю пройти онлайн-курсы для быстрого освоения профессии. Не помешает при устройстве на работу знание иностранного языка и современных тенденций в мире информационных технологий.
Удачи в освоении специальности QA-инженера! Продолжайте развиваться и учиться вместе с блогом iklife.ru.
Всего доброго!