Rusau LearnВойти

Что такое тестирование ПО и кто такой тестировщик

Тестирование программного обеспечения – это проверка того, что программа делает обещанное и разумно ведёт себя, когда её используют не по правилам. Проверки придумывают заранее, проходят по ним и описывают каждое расхождение с требованиями, чтобы его могли воспроизвести и исправить.

QA ≠ QC
разные вещи, и на собеседовании это спрашивают
4 уровня
модульный, интеграционный, системный, приёмочный
12 терминов
словарь из вакансий – ниже на странице

Определение простыми словами

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

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

Как выглядит рабочий день

Утро обычно начинается с того, что пришло за ночь: новые задачи, исправленные дефекты, результаты ночного прогона. Дальше идёт проверка исправлений, проверка новой функциональности и регрессия – повторные проверки того, что уже работало.

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

QA, QC и тестирование

Три слова, которые в вакансиях стоят рядом, а означают разное. QA (quality assurance) – это про процесс: как в команде устроена разработка, чтобы дефектов появлялось меньше. QC (quality control) – про результат: проверка готового продукта на соответствие требованиям. Тестирование – конкретная часть QC, то есть сами проверки.

На практике границы размыты, и в маленькой команде один человек делает всё сразу. Но на собеседовании разницу спрашивают почти всегда, и путаница в ней читается как незнание основ.

Виды, уровни и типы проверок

Уровни отвечают на вопрос, что именно проверяется: отдельный модуль, связка модулей, система целиком или готовность системы для заказчика. Типы отвечают на вопрос, какое свойство проверяется: функциональность, скорость, удобство, безопасность, совместимость.

Методы описывают, сколько известно о внутреннем устройстве: чёрный ящик – только поведение снаружи, белый – код, серый – частичное знание. Эти три оси независимы, поэтому одна и та же проверка одновременно относится к системному уровню, функциональному типу и методу чёрного ящика.

Ручное и автоматизированное

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

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

Словарь из вакансий

Двенадцать слов, которые встречаются в описаниях вакансий junior-тестировщика чаще прочих.

  • Баг-репорт

    Описание дефекта: шаги, ожидаемый и фактический результат, окружение.

  • Тест-кейс

    Проверка по шагам с заранее известным ожидаемым результатом.

  • Чек-лист

    Список того, что нужно проверить, без подробных шагов.

  • Регрессия

    Повторная проверка того, что работало, после изменений в коде.

  • Смоук

    Короткая проверка самого важного: запускается ли и работает ли главное.

  • Тест-дизайн

    Техники, по которым выбирают, какие проверки писать.

  • Граничные значения

    Проверки на краях допустимого диапазона, где ошибки встречаются чаще всего.

  • API

    Интерфейс, через который программы общаются между собой, без экрана.

  • Постман

    Инструмент для ручных запросов к API и проверки ответов.

  • SQL

    Язык запросов к базе данных: им проверяют, что сохранилось на самом деле.

  • Jira

    Трекер задач, в котором живут задачи и заведённые дефекты.

  • Приёмочное тестирование

    Проверка готовности системы с точки зрения заказчика.

С чего начать изучение

Начинать стоит с теории и тест-дизайна: это язык, на котором говорят в профессии, и без него инструменты учить бессмысленно. Дальше идут документация и работа с API и базой данных, потому что именно их проверяют на собеседовании и используют в первый рабочий месяц.

Курсы по теме

Вопросы и ответы

Тестировщик и QA-инженер – это одно и то же?

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

Сколько видов тестирования существует?

Точного числа нет: виды выделяют по разным основаниям, и списки в учебниках отличаются. Практический минимум – уровни (модульный, интеграционный, системный, приёмочный), методы (чёрный, серый и белый ящик) и типы по проверяемому свойству.

Что важнее на старте – теория или инструменты?

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

Можно ли научиться тестированию самостоятельно?

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

Посмотреть программы курсов

Программа каждого курса открыта целиком: видны все модули, уроки и число шагов.

Все курсы

Здесь используются cookies: без них сайт не работает, и по ним видно, откуда о платформе узнают. Подробнее