Просмотров: 25044
Дата последнего изменения: 23.09.2021
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
3
4
5
Test Cases
Test Cases - это набор условий, при которых тестировщик будет определять, удовлетворяется ли заранее определённое требование. Чтобы определить, что требование полностью выполняется, может потребоваться много вариантов тестирования. Часто варианты тестирования группируют в тестовые наборы. (Wikipedia)
Как проверять каждый кейс:
- Описываем шаги в виде Test Case.
- Поддерживаем их в актуальном состоянии в wiki.
- Программист создает скрипты для тестировщика.
- Организуем тестовые сервера с тестовыми данными.
- После каких-либо изменений в веб-проекте необходимо заново проходить по связанным Test Case-ам.
- Иногда полезна матрица зависимостей:
![](/images/hl-projects/tests/test_matrix_sm.png)
Модульные тесты - UnitTests
UnitTest - процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы.
Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок. (Wikipedia)
Полезны в ряде случаев:
- Когда пишете свой кастомный технически сложный функционал.
- Когда тестировать вручную очень долго и сложно.
- Когда создаете низкоуровневые утилиты/библиотеки.
- Когда пишете ООП-код в модулях.
В качестве инструментов модульного тестирования можно использовать: PHPUnit, SimpleTest или написать свой попроще.
Минусы:
- Клиент может не захотеть оплачивать время и ресурсы на эти тесты.
- Наличие в команде «фанатиков», которые требуют покрыть 100% всего функционала UnitTests-ами + DependencyInjection, серьезно замедляют работу.
- Вредны, когда используется не ООП-код, а простые скрипты компонентов.
- Объем кода UnitTests может превысить объем кода проекта. Любое изменение функционала - нужно переписывать тесты.
Функциональные тесты - Selenium
Функциональное тестирование - это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. (Wikipedia)
Можно автоматизировать часть ручных тестов c помощью Selenium:
- Пишется на Javascript «бот», эмулирующий действия пользователя.
- Тесты составляются просто.
- Можно постить формы, нажимать ссылки, обходить DOM.
- Значительно ускоряется «перетестирование» проекта.
- Систематизируется верстка.
Минусы:
- Поддерживать большой объем тестов Selenium непросто.
- Интерфейсы очень часто меняются - из-за чего нужно переписывать тесты.
- Верстка иногда серьезно усложняется под Selenium.
- Сложные сценарии трудно автоматизировать.
Попробуйте на практике, определите золотую середину.
Beta-тестирование
Одним из вариантов тестирования большого проекта является привлечение сотрудников клиента к тестированию. Либо, вообще, можно попробовать продать идею запуска проекта в качестве Beta. Это позволит найти незначительные и некритичные ошибки в проекте.
Монитор качества
Монитор качества - инструмент для проверки качества выполненного проекта перед сдачей его заказчику. Он позволяет решить задачу обеспечения прозрачного и гибкого процесса сдачи веб-проекта клиенту, повышая уровень гарантированного результата и снижая общие риски.
Монитор качества работает в продуктах «1С-Битрикс» и в каталоге веб-приложений для сайтов и корпоративных порталов «1С-Битрикс: Маркетплейс». Процедура сдачи включает обязательные и дополнительные тесты, в том числе, аудит безопасности PHP кода.
Монитор качества включает в себя:
- Структурированную методику управления качеством внедрения;
- Систему тестов для веб-разработчиков, набор рекомендаций для клиентов;
- Состоит из 26 обязательных тестов и ряда необязательных;
- Часть тестов - полностью автоматизирована. Их количество со временем увеличивается.
![](/images/dev_full/checklist/checklist_2_11.png)
Зачем нужен контроль качества проекта?
Монитор качества дает дополнительные возможности разработчикам и клиентам:
Плюсы для разработчика:
- Систематизация процедуры тестирования;
- Повышение качества создания интернет-проектов за счет систематизации производства;
- Формализация отношений с клиентом как на этапе сдачи, так и на этапе поддержки.
Плюсы для клиента:
- Снижение рисков: чем раньше найдена проблема, тем дешевле ее устранить;
- Систематизация приемки проекта и запуска его в эксплуатацию: шаги расписаны, можно сосредоточиться на деталях;
- Формализация и упрощение взаимодействия с разработчиком на этапе поддержки и развития проекта;
- Снижение затрат на получение качественного результата;
- Высокая производительность и безопасность веб-решения.
Примечание: Подробнее о работе
Монитора качества можно прочитать в курсе
Разработчик Bitrix Framework.