Рекомендация: Методики тестирования по рискам для качества/ типам тестов
Эти рекомендации являются подробным представлением всех ключевых областей тестирования и связанных с ними целей, методик, оракулов, инструментов и критериев успеха.
Взаимосвязи
Основное описание

    Тестирование целостности данных баз данных

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

Цели методики:

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

Методика:

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

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

инструмент создания образов и восстановления базовой конфигурации

инструменты резервного копирования и восстановления

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

утилиты и инструменты SQL базы данных

инструменты генерации данных

Критерии успешности:

Эта методика поддерживает тестирование всех основных методов и процессов доступа к базе данных.

Специальная информация:

Для тестирования может потребоваться среда разработки DBMS или драйверы для ввода или изменения данных непосредственно в базе данных.

Процессы следует вызывать вручную.

Небольшие базы данных или базы данных минимального размера (с ограниченным числом записей) следует использовать для расширения области видимости всех поврежденных событий.


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

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

Цели методики:

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

Методика:

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

при использовании допустимых данных получаются ожидаемые результаты

при использовании недопустимых данных отображаются соответствующие сообщения об ошибке или предупреждающие сообщения

все правила бизнес-процессов применяются соответствующим образом

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

инструмент создания образов и восстановления базовой конфигурации

инструменты резервного копирования и восстановления

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

инструменты генерации данных

Критерии успешности:

Эта методика поддерживает тестирование:

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

всех основных функций

Специальная информация:

Определите или опишите те элементы или вопросы (внутренние или внешние), которые влияют на реализацию и выполнение теста функций.


    Тестирование цикла бизнес-процесса

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

Цели методики:

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

Методика:

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

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

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

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

В тестировании будут использоваться допустимые и недопустимые данные для проверки следующего:

При использовании допустимых данных получаются ожидаемые результаты.

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

Все правила бизнес-процессов применяются соответствующим образом.

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

инструмент создания образов и восстановления базовой конфигурации

инструменты резервного копирования и восстановления

инструменты генерации данных

Критерии успешности:

Эта методика поддерживает тестирование всех важнейших циклов бизнес-процесса.

Специальная информация:

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

Для идентификации соответствующих требований и процедур тестирования требуется модель бизнес-процесса.


    Тестирование пользовательского интерфейса

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

Цели методики:

Протестировать следующее с целью наблюдения и регистрации соблюдения стандартов и целевой алгоритм:

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

Можно протестировать объекты и характеристики окон - такие как меню, размер, расположение, состояние и фокусировка.

Методика:

Создание или изменение тестов для каждого окна для проверки правильной навигации и состояний объектов для каждого окна и объекта приложения.

Оракулы:

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

Необходимые инструменты:

Для этой методики требуется инструмент автоматизации сценариев тестирования.

Критерии успешности:

Эта методика поддерживает тестирование каждого главного экрана или окна, которое будет широко использоваться пользователями.

Специальная информация:

Возможен доступ не ко всем свойствам пользовательских объектов и объектов других фирм.


    Профилирование производительности

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

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

Цели методики:

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

обычная ожидаемая рабочая нагрузка

ожидаемая рабочая нагрузка в наихудшем случае

Методика:

Применение процедур тестирования, разработанных для тестирования функций и циклов бизнес-процесса.

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

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

инструмент профилирования производительности приложения, например, Rational Quantify

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

инструменты, ограничивающие ресурсы; например, Canned Heat

Критерии успешности:

Эта методика поддерживает тестирование:

Одиночной транзакции или одиночного пользователя: Успешная эмуляция сценариев транзакции без сбоев из-за неполадок реализации теста.

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

Специальная информация:

Всестороннее тестирование производительности включает наличие фоновой нагрузки на сервер.

Существует несколько методов, которые можно использовать, включая следующие:

"Доставка транзакций" непосредственно на сервер, обычно в форме вызовов языка структурных запросов (SQL).

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

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

Тестирование производительности следует выполнять в выделенной системе либо в выделенное время. Это обеспечивает полное управление и точные измерения.

Базы данных, применяемые для тестирования производительности, должны либо иметь фактический размер, либо их масштаб должен быть изменен одинаково.


     Тестирование нагрузки

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

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

Цели методики:

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

Методика:

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

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

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

Рабочие нагрузки должны представлять как средние, так и пиковые нагрузки.

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

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

инструмент планирования и управления нагрузкой транзакции

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

инструменты, ограничивающие ресурсы; например, Canned Heat

инструменты генерации данных

Критерии успешности:

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

