Какие мероприятия необходимо выполнить для обеспечения качества тестирования

Обновлено: 04.07.2024

Уже готов стать тестировщиком или хочешь освежить базовые понятия? Тогда этот гайд – то, что нужно! Команда ПОИНТ и курса Jedi.Point структурированно делится теоретическими основами тестирования: от видов до полезных инструментов.

Что такое Тестирование ПО?

Тестирование ПО – процесс, который помогает проверить выполнение всех бизнес-сценариев и требований пользователей, а также выявить все возможные проблемы и дефекты IT-продуктов.

В чем разница между тестированием, QC и QA?

  • тестирование отвечает непосредственно за нахождение багов;
  • QC (контроль качества) – за выполнение процесса тестирования (написание/прохождение кейсов, поиск/заведение дефектов etc);
  • QA (обеспечения качества) – за создание системы контроля, которая будет предотвращать появление багов уже на этапе разработки ПО, сокращая количество выявленных дефектов на этапе тестирования; грубо говоря – построение самого процесса тестирования.

Зачем нужно тестирование и тестировщики?

Действительно, разве разработчики сами не могут проверять свои же продукты?

Еще 5-6 лет назад такой вопрос обсуждался в ИТ-кругах и на просторах Интернета. Но в 2020 ясно: тестировщики без работы не останутся, а тестирование должны осуществлять специалисты в сфере QA.

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

Чтобы понять, как еще тестировщики помогают своим заказчикам, читайте также:

Виды тестирования ПО

Составить эталонную классификацию почти невозможно – выделяют аж 100 видов тестирования, которые можно сгруппировать по различным характеристикам.

Более того, периодически методы устаревают, и возникают новые термины.

С какими же основными классификациями и типами тестирования стоит ознакомиться начинающим тестировщикам?

Виды тестирования ПО по степени автоматизации

Среди тестировщиков существует огромное разделение на более узкие специальности: тестирование безопасности, производительности, удобства использования и др. Но в самом широком смысле их можно разделить на ручных тестировщиков и тестировщиков-автоматизаторов.

Любое тестирование можно выполнить как вручную, так и с помощью инструментов автоматизации.

Ручное тестирование – это тип тестирования программного обеспечения, при котором тестировщик вручную проводит тесты без помощи каких-либо средств автоматизации.

Автоматизированное тестирование, в свою очередь, выполняется с помощью таких фреймворков, как Selenium, PHPUnit, Mockery и других. Его целью является снижение затрат и рисков, связанных с человеческим фактором. Особенно эффективен данный тип на долгосрочных проектах с частыми релизами и объемным регрессом.

Каждое из этих направлений имеет свою область применения, потому что 100-% автоматизация невозможна. Например, проверка юзабилити всегда осуществляется вручную.

Разница между ручным и автоматизированным тестированием

Ручное тестированиеАвтоматизированное тестирование
тестировщик выполняет тесты вручнуювыполняется с использованием инструментов
требует квалифицированного труда и продолжительного времениэкономит время, бюджет, человеческий ресурс
некоторые типы тестирования больше подходят для ручного выполнениярекомендуется только для стабильных систем, в основном используется для регрессионного тестирования
может стать повторяющимся и утомительнымрутинную часть можно переложить на инструменты автоматизации

Также рекомендуем:

Виды по объекту тестирования

Функциональное тестирование (functional testing) проверяет часть системы, которая необходима для того, чтобы пользователь мог выполнить бизнес-сценарий от начала до конца. Оно выполняется первым, до нефункционального тестирования. Примеры: переход по разделам форума, поиск по сайту.

Методы и техники функционального тестирования:

  • Модульное тестирование
  • Тестирование белого ящика
  • Пользовательское тестирование
  • Сессионное тестирование — компромисс между исследовательским и скриптовым тестированием.

Агеева Нина, автор курса Погружение в тестирование. Jedi Point, рассказывает о сессионном тестировании

Нефункциональное тестирование необходимо для проверки работоспособности системы при различных условиях, которые могут влиять на удовлетворенность пользователя (надежность, удобство использования, масштабируемость).

Типы нефункционального тестирования:

  • Тестирование безопасности (security testing)

Тестирование безопасности – это вид тестирования для выявления уязвимости программного обеспечения к различным атакам (SQL, XSS etc).

Рекомендуем ознакомиться:

  • Тестирование локализации (localization testing)

