Что такое функциональное тестирование? - PullRequest
8 голосов
/ 28 апреля 2009

Что такое функциональное тестирование? Чем это отличается от модульного тестирования и интеграционного тестирования?

Ответы [ 8 ]

15 голосов
/ 28 апреля 2009

Другой способ мышления таков:

Модульный тест:
Протестируйте ваш код как единицы, вызывая методы и проверяя возвращаемые значения и состояния / значения свойств объекта

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

Интегральное тестирование? Вы имеете в виду интеграционное тестирование?

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

5 голосов
/ 28 апреля 2009

Функциональное тестирование позволяет убедиться, что требования заказчика реализованы в конечном продукте, как указано в спецификации. Модульное тестирование заключается в проверке того, что небольшие части кода ведут себя так, как задумано. Интеграционное тестирование гарантирует, что система стабильна, когда вы объединяете все различные части / модули вместе.

Например, BigBank Corporation хочет программное обеспечение, которое генерирует банковские выписки клиентов и ежемесячно вводит 3 случайные комиссии для каждого клиента.

После нескольких обсуждений с представителями BigBank Менеджер программ пишет функциональную спецификацию программного обеспечения.

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

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

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

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

2 голосов
/ 19 декабря 2012

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

Источник: http://softwareqatestings.com/introduction-to-software-testing/basic-steps-of-functional-testing.html

1 голос
/ 28 июля 2009

Функциональное тестирование в наши дни широко известно как сквозное тестирование или тестирование системы, если вы посмотрите на V-модель.

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

1 голос
/ 29 апреля 2009

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

Функциональное тестирование: Протестируйте набор функций / методов, работающих вместе. В идеале, это также не должно распространяться на диск или сеть, но часто будет.

Интеграционное тестирование: Тестирование, которое выполняется в реальном мире, посещение реальных (хотя и тестовых) баз данных, запись на диск и т. Д. Вы проверяете, правильно ли ваша программа работает с другими службами, правильно ли она интегрируется с ними. У вас часто будет отдельная программа (например, Selenium), которая выполняет тесты, как настоящий пользователь.

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

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

1 голос
/ 28 апреля 2009
  • Модульное тестирование находится в пределах одного уровня приложения бизнес логика, доступ к данным и т. д.).

  • Функциональное тестирование проходит через несколько уровней приложений, так что тесты охватывают части завершены функциональность приложения.

  • Интеграционное тестирование будет тестами для нескольких приложений компоненты или даже приложения.

0 голосов
/ 03 сентября 2015

Сначала мы должны понять, что такое «функция» в отношении программного обеспечения?

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

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

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

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

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

Пожалуйста, пройдите по ссылкам, чтобы лучше это понять

http://www.guru99.com/unit-testing-guide.html

http://www.guru99.com/functional-testing.html

0 голосов
/ 28 июля 2009

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

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

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

...