Тестирование может гарантировать качество приложения, доставляемого конечному пользователю. Различные стороны разделяют разные обязанности по тестированию. На стороне поставщика приложений разработчики программного обеспечения, инженеры по контролю качества и менеджеры проектов должны работать вместе, чтобы четко определить технические спецификации и соответствующие протоколы тестирования. На стороне клиента клиент может протестировать функции приложения и прокомментировать пользовательский опыт, если таковой имеется. Хорошее сотрудничество между сторонами может улучшить общее качество приложения в долгосрочной перспективе.
Тестирование между разными сторонами обычно делится на 4 части, которые будут подробно рассмотрены позже:
- DEV — Разработка [Разработчик программного обеспечения].
- SIT — тест системной интеграции [разработчик программного обеспечения и инженер по контролю качества].
- UAT — Пользовательский приемочный тест [Клиент].
- PROD — Производство [Открытый пользователь].
Более того, Apple и Google предоставляют владельцу приложения разные инструменты для выпуска приложения для публичного тестирования небольшой группой зарегистрированных тестировщиков (100 человек) перед фактическим запуском приложения в Play Store и App Store. Это TestFlight и Google Play соответственно.
DEV — Stands for Development.
На ранней стадии разработки приложения старшие разработчики программного обеспечения делили каждую функцию приложения на более мелкие модули и назначали их младшим разработчикам. Это может значительно повысить эффективность и производительность.
Когда отдельные разработчики завершают свои коды, создается множество «функций». Каждая «функция» подобна черному ящику, который принимает входные данные и возвращает выходные данные. В идеале каждая функция отвечает только за одну задачу. Разработчик может написать модульные тесты для проверки функциональности своей отдельной функции. Модульное тестирование — это самое основное тестирование приложения и всегда самая важная часть.
SIT — Stands for System Integration Test.
Как упоминалось выше, крупная фича делится на более мелкие части и назначается разным разработчикам. Тестирование интерфейсов между модулями имеет решающее значение. На этом этапе обычно присутствует команда QA-инженера для написания тестовых случаев (программы) для тестирования функциональности и стабильности.
UAT — User Acceptance Test.
После того, как разработчики завершат разработку приложения и пройдут все внутренние тесты, приложение отправляется клиенту для тестирования взаимодействия с конечным пользователем и общей функциональности приложения.
Клиент может пригласить небольшую группу общедоступных пользователей в качестве внутренних тестировщиков. И Apple, и Google предоставляют инструменты, позволяющие зарегистрированным тестировщикам тестировать приложение перед запуском, собирать комментарии пользователей и проверять наличие потенциальных ошибок. Тестировщик может открыть приложение для тестирования через приложение TestFlight для iOS и приложение Play Store для Android.
PROD — Production
На заключительном этапе производства приложение распространяется среди населения через официальные каналы — App Store и Play Store. Открытый пользователь может использовать новейшие функции и сообщать о любых проблемах, с которыми они столкнулись.
Google предоставляет отличный инструмент — Firebase Crashlytics. Он может сообщать о проблемах разработчику и владельцу приложения, когда возникают какие-либо проблемы на стороне конечного пользователя. Отчет содержит много информации о пользователе, например, где и когда возникла проблема, модель устройства пользователя и уровень операционной системы и т. д.
Alpha testing.
После того, как пользовательское приемочное тестирование будет проведено в группах разработки и продукта, тестирование можно расширить, включив в него других пользователей.
Во время альфа-тестирования релиз тестируется вне команд, участвующих в проекте. Обычно оно проводится для внутренних пользователей или сотрудников организации и обычно сопровождается бета-тестированием.
Этот тест помогает выявить любые ошибки или проблемы перед окончательным выпуском программного обеспечения для конечного пользователя.
Он пытается имитировать реальную пользовательскую среду, выполняя те же задачи и операции, которые фактический пользователь будет выполнять в выпуске, чтобы убедиться, что он удовлетворяет всем его функциям.
Beta testing.
В этой тестовой среде программное обеспечение выпускается для ограниченного числа реальных пользователей за пределами организации, чтобы получить их отзывы, которые затем пересылаются обратно разработчикам для оптимизации и улучшения выпуска по мере необходимости перед выпуском для всех пользователей.
Он также тестирует приложение или программное обеспечение в условиях стресса, при этом такое нагрузочное тестирование поможет выявить любые ошибки, которые ранее не были обнаружены.
Подробнее: Разница между альфа и бета-тестированием
Резюме:
- Тестирование можно разделить на 4 этапа — DEV, SIT, UAT и PROD.
- DEV — это тест, проводимый разработчиками программного обеспечения, создавшими функции.
- SIT — это тест интерфейса между разными модулями, который является небольшой частью одной функции.
- UAT выполняется клиентом и, возможно, небольшой группой зарегистрированных тестировщиков. Клиент может использовать TestFlight и Play Store для распространения тестового приложения для удаленной регистрации тестировщиков. На этом этапе можно собрать много отзывов о функциях и пользовательском опыте.
- PROD — это стадия публичного выпуска приложения. Значительно большая группа пользователей может использовать и тестировать новые функции. Неожиданные ошибки и проблемы можно найти и сообщить о них с помощью инструментов Google Crashlytics. UI/UX-дизайнер и разработчики могут улучшить приложение с помощью этой информации.