40  /  96

Как проводить тестирование

Просмотров: 2741 (Статистика ведётся с 06.02.2017)

Test Cases

Test Cases - это набор условий, при которых тестировщик будет определять, удовлетворяется ли заранее определённое требование. Чтобы определить, что требование полностью выполняется, может потребоваться много вариантов тестирования. Часто варианты тестирования группируют в тестовые наборы. (Wikipedia)

Как проверять каждый кейс:

  • Описываем шаги в виде Test Case.
  • Поддерживаем их в актуальном состоянии в wiki.
  • Программист создает скрипты для тестировщика.
  • Организуем тестовые сервера с тестовыми данными.
  • После каких-либо изменений в веб-проекте необходимо заново проходить по связанным Test Case-ам.
  • Иногда полезна матрица зависимостей:


Модульные тесты - UnitTests

UnitTest - процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы. Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок. (Wikipedia)

Полезны в ряде случаев:

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

В качестве инструментов модульного тестирования можно использовать: PHPUnit, SimpleTest или написать свой попроще.

Минусы:

  • Клиент может не захотеть оплачивать время и ресурсы на эти тесты.
  • Наличие в команде «фанатиков», которые требуют покрыть 100% всего функционала UnitTests-ами + DependencyInjection, серьезно замедляют работу.
  • Вредны, когда используется не ООП-код, а простые скрипты компонентов.
  • Объем кода UnitTests может превысить объем кода проекта. Любое изменение функционала - нужно переписывать тесты.

Функциональные тесты - Selenium

Функциональное тестирование - это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. (Wikipedia)

Можно автоматизировать часть ручных тестов c помощью Selenium:

  • Пишется на Javascript «бот», эмулирующий действия пользователя.
  • Тесты составляются просто.
  • Можно постить формы, нажимать ссылки, обходить DOM.
  • Значительно ускоряется «перетестирование» проекта.
  • Систематизируется верстка.

Минусы:

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

Попробуйте на практике, определите золотую середину.


Beta-тестирование

Одним из вариантов тестирования большого проекта является привлечение сотрудников клиента к тестированию. Либо, вообще, можно попробовать продать идею запуска проекта в качестве Beta. Это позволит найти незначительные и некритичные ошибки в проекте.


Монитор качества

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

Монитор качества работает в продуктах «1С-Битрикс» и в каталоге веб-приложений для сайтов и корпоративных порталов «1С-Битрикс: Маркетплейс». Процедура сдачи включает обязательные и дополнительные тесты, в том числе, аудит безопасности PHP кода.

Монитор качества включает в себя:

  • Структурированную методику управления качеством внедрения;
  • Систему тестов для веб-разработчиков, набор рекомендаций для клиентов;
  • Состоит из 26 обязательных тестов и ряда необязательных;
  • Часть тестов - полностью автоматизирована. Их количество со временем увеличивается.


Зачем нужен контроль качества проекта?

Монитор качества дает дополнительные возможности разработчикам и клиентам:

    Плюсы для разработчика:
  • Систематизация процедуры тестирования;
  • Повышение качества создания интернет-проектов за счет систематизации производства;
  • Формализация отношений с клиентом как на этапе сдачи, так и на этапе поддержки.
    Плюсы для клиента:
  • Снижение рисков: чем раньше найдена проблема, тем дешевле ее устранить;
  • Систематизация приемки проекта и запуска его в эксплуатацию: шаги расписаны, можно сосредоточиться на деталях;
  • Формализация и упрощение взаимодействия с разработчиком на этапе поддержки и развития проекта;
  • Снижение затрат на получение качественного результата;
  • Высокая производительность и безопасность веб-решения.

Примечание: Подробнее о работе Монитора качества можно прочитать в курсе Разработчик Bitrix Framework.


5
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии