функциональное интеграционное тестирование - PullRequest
0 голосов
/ 08 сентября 2010

Тестирование программного обеспечения проводится в следующем порядке?

  1. Модульное тестирование
  2. Интеграционное тестирование
  3. Функциональное тестирование

Я хочуподтвердить, выполнено ли функциональное тестирование после интеграционного тестирования.

Thanx

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

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

1 голос
/ 08 сентября 2010

В среде кодирования TDD порядок выполнения этих тестов обычно соответствует вашему порядку;однако они часто пишутся в обратном порядке.

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

Как только тест написан, команда обычно может увидеть, что требуется для его прохождения на высоком уровне, иразбить развитие по этим направлениям.По пути написаны интеграционные тесты (которые проверяют взаимодействие объектов друг с другом) и модульные тесты (которые проверяют небольшие, элементарные функциональные возможности в почти полной изоляции от другого кода).Используя инструменты рефакторинга, такие как ReSharper, код этих тестов можно использовать для создания объектов и даже логики тестируемой функциональности.Если вы проверяете, что выход A + B равен C, то утверждайте, что A + B == C, затем извлекайте метод из этой логики в тестовом приспособлении, а затем извлекайте класс, содержащий этот метод.Теперь у вас есть объект с методом, который вы можете вызвать и который дает правильный ответ.

Кроме того, вы также проверили требования: если требования утверждают, что ответ, заданный A и B, должен быть логическим эквивалентом 1 + 2 == 5, то требования имеют несоответствие, указывающеенеобходимость дальнейшего уточнения (то есть кто-то забыл упомянуть, что D = 2 должен быть добавлен к B до A + B == C) или техническая невозможность (т. е. расчет требует 25 часов в день или 9 бит вбайт).Может оказаться невозможным (и это обычно считается невозможным в Agile-методологиях) без всяких сомнений гарантировать, что вы удалили все эти несоответствия из требований до начала какой-либо разработки.

...