Функциональное тестирование - это процесс обеспечения качества (QA) [1] и тип тестирования методом « черного ящика», в котором тестовые примеры основываются на спецификациях тестируемого компонента программного обеспечения. Функции тестируются путем подачи им входных данных и изучения выходных данных, а внутренняя структура программы редко рассматривается (в отличие от тестирования методом белого ящика ). [2] Функциональное тестирование проводится для оценки соответствия системы или компонента заданным функциональным требованиям . [3] Функциональное тестирование обычно описывает, что делает система.
Поскольку функциональное тестирование является разновидностью тестирования методом черного ящика, функциональность программного обеспечения можно тестировать, не зная, как оно работает внутри. Это означает, что тестировщикам не нужно знать языки программирования или то, как было реализовано программное обеспечение. Это, в свою очередь, может привести к снижению предвзятости разработчика (или предвзятости подтверждения ) при тестировании, поскольку тестировщик не участвовал в разработке программного обеспечения. [4]
Функциональное тестирование не означает, что вы тестируете функцию (метод) своего модуля или класса. Функциональное тестирование проверяет часть функциональности всей системы.
Функциональное тестирование отличается от тестирования системы тем, что функциональное тестирование " проверяет программу, сравнивая ее с ... проектным документом (ами) или спецификацией (ями)", в то время как системное тестирование " проверяет программу, сравнивая ее с опубликованным пользователем или системные требования ". [5]
Типы
Функциональное тестирование бывает многих видов: [2]
Шесть шагов
Функциональное тестирование обычно состоит из шести шагов [ необходима ссылка ]
- Идентификация функций, которые программное обеспечение должно выполнять
- Создание входных данных на основе спецификации функции
- Определение вывода на основе спецификаций функции
- Выполнение тестового примера
- Сравнение фактических и ожидаемых результатов
- Проверить, работает ли приложение в соответствии с потребностями клиента.
Смотрите также
- Нефункциональное тестирование - тестирование компьютерного программного обеспечения на то, как оно работает, а не на конкретное поведение или функции.
- Приемочное испытание - испытание для определения соответствия требованиям спецификации или контракта.
- Регрессионное тестирование - проверка того, не нарушили ли изменения программного обеспечения функциональность, которая раньше работала.
- Системное тестирование - Тестирование проводится на полной интегрированной программной системе.
- Тестирование программного обеспечения - проверка того, насколько эффективно и надежно программное обеспечение выполняет свои функции.
- Интеграционное тестирование - этап тестирования программного обеспечения, на котором отдельные программные модули объединяются и тестируются как группа.
- Модульное тестирование - метод тестирования программного обеспечения, с помощью которого проверяются отдельные единицы исходного кода.
- Тестирование баз данных - тестирование программных систем баз данных.
- Тестирование безопасности - процесс обнаружения недостатков в безопасности информационных систем.
- Нагрузочное тестирование - процесс предъявления требований к программной системе и измерения ее отклика.
- Автоматизация тестирования - использование специального программного обеспечения (отдельного от тестируемого) для управления выполнением тестов и сравнения фактических результатов с прогнозируемыми.
Рекомендации
- ^ Прасад, доктор KVKK (2008) ISTQB сертификации Учебное пособие , М., ISBN 978-81-7722-711-6 , стр. vi
- ^ а б Канер, Фальк, Нгуен. Тестирование компьютерного программного обеспечения . Wiley Computer Publishing, 1999, стр. 42. ISBN 0-471-35846-0 .
- ^ Международный стандарт ISO / IEC / IEEE - Системная и программная инженерия . ISO / IEC / IEEE 24765: 2010 (E). 2010. С. Т., №, С. 1–418, 15 декабря 2010 г.
- ^ Каликлы, Гюль; А. Узундаг, Берна; Бенер, Эйсе (19 сентября 2010 г.). «Подтверждение предвзятости в разработке и тестировании программного обеспечения: анализ влияния размера компании, опыта и навыков рассуждений» - через ResearchGate.
- ^ Kaner, Фальк, Nguyen 1999, стр. 52