В чем разница и преимущество тестирования на основе сценариев использования и тестирования системы

Чем тестирование на основе прецедентов отличается от тестирования системы?

Можем ли мы рассматривать тестирование системы как подмножество тестирования на основе прецедентов, то есть тестирование системы рассматривает только вариант использования компонентов или подсистемы в системе.

2 ответа

Я думаю, что вы смешиваете два термина. Системное тестирование - это фаза тестирования, в то время как Use Case Testing - это метод проектирования тестовых случаев, основанных на сценариях использования, которые можно использовать на многих уровнях тестирования. Например:

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

2) Когда вы проводите Системные тесты как их часть, вы можете выполнить Use Case Testing - чтобы подтвердить, что поведение, указанное в Use Case, работает как надо. Но, как отметил Роберт Харви, системное тестирование должно проверять соответствие требованиям, чтобы оно было как положительным, так и отрицательным. Поэтому системное тестирование не только охватывает ожидаемое поведение, описанное в сценариях использования, но также пытается "сломать" систему с точки зрения конкретных требований.

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

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

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

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

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

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

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

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

Другие вопросы по тегам