Системное тестирование


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

1) Предусмотреть средства обработки ошибок, которые тестируют все виды информации из других элементов системы;

2) Провести тесты, моделирующие неудачные данные или другие потенциальные ошибки интерфейса программной системы;

3) Записать результаты тестов, чтобы использовать их в качестве доказательства невиновности;

4) Надо принять участие в планировании и проектировании системных тестов, чтобы гарантировать адекватное тестирование программной системы;

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

Основные типы системных тестов:

1) Тестирование установления.

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

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

2) Тестирование безопасности.

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

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

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

3) Стрессовые тесты.

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

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

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

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

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

 

 

Вопросы для самоконтроля по теме 8:

 

1. Перечислите шаги тестирования программных систем

2. Перечислите шаги методики тестирования восходящей интеграции

3. Охарактеризуйте назначение тестирования правильности

4. Перечислите и охарактеризуйте основные типы системных тестов.



Дата добавления: 2021-07-22; просмотров: 346;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.