Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

  • Масштабируемость. Проверяется с помощью теста нагрузки.

  • Юзабилити. Проверено с помощью инспекции и демонстрации для клиента. Является ли пользовательский интерфейс настроенным по своему вкусу? Разве мы положили брендинг клиента во все нужные места? У нас есть все поля/экраны, которые они просили?

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

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

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

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

Ответ 2

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

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

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

  • тестирование компонентов/модулей = > проверка подробного дизайна
  • тестирование интеграции компонентов/блоков = > проверка глобального дизайна
  • тестирование системы = > проверка системных требований
  • тестирование системной интеграции = > проверка системных требований
  • Приемочное тестирование = > проверка требований пользователя

типы тестов

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

  • функциональное тестирование
  • проверка надежности
  • тестирование производительности
  • тестирование работоспособности
  • тестирование безопасности
  • тестирование совместимости
  • проверочное тестирование
  • тестирование переносимости

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

Ответ 3

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

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

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

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

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

Ответ 4

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

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

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

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

Ответ 5

  • Аудитория

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

  • Область

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

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

Ответ 6

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

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

Ответ 7

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

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

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

Ответ 8

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

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

Хотя это продолжается, говоря:

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

с меткой "цитата".

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

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

Таким образом, из этого определения они почти то же самое.

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

Ответ 9

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

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

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

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

Ответ 10

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

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

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

Ответ 11

Это одно и то же.

Приемочное тестирование выполняется в завершенной системе как можно более идентичной для реальной среды производства/развертывания до развертывания или доставки системы.

Вы можете выполнить приемочное тестирование автоматическим способом или вручную.