Владение навыками анализа нестабильных тестов крайне важно в сфере тестирования программного обеспечения, так как любые автотесты с весьма плавающими итогами будут постоянно замедлять скорость общей разработки.
Даже если вы никогда в жизни не работали с нестабильными тестами, данный материал будет очень полезен, так как в нем отображен максимально систематизированный набор причин возникновения нестабильности внутри тестовых наборов.
Причины того, почему возникает нестабильность:
- Непосредственно, тесты;
- Некорректный набор фреймворков для старта таких тестов;
- Набор сервисов и библиотек, которые управляют активацией тестов;
- ОС и прочие технические составляющие, которые напрямую влияют на процесс взаимодействия фреймворка и автотестов.
Далее попробуем выделить базовые критерии, почему все вышеописанное может работать нестабильно.
Тесты
С тестами постоянно что-то случается и этому не стоит особо удивляться. Как правило, причины поломок кроются в следующем:
- Неверная инициализация либо же очистка;
- Некорректно подобранная тестовая информация;
- Неверные предположения о текущем состоянии системы;
- Непосредственная зависимость от асинхронных манипуляций;
- Зависимость от порядка старта тестов.
Некорректный набор фреймворков для старта тестов
Возможные проблемы кроются в следующих источниках:
- Невозможность выделения достаточного ресурса для проверяемой системы;
- Некорректное планирование тестов (когда проверки могут противоречить друг другу);
- Малая часть системных ресурсов, которая не позволяет запустить старт выполнения требований.
Набор сервисов и библиотек, которые управляют запуском тестов
Проверяемая система или вспомогательное ПО, само по себе, может быть базовым источником проблем. Например, ПО может иметь массу зависимостей от сторонних служб, которые, в свою очередь, содержат неверные конфигурации и прочие неурядицы технического характера.
Возможные проблемы:
- Непроинициализированные переменные;
- Утечка ОЗУ;
- Отсутствие ответа от сервера;
- Потенциальная избыточность подписки на ресурс;
- Редактирование приложения с разной скоростью для разных его версий.
Совет: используемая вами среда тестирования должна быть на 100% герметичной, так как именно такое окружение менее подвержено нестабильности.
ОС и прочие технические составляющие
Ваша операционная система и железо тоже могут быть рассадником нестабильности тестов. Проблемы при этом возникают из-за следующих причин:
- Нестабильность сети;
- Ошибки дисков;
- Расход ресурса на другие задачи, которые напрямую не имеют связи с процессом выполнения тестов.
Итоги
Как следует из всего того, что было описано выше, разнообразие сбоев весьма и весьма большое, а значит поиск причины нестабильности при запуске автотестов — работа непростая.
Данная статья может стать хорошим помощником при выполнении процедуры локализации дефектов в среде продуктовой организации по обеспечению качества, а также анализа их природы для недопущения сбоев в будущем.
Оставить комментарий