Тестирование программного обеспечения

11.02.2015 / 20:38

Процесс тестирования программного обеспечения – это ряд испытаний или исследований программного обеспечения с целью определения соответствует ли программа данным параметрам и нормам, а также выявить и исследовать как будет вести себя программное обеспечение в критических ситуациях. Другими словами – это проверка качества программного обеспечения.

Виды тестирования

Существует много видов тестирования программного обеспечения, но среди них принято выделять основные. Это функциональные, нефункциональные и тестирования после изменений и исправлений.
Функциональные виды - это тестирования основных функций программного обеспечения с целью проверки соответствия его определенным требованиям. То есть, это проверка как реализуются те или иные функции программы в конкретных условиях и как программное обеспечение выполнит свои основные задачи в этих условиях. К функциональным видам относятся такие тесты:
- функциональное тестирование;
- тест безопасности (одно из самых важных тестирований);
- тесты на взаимодействие – это фактически проверка совместимости и взаимодействия с другими программными модулями и системами.
Нефункциональные виды тестов – это грубо говоря, тестирования самой работы системы, так сюда включают такие подвиды тестов, как:
- в условиях нагрузки или нагрузочное тестирование – это фактически определение показателей программного обеспечения при разных видах нагрузок;
- стресс-тест – подобно предыдущему виду, только здесь исследуют работу программы в условиях пиковых нагрузок (например, специально создают разные непредвиденные ситуации и наблюдают как программа справится с поставленными задачами);
- тест стабильности работы программного продукта.
Тесты после изменений – это уже тесты, которым поддают программное обеспечение после выявление в нем определенных багов, дыр, уязвимостей и их исправления. То есть, здесь уже идет как бы повторный процесс тестов, но только после исправления и доработки программного продукта. Сюда относятся такие виды тестирования.
- Дымовое тестирование – этот термин закрепился еще когда тестировали аппаратное обеспечение и считалось, что если из оборудования не пошел дым, при добавлении в систему нового железа, то тест пройден успешно. В сфере программного обеспечения данный тест считается пройденным успешно, если программа удачно выполняет свои основные задачи после внесения в нее изменений, доработки программного кода и устранения уязвимостей.


- Регрессивное тестирование
- Тестирование сборки
- Санитарное тестирование

Уровни тестирования

Понятие уровни тестирования подразумевает проведения тестов в QA компании Getbug.ru на протяжении всего времени эксплуатации и работы программы, начиная от ее разработки, до выхода релиз версии. Так это может быть тестирование перед выходом основной версии либо бета тестирование, то есть тесты пробной версии программы и т.п.Различают такие уровни тестов.
- Тестирование отдельных компонентов и модулей (модульное тестирование) –  когда нагрузке  подвергается определенный модуль либо отдельный компонент программы.
- Интеграционное – это тесты на взаимодействия между разными модулями и отдельными компонентами системы.
 - Системное – это одно из основных тестирований, так как проверяет в целом систему в условиях максимально подобных тем, в которых планируется использовать в дальнейшем данную программу. Именно на этом этапе чаще всего можно выявить то или иной баг либо уязвимость и исправить его. Оно разделяется на альфа и бета тестирование.
Альфа тестирование это тесты в процессе эксплуатации уже готовой версии программы. Здесь уже создаются условия реальной работы с программным продуктом рядового пользователя. Бета-тесты – это процесс тестирование программного обеспечения при выходе предварительной версии программы. Так можно часто встретиться с таким явлением, когда известные разработчики программ выпускают сначала бета-версии своих продуктов и пользователи также имеют возможность скачать эту версию программы и попробовать поработать с ней.