Тестирование локализации – процесс адаптации продукта, который ранее был переведен на несколько языков для определенной страны или региона.

  • Юзабилити тестирование (usability testing)

Тестирование юзабилити – это метод тестирования, направленный на выявление удобства и понятности интерфейса.

Оценивать удобство без субъективности и научиться создавать продукт, который будет нравиться вашим пользователям, вы можете на курсе Тестирование удобства использования.

Виды тестирования по позитивности сценария

Агеева Нина, автор курса Погружение в тестирование. Jedi Point, рассказывает о позитивном и негативном тестировании

Этапы тестирования

Для описания процесса тестирования поэтапно существует несколько методик. Одна из самых понятных и простых моделей – STLC.

STLC (Software Testing Life Cycle) означает жизненный цикл тестирования программного обеспечения.

Модель жизненного цикла тестирования программного обеспечения (модель STLC) состоит из шести основных фаз.

6 фаз STLC (Software Testing Life Cycle):

Анализ требований. На этом этапе тестировщики изучают требования с точки зрения тестирования и общаются с заказчиками для детального понимания. Также, если необходимо, выполняют технико-экономическое обоснование автоматизации.

Зачастую тестировщикам приходится сталкиваться с ситуацией, когда требования отсутствуют или недостаточно ясны. В таких случаях тестировщик использует методы и инструменты для организации тестирования в условиях отсутствия идеальных требований на проекте.

По этой теме рекомендуем почитать:

Научиться тестировать в условиях отсутствия идеальных требований на проекте можно на курсе:
Тестирование без требований: выявление и восстановление информации о продукте

Планирование тестирования. На данном этапе разрабатывается стратегия тестирования, выявляются риски, выбираются инструменты и распределяются роли в команде. Все это фиксируется в таких документах, как тест-план и тест-стратегия.

Агеева Нина, автор курса Погружение в тестирование. Jedi Point, подробно объясняет, что такое стратегия и как ее составить

Разработка тест-кейсов.

О том, почему мы пишем тест-кейсы, можно узнать в нашем видео:

Станислав Марков, тренер ПОИНТ и курса Погружение в тестирование. Jedi Point детально рассказывает о каждой фазе
А о том, как писать тест-кейсы, вы можете узнать на нашем Youtube-канале

Настройка тестовой среды окружения. Этот шаг нужен для того, чтобы подготовить все условия для эффективного процесса тестирования. Он включает настройку тестового сервера, настройку сети, настройку тестовых ПК или устройств, а также формирование тестовых данных для тестовой среды.

Выполнение тестов. Команда QC начинает выполнение тест-кейсов в соответствии с планами тестирования и создает отчеты о багах. Также чаще всего на этом этапе происходит валидация багов. Она нужна для того, чтобы убедится, что дефекты, которые ты завёл ранее, ДЕЙСТВИТЕЛЬНО пофиксили.

Закрытие цикла – последний этап жизненного цикла тестирования программного обеспечения. Он включает в себя встречу членов группы тестирования для того, чтобы оценить показатели проекта.

Станислав Марков, тренер ПОИНТ и курса Погружение в тестирование. Jedi Point детально рассказывает о каждой фазе

Инструменты тестировщика

Инструменты тестирования – все продукты, которые помогают QA-инженерам организовывать свою работу на каждом этапе.

Выбор инструментов для работы тестировщика зависит от вида тестирования, личных предпочтений и места работы тестировщика. Со временем у каждого тестировщика появляется свой набор инструментов.

Инструменты для управления тестированием

Инструменты для автоматизации тестирования

Инструменты для кросс-браузерного тестирования

Инструменты для нагрузочного тестирования

Инструменты для баг трекинга

Инструменты для автоматизации тестирования мобильных приложений

Для iPhone и iPad:

Мобильные эмуляторы

Инструменты для тестирования юзабилити

Инструменты для API- тестирования

Инструменты тестирования безопасности

CSS Валидаторы

Также рекомендуем:

Надеемся, наш гайд помог вам в понимании основ тестирования. Успехов в карьере тестировщика!

А тем, кто хочет узнать о каждом аспекте тестирования на практике, рекомендуем пройти курсы тестирования ПО.

И обязательно скачайте чек-лист “Что должен знать и уметь джуниор-тестировщик”, заполнив небольшую анкету.

Читайте также: