Материал: Лекция 5. Автоматизация тестирования

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Автоматизация тестирования

Типы тестирования по способу выбора входных данных:

1)Функциональное тестирование, при котором проверяется:

-покрытие функциональных требований.

-покрытие сценариев использования.

2)стрессовое тестирование, при котором проверяются экстремальные режимы использования продукта.

3)Тестирование граничных значений.

4)Тестирование производительности.

5)Тестирование на соответствие стандартам.

6)Тестирование совместимости с другими программно-аппаратными комплексами.

7)Тестирование работы с окружением.

8)Тестирование работы на конкретной платформе

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

_

Автоматизация тестирования

Подходы к разработке тестов

-подходы, основанные на выборе тестовых данных (тестирование спецификаций, тестирование сценариев)

-и подходы, основанные на реализации тестового кода (ручная разработка тестов,

генерация тестов)

Тестирование спецификации

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

Тестирование сценариев

осуществляется следующим образом:

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

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

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

Автоматизация тестирования

Ручная разработка тестов

Наиболее распространенным способом разработки тестов является создание тестового кода вручную. Это наиболее гибкий способ разработки тестов, однако характерная для него производительность труда инженеров-тестировщиков в создании тестового кода не намного выше скорости создания кода продукта, а объемы тестового кода на практике зачастую превышают объем кода продукта в 5 и более раз.

Генерация тестов

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

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

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

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

Автоматизация тестирования

Выполнение тестов:

-подход ручного тестирования

-подход автоматического исполнения (прогон) тестов.

Ручное тестирование

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

Пример фрагмента процедуры ручного тестирования:

1)Подать на вход три разных целых числа.

2)Запустить тестовое исполнение.

3)Проверить, соответствует ли полученный результат таблице [ссылка на документ1] с учетом поправок [ссылка на документ2].

4)Убедиться в понятности и корректности выдаваемой сопроводительной информации.

Автоматизация тестирования

Автоматизированное тестирование

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

Пример фрагмента скрипта автоматизированного тестирования:

1)Выдать на консоль имя или номер теста и время его начала.

2)Вызвать продукт с фиксированными параметрами.

3)Перенаправить вывод продукта в файл.

4)Проверить равенство возвращенного продуктом значения ожидаемому (эталонному) результату, зафиксированному в тесте.

5)Проверить вывод продукта, сохраненный в файле (п.3), на равенство заранее приготовленному эталону.

6)Выдать на консоль результаты теста в виде вердикта PASS/FAIL и в случае FAIL - краткого пояснения, какая именно проверка не прошла.

7)Выдать на консоль время окончания теста.

Источник: https://studfile.net/preview/16543182/