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


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

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

11 124

11 ответов:

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

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

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

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

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

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

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

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

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

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

  • настраиваемость: проверено с помощью демонстрации того, как клиент может изменить систему в соответствии с их потребностями.

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

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

испытательные уровни

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

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

типы тестов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

хотя это продолжает говорить:

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

с отметкой" цитата необходима".

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

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

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

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

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

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

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

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

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

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

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

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

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

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