Функциональное тестирование — это один из классических и основных видов тестирования, который включает в себя:
- регрессионное тестирование,
- приемочное тестирование,
- интеграционное тестирование,
- смоук (поверхностное) тестирование,
- тестирование документации,
Функциональное тестирование выполняется в следующей последовательности:
- Анализ требований и подготовка тестовой документации,
- Проведение функционального тестирования,
- Разработка итогового отчета по проведенному тестированию.
Регрессионное тестирование
Иногда проведенные доработки и исправления ошибок могут затронуть работающую функциональность систем. Для того, чтобы этого избежать проводиться регрессионное тестирование. Ключевые преимущества:
- контроль качества работы ИТ решения после проведения доработок,
- обеспечение стабильности работы ПО с ростом функциональности,
В некоторых случаях для проекта экономически выгодно часть регрессионного тестирования автоматизировать.
Приемочные испытания
Каждый проект по разработке или интеграции программного обеспечения заканчивается приемочными испытаниями. Наш опыт работы со многими организациями показывает, что, к сожалению, очень часто приемочные испытания заказчики стараются проводить самостоятельно. Хуже если приемочные испытания проходят в виде презентации разработчиками работы системы, лучше когда организация хотя бы проводит опытную эксплуатацию системы.
Но как показывает практика оба способа не гарантируют то, что программное обеспечение разработано (внедрено) верно и что система работает правильно во всех процессах. Особенно печально (и с точки зрения репутации, и с точки зрения финансовых затрат) если критичные для заказчика проблемы всплывают после окончания гарантийного периода.
Чтобы уберечь заказчиков от такой проблемы наша компания оказывает услуги по приемочному тестированию программного обеспечения. Мы как компания эксперт в области тестирования ПО накопили знания и опыт проведения приемочных испытаний. Наше участие как независимой команды тестирования, позволяет уберечь организации от внедрения систем с ошибками и проблемами.
Интеграционное тестирование
Проверка процесса взаимодействия между компонентами внутри системы или между внешними решениями называется интеграционным тестированием. Данные работы, как правило проводятся на реальных системах, если это не возможно, то тестирование проводиться с эмулятором стороннего решения .
Преимущества проведения интеграционного тестирования:
- контроль процессов взаимодействия системы со сторонними решениями,
- контроль работы сторонних компонентов решения,
- проверка работы архитектуры комплексного программного обеспечения.
Интеграционное тестирование может быть автоматизировано. Автоматизация интеграционного тестирования комплексный процесс требующий анализа основной системы, систем-компаньонов и интеграционных сервисов.
Smoke тестирование
Smoke тестирование — оперативная проверка основных функции системы. Наша статистика показывает, что 30% разработанного программного обеспечения не проходит приемочные испытания из-за наличия ошибок в базовых компонентах. Поэтому для экономии затрат на тестировании и оперативности проверки работы необходимо проводить smoke тестирование.
По своей сути smoke тест – это функциональное тестирование, ограниченное временем и количеством тестовых сценариев. Когда это возможно тест-кейсы smoke тестирования мы рекомендуем автоматизировать.
Тестирование документации
К сожалению, большинство заказчиков экономит время и средства на подготовку документации, что в последствии сказывается на качестве разрабатываемого программного обеспечения.
Тестирование документации – это процесс проверки описанной документации, выполняется совместно представителями команды аналитиков, разработчиков и тестирования. В ходе данного вида тестирования выполняются проверки документов на:
- полноту и избыточность – весь-ли функционал системы был описан, достаточно детализации постановок для выполнения задач разработки и последующего тестирования,
- однозначность и непротиворечивость – имеются в документации требования противоречащие друг другу, однозначно-ли могут трактоваться требования описанные в постановках,
- трассируемость – возможность построения связей другой проектной и тестовой документации с новыми постановками.
Основной эффект:
- обеспечения качества программного обеспечения за счет качества документации,
- снизить стоимость разработки программного обеспечения за счет детализации и снижения рисковой составляющей проекта,
- повысить вероятность финансового успеха проекта благодаря выявления ошибок на самом раннем этапе проектирования системы.
Обеспечение тестового покрытия — еще один подвид тестирования документации, направленный на то, чтобы проверить степень детальности разработанных тест-кейсов.