Разница между приемочным испытанием и функциональным испытанием? - PullRequest
134 голосов
/ 30 июля 2010

В чем реальная разница между приемочными и функциональными испытаниями?

Каковы основные или цели каждого? Везде, где я читаю, они неоднозначно похожи.

Ответы [ 11 ]

163 голосов
/ 30 июля 2010

В моем мире мы используем следующие термины:

функциональное тестирование : это проверка деятельность;мы создали правильно работающий продукт?Соответствует ли программное обеспечение бизнес-требованиям?

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

приемочное тестирование : это проверка активность;мы построили правильную вещь?Это то, что действительно нужно клиенту?

Обычно это делается в сотрудничестве с клиентом или внутренним доверенным лицом клиента (владельцем продукта).Для этого типа тестирования мы используем тестовые случаи, которые охватывают типичные сценарии, при которых мы ожидаем, что программное обеспечение будет использоваться.Этот тест должен проводиться в «производственной» среде, на оборудовании, которое совпадает или близко к тому, что будет использовать клиент.Вот когда мы проверяем наши «способности»:

  • Надежность, доступность : проверено с помощью стресс-теста.

  • Масштабируемость : Подтверждено с помощью нагрузочного теста.

  • Удобство использования : Подтверждено путем проверки и демонстрации клиенту.Настроен ли пользовательский интерфейс по своему вкусу?Разместили ли мы брендинг клиента во всех нужных местах?Есть ли у нас все поля / экраны, которые они запрашивали?

  • Безопасность (иначе, безопасность, просто для встраивания) : Утверждено с помощьюдемонстрация.Иногда клиент нанимает стороннюю фирму для проведения аудита безопасности и / или тестирования на проникновение.

  • Ремонтопригодность : подтверждено демонстрацией того, как мы будем предоставлять обновления программного обеспечения /патчи.

  • Конфигурируемость : подтверждено демонстрацией того, как клиент может модифицировать систему в соответствии со своими потребностями.

Это ни в коем случае не стандарт, и я не думаю, что есть «стандартное» определение, как показывают противоречивые ответы здесь.Самым важным для вашей организации является то, что вы точно определяете эти термины и придерживаетесь их.

62 голосов
/ 12 июня 2014

Мне нравится ответ Патрика Каффа.Что я хотел бы добавить, так это различие между тестовым уровнем и типом теста , который был для меня откровением.

тестовые уровни

Тестовый уровень легко объяснить, используя V-модель , пример: enter image description here Каждый тестовый уровень имеет соответствующий уровень разработки .У него типичная временная характеристика, они выполняются на определенном этапе жизненного цикла разработки.

  1. тестирование компонентов / модулей => проверка детального проектирования
  2. тестирование интеграции компонентов / модулей => проверка глобального проекта
  3. системное тестирование => проверка системных требований
  4. системная проверка => проверка системных требований
  5. приемочное тестирование => проверка пользовательских требований

типы тестов

A тип теста - это характеристика, ориентированная на конкретную цель теста. Типы испытаний подчеркивают ваши аспекты качества, также известные как технические или нефункциональные аспекты. Типы тестов могут выполняться на любом уровне тестирования .Мне нравится использовать в качестве типы испытаний характеристики качества, указанные в ИСО / МЭК 25010: 2011.

  1. функциональные испытания
  2. испытания надежности
  3. тестирование производительности
  4. тестирование работоспособности
  5. тестирование безопасности
  6. тестирование совместимости
  7. тестирование работоспособности
  8. тестирование переносимости

Чтобы сделать это завершено.Есть также то, что называется регрессионное тестирование .Это дополнительная классификация рядом с тестовым уровнем и типом теста . регрессионный тест - это тест, который вы хотите повторить, поскольку он затрагивает что-то критическое в вашем продукте.Фактически это подмножество тестов, которые вы определили для каждого уровня теста .Если в вашем продукте исправлена ​​небольшая ошибка, не всегда есть время повторить все тесты. Регрессионное тестирование является ответом на это.

22 голосов
/ 21 ноября 2011

Разница между тестированием проблемы и решением. Программное обеспечение является решением проблемы, оба могут быть проверены.

Функциональный тест подтверждает, что программное обеспечение выполняет функцию в пределах того, как вы решили проблему. Это неотъемлемая часть разработки программного обеспечения, сравнимая с тестированием, которое проводится на серийном продукте перед его отправкой с завода. Функциональный тест проверяет, что продукт действительно работает так, как вы (разработчик) думаете, что он делает.

Приемочные испытания подтверждают, что продукт фактически решает проблему, для решения которой он был создан. Лучше всего это может сделать пользователь (заказчик), например, при выполнении своих задач, с которыми помогает программное обеспечение. Если программное обеспечение проходит это испытание в реальном мире, оно заменяет предыдущее решение. Этот приемочный тест может иногда проводиться надлежащим образом только на производстве, особенно если у вас есть анонимные клиенты (например, веб-сайт). Таким образом, новая функция будет принята только после нескольких дней или недель использования.

