Экспертиза ФОРС и партнеров
#Эксперты говорят
Тестирование ПО. Часть 1
Алена Белякова, руководитель отдела тестирования компании Форс
Такое разное тестирование
В зависимости от задач, которые должно решить тестирование программного обеспечения, используются разнообразные его виды.
Можно выделить несколько признаков, по которым принято производить классификацию и условно разделять его на следующие группы:
1. Функциональное тестирование
Является одним из ключевых видов тестирования. Направлено на проверку соответствия программного обеспечения требованиям, описанным в спецификациях. Основной его задачей считается подтверждение того, что разрабатываемый продукт обладает всем функционалом, который был заявлен заказчиком. При проведении тестирования специалисты создают и используют артефакты тестирования — тест-кейсы, т.е. документацию, описывающую последовательность действий и ожидаемых результатов. Для подготовки тест-кейсов применяются техники тест-дизайна, например, классы эквивалентности, граничные значения, попарное тестирование.
2. Нефункциональное тестирование
Основывается на тестах, необходимых для определения характеристик программного обеспечения, которые могут быть измерены различными величинами. Оно не проверяет систему на выполнение функциональных требований, а позволяет контролировать другие характеристики, относящиеся к качеству программного обеспечения в целом, например, безопасность, производительность, надежность.
3. Регрессионное тестирование
Это повторное тестирование после внесения изменений в программное обеспечение или в его окружение (в новой версии приложения), чтобы убедиться в том, что функции, которые работали в предыдущей версии системы, по-прежнему работают так, как ожидалось, а найденные дефекты успешно исправлены.
На сегодняшний день невозможно выделить какой-то конкретный вид тестирования, которое гарантирует высокое качество программного продукта. Для достижения максимального результата чаще используются комбинированные виды тестирования.
Мы в компании ФОРС чаще всего применяем функциональное, регрессионное, интеграционное и инсталляционное тестирование. Эти виды тестирования позволяют решить задачи, необходимые заказчику, обеспечить требуемый уровень качества разрабатываемого продукта, а также подготовиться к проведению приемо-сдаточных испытаний. Наряду с мануальным тестированием в компании применяется автоматизированное тестирование, что позволяет сократить время на проведение регрессионных тестов относительного стабильного функционала. В рамках выполнения государственных контрактов регулярно встречаются задачи по проведению нагрузочного тестирования для подтверждения соответствия разрабатываемых систем целевым показателям.