Программное обеспечение — неотъемлемая часть современной жизни, существует множество пользовательских программ, есть так же решения для бизнеса. Фактически программные продукты управляют нашей жизнью, различными её сферами. Если программа работает неправильно, проблемы могут быть очень серьёзными. Недополученная прибыль или потеря деловой репутации — наименьшее зло по сравнению с возможным ущербом здоровью людей или даже смерти. Именно поэтому тестирование программных решений должно быть обязательным на каждом этапе разработки и для каждого устройства, на котором оно будет установлено.
Тестирование ПО предполагает разнообразные активности, объединенные одной целью — проверить и оценить качество продукта и минимизировать риск сбоев в его работе.
Процесс тестирования предполагает:
- Анализ (выяснение требований к продукту с точки зрения функционала, поддерживаемых операционных систем, устройств, и т.д.)
Анализ является, по сути, начальным этапом разработки, на котором устанавливаются основные критерии. QA специалисты привлекаются на данном этапе, чтобы выявить возможные ошибки и проверить требования к ПО до начала его разработки. Результатом работы является детальная спецификация и макет продукта.
- Планирование
На данном этапе происходит планирование всех активностей по проверке качества продукта и его тестированию. Определяется среда тестирования (устройства, версии операционных систем и т.п.), типы и критерии для начала и завершения тестов.
- Установка среды
QA инженер готовит среду для тестирования продукта, проверяет, чтобы оно проходило на соответствующих спецификации устройствах, операционных системах, их версиях и все необходимые инструменты и приложения были готовы для выполнения тестирования.
Stfalcon тестирует продукты на устройствах наиболее популярных среди целевой аудитории разрабатываемого программного решения. Устройства отбираются по ряду параметров: производитель, тип, ОС, и тд.
- Разработка и осуществление тестирования
Чтобы убедиться, что продукт работает, так как было задумано на основном пути пользователя, составляется чек лист, для более сложных операций разрабатываются тестовые сценарии. В итоге производится ручное тестирование с целью убедиться, что функционал работает, как положено.
- Фиксация результатов тестирования.
Как только обнаружен сбой в работе продукта, ошибка регистрируется в системе, чтобы разработчики знали о ней.
- Анализ результатов и предложения по улучшению продукта
Как только получены результаты тестирования, они анализируются, чтобы найти наилучшее решение по исправлению ошибок и оптимизации продукта в целом.
Обычно в процессе тестирования в Stfalcon берутся в расчет следующие аспекты:
- Первичная организация продукта.
- Определение критериев приемки продукта.
- Определение системных требований.
- Определение компонентов или функциональных зон.
- Планирование действий по тестированию продукта.
- Базовое тестирование.
- Тестирование на соответствие требованиям.
- Функциональное тестирование .
- Не функциональное тестирование, такое как кросс-браузерная проверка (для WEB-продуктов или тестирование надежности продукта.
- Приемочное тестирование API.Создание для каждого эндпоинта одного скрипта, который проверяет выполнение эндпоинтом базовой операции.
- Исследовательское тестирование.
- Экспериментальное тестирование;
- Adhoc тестирование;
- Подтверждающее тестирование.
- Тестирование в связи с изменениями в программном обеспечении, которое включает в себя:
- Тест на «дым» и работоспособность;
- Регрессионное тестирование.
- Управление дефектами. Регистрация их в трекинговой системе и проверка, что они устранены.
Обеспечения качества на уровне пользовательской приемки. Включает в себя следующие активности:
Включает в себя следующие активности:
Важно помнить, что тестирование также предполагает проверку продукта на соответствие требованиям и ожиданиям заказчика и пользователей.
Каждая стадия тестирования состоит из множества задач и деталей, обычно они последовательны и проверка производится итерационно.
Stfalcon в основном использует гибкий подход к разработке. Продукт создается поэтапно, так же и тестирование осуществляется итерационно и последовательно. С учетом этого, планирование проекта должно предусматривать не менее 30 % времени на тестирование. Это позволит получить высокоэффективный качественный продукт.
В Stfalcon тестирование осуществляется вручную, мы применяем его для всех продуктов, которые разрабатываем.
Компания обеспечивает:
- Тестирование веб сервисов;
- Тестирование мобильных приложений;
- Бекенд тестирование.
Мы проверяем наше ПО по 7 основным критериям:
Функциональное тестирование проводится с целью убедиться, что каждая функция программного обеспечения работает в соответствии с функциональными требованиями продукта.
Проверка надежности — это тип проверки, позволяющий удостовериться, что программное обеспечение безошибочно и может работать без сбоев в течение определенного периода времени в конкретной среде.
Тестирование стабильности направлено на то, чтобы убедиться, что разработанное решение может бесперебойно функционировать в течение или сверх установленного срока.
Тестирование эффективности проверяет количество ресурсов, необходимых продукту для выполнения определенной функции.
Юзабилити тестирование ориентировано на проверку простоты использования приложения пользователями, гибкости в его работе и управлении, а также способности системы выполнять задачи, поставленные для продукта.
Тестирование на совместимость — это нефункциональное тестирование, выполняемое для того, чтобы убедиться, что решение может работать в различных средах: на разном аппаратном обеспечении, в разных браузерах, базах данных, операционных системах, устройствах и сетях.
Проверка работоспособности проводится для проверки способности системы обновляться и модифицировать продукт в случае необходимости.
Заключение
В процессе разработки, тестирование должно быть его обязательной и неотъемлемой частью, так как качество продукта обуславливает его удобство в эксплуатации, популярность и прибыльность, если это решение для бизнеса.
В своей компании мы настаиваем на том, чтобы 30% времени отведенного на проект уделялось тестированию производимого продукта, только так Stfalcon может гарантировать клиентам высокое качество производимого ПО.