Специальная информация:

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

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


     Тестирование напряжений

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

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

Цели методики:

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

небольшой объем памяти или отсутствие свободной памяти на сервере (RAM и объем постоянной памяти)

максимально возможное физически или фактически число подключенных или имитируемых пользователей

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

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

Методика:

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

Для тестирования ограниченных ресурсов тесты следует выполнять в одной системе, а RAM и объем постоянной памяти на сервере должны быть уменьшены или ограничены.

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

инструмент планирования и управления нагрузкой транзакции

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

инструменты, ограничивающие ресурсы; например, Canned Heat

инструменты генерации данных

Критерии успешности:

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

Специальная информация:

Для создания напряжения на сеть могут потребоваться сетевые инструменты для загрузки сети сообщениями и пакетами.

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

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


    Тестирование емкости

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

Цели методики:

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

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

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

Методика:

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

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

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

инструмент планирования и управления нагрузкой транзакции

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

инструменты, ограничивающие ресурсы; например, Canned Heat

инструменты генерации данных

Критерии успешности:

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

Специальная информация:

Какой период времени будет считаться приемлемым для условий высокого объема, указанных выше?


    Тестирование защиты и управления доступом

Тестирование защиты и управления доступом сосредоточено на двух ключевых областях защиты:

Защита на уровне приложения, включая доступ к данным или функциям бизнес-процесса

Защита на уровне системы, включая вход в систему или удаленный доступ к системе

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

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

Цели методики:

Протестировать цель тестирования в следующих условиях с целью наблюдения и регистрации целевого алгоритма:

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

Защита на уровне системы: доступ к приложениям разрешен только субъектам, имеющим права доступа к системе и приложениям.

Методика:

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

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

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

Доступ на уровне системы: См. приведенную ниже Специальную информацию.

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

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

"Хакерские" инструменты тестирования и поиска брешей в защите

Инструменты администрирования защиты ОС

Критерии успешности:

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

Специальная информация:

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


    Тестирование восстановления после сбоев

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

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

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

Цели методики:

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

прерывание питания в системе клиента

прерывание питания в системе сервера

прерывание соединения через сетевые серверы

прерывание соединения или потеря питания DASD (устройств прямого доступа к памяти) и контроллеров DASD

незавершенные циклы (прерывание процессов фильтрации данных, прерывание процессов синхронизации данных)

недопустимые указатели и ключи базы данных

недопустимые или поврежденные элементы данных в базе данных

Методика:

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

Прерывание питания в системе клиента: выключение питания ПК.

Прерывание питания в системе сервера: имитация или инициирование выключения питания процедур для сервера.

Прерывание через сетевые серверы: имитация или инициирование потери соединения с сетью (физическое отключение соединительных проводов или выключение питания сетевых серверов или маршрутизаторов).

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

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

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

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

инструмент создания образов и восстановления базовой конфигурации

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

инструменты резервного копирования и восстановления

Критерии успешности:

Эта методика поддерживает тестирование:

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

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

Специальная информация:

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

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

Эти тесты следует выполнять в нерабочее время либо в изолированной системе.


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

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

Цели методики:

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

Методика:

Применение тестов функций.

Открытие и закрытие различного не являющегося целью тестирования связанного программного обеспечения, например, приложений Microsoft® Excel® и Microsoft® Word®, либо как части теста, либо до выполнения теста.

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

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

инструмент создания образов и восстановления базовой конфигурации

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

Критерии успешности:

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

Специальная информация:

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

Какие приложения обычно используются?

Какими данными оперируют приложения; например, большая электронная таблица, открытая в Excel, или содержащий 100 страниц документ в Word?

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


     Тестирование установки

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

Цели методики:

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

новая установка: новая система, в которой никогда ранее не устанавливалось <Имя проекта>

обновление: система, в которой ранее было установлено <Имя проекта>, та же версия

обновление версии: система, в которой ранее было установлено <Имя проекта>, более ранняя версия

Методика:

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

новая: <имя проекта> никогда не устанавливалось

<имя проекта> этой же или более ранней версии уже было установлено

Запуск или выполнение установки.

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

Оракулы:

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

Необходимые инструменты:

Для данной методики требуются следующие инструменты:

инструмент создания образов и восстановления базовой конфигурации

инструменты мониторинга установки (реестр, жесткий диск, CPU, память и так далее)

Критерии успешности:

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

Специальная информация:

Какие транзакции <имя проекта> следует выбрать для составления достоверного теста того, что приложение <имя проекта> было установлено успешно, и что не пропущены важные компоненты программного обеспечения?