Функциональное тестирование - протестируйте продукт, убедившись, что он обладает качествами, которые вы спроектировали или создали (функции, скорость, ошибки, согласованность и т.

Приемочное тестирование - протестируйте продукт в его контексте, для этого необходимо (имитировать) взаимодействие с человеком, проверить, оказывает ли он желаемое влияние на исходные задачи.

9 голосов
/ 30 июля 2010

Ответ - мнение. Я работал во многих проектах и ​​был тест-менеджером и менеджером проблем, и все разные роли и описания в разных книгах различаются, поэтому вот мой вариант:

функциональное тестирование: принять бизнес-требования и протестировать все это хорошо и тщательно с функциональной точки зрения.

приемочные испытания: «платящий» клиент проводит тестирование, которое ему нравится, чтобы он мог принять доставленный продукт. Это зависит от клиента, но обычно тесты не такие тщательные, как функциональное тестирование, особенно если это внутренний проект, потому что заинтересованные стороны проверяют и доверяют результатам теста, проведенного на более ранних этапах тестирования.

Как я уже сказал, это моя точка зрения и опыт. Функциональное тестирование является систематическим, и приемочное тестирование - это, скорее, бизнес-департамент, проводящий тестирование.

8 голосов
/ 30 ноября 2010
  1. Аудитория. Функциональное тестирование должно гарантировать членам команды, производящей программное обеспечение, то, что оно делает, что они ожидают. Приемочное тестирование должно гарантировать потребителю, что оно отвечает его потребностям.

  2. Scope. Функциональное тестирование одновременно проверяет функциональность только одного компонента. Приемочное тестирование охватывает любой аспект продукта, который достаточно важен для потребителя, чтобы протестировать его перед принятием программного обеспечения (т. Е. Все, что стоит времени или денег, которые потребуются для его тестирования, чтобы определить его приемлемость).

Программное обеспечение может проходить функциональное тестирование, интеграционное тестирование и системное тестирование; только провал приемочных испытаний, когда клиент обнаруживает, что функции просто не отвечают их потребностям. Обычно это подразумевает, что кто-то облажался со спецификацией. Программное обеспечение также может не пройти некоторые функциональные тесты, но пройти приемочное тестирование, потому что заказчик готов иметь дело с некоторыми функциональными ошибками, если программное обеспечение выполняет приемлемые для него основные задачи (бета-версия программного обеспечения часто будет приниматься подмножеством пользователей до него). полностью функционален).

2 голосов
/ 26 октября 2010

Функциональное тестирование: Применение тестовых данных, полученных из указанных функциональных требований, без учета окончательной структуры программы.Также известный как «черный ящик».

Приемочное тестирование: Формальное тестирование, проводимое для определения того, удовлетворяет ли система критериям приемлемости - позволяет конечному пользователю определить, принимать или не приниматьсистема.

1 голос
/ 30 июля 2010

Приемочные испытания :

... - это тестирование в «черном ящике» системы (например, программного обеспечения, большого количества изготовленных механических деталей или партий химических продуктов) до ее доставки.

Хотя это говорит:

Он также известен как функциональное тестирование, тестирование черного ящика, принятие релиза, тестирование качества, тестирование приложений, тестирование на достоверность, финальное тестирование, валидационное тестирование или заводское приемочное тестирование

с пометкой "требуется цитирование".

Функциональное тестирование (которое фактически перенаправляет на тестирование системы):

проведено в полной интегрированной системе для оценки соответствия системы ее указанным требованиям. Системное тестирование входит в сферу тестирования черного ящика, и поэтому не должно требовать знаний о внутреннем дизайне кода или логики.

Так что из этого определения они в значительной степени одно и то же.

В моем опыте приемочные тесты обычно являются подмножеством функциональных тестов и используются заказчиком в формальном процессе, в то время как функциональные / системные тесты будут проводиться разработчиком / отделом контроля качества.

1 голос
/ 30 июля 2010

На мой взгляд, основное различие заключается в том, кто говорит, если тесты пройдены успешно или неудачно.

Функциональное тестирование тестов на соответствие системы заранее установленным требованиям. Оно выполняется и проверяется людьми, ответственными за разработку системы.

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

0 голосов
/ 20 августа 2016

Приемочное тестирование - это просто тестирование, выполняемое клиентом, включает другие виды тестирования:

  • Функциональное тестирование: «эта кнопка не работает»
  • Нефункциональное тестирование: «эта страница работает, но работает слишком медленно»

Для функционального тестирования по сравнению сфункциональное тестирование (их подтипы) - см. мой ответ на этот ТАК вопрос .

0 голосов
/ 03 июня 2015

Соотношение между ними: приемочное испытание обычно включает функциональное тестирование, но может включать дополнительные тесты.Например, проверка требований к маркировке / документации.

Функциональное тестирование - это когда тестируемый продукт помещается в тестовую среду, которая может вызывать различные виды стимуляции (в рамках теста), чтоцелевая среда обычно производит или даже выходит за пределы, при изучении реакции тестируемого устройства.

Для физического продукта (не программного обеспечения) существует два основных вида Приемочные тесты : проектные тестыи производственные испытания.При проектных испытаниях обычно используется большое количество образцов продукции, которые прошли производственные испытания.Различные потребители могут тестировать конструкцию различными способами.

Приемочные испытания называются проверкой, когда дизайн проверяется на соответствие спецификации продукта, а приемочные испытания называются проверкой, когда продукт помещается в реальную среду потребителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...