![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Основные типы системных тестов. ⇐ ПредыдущаяСтр 10 из 10
1. Тестирование восстановления. Ø Компьютерные системы должны восстанавливаться после отказов и возобновлять обработку в пределах заданного времени. Ø В некоторых случаях система должна быть отказоустойчивой. Ø Системный отказ должен быть устранен в пределах заданного квантового времени, иначе наносится экономический ущерб. Ø При автоматическом восстановлении оценивается правильность повторной инициализации, механизмы копирования контрольных точек, восстановления данных, перезапуск. Ø При ручном восстановлении оценивается, находится ли среднее время восстановления в допустимых пределах.
2. Тестирование безопасности. Проверяет фактическую реакцию механизмов, встроенных в систему, на проникновение. Испытатель играет роль взломщика, ему разрешено: 1) попытки узнать пароль с помощью внешних средств; 2) атака системы с помощью специальных утилит, анализирующих защиту; 3) подавление, ошеломление системы в надежде, что она откажется обслуживать других клиентов; 4) целенаправленное введение ошибок, чтобы проникнуть в систему в ходе восстановления; 5) просмотр не секретных данных, чтобы найти ключ для входа в систему. Задача проектировщика системы – сделать цену проникновения более высокой, чем цена получаемой в результате информации.
3. Стрессовое тестирование. Проводится для навязывания программам не нормальных ситуаций, т.е. решается вопрос: как сильно можно расшатать систему, прежде чем она откажет? Стрессовое тестирование производится при не нормальных запросах на ресурсы системы. Пример: 1. 10 прерываний в секунду, при норме – 1-2; 2. формируются варианты, требующие максимум памяти и других ресурсов. Таким образом, испытатель пытается разрушить систему. Разновидность стрессового тестирования – тестирование чувствительности. Обычно в математических задачах. Малый диапазон данных в правильных границах может вызвать ошибочную обработку или резкое понижение производительности.
4. Тестирование производительности. В системах реального времени и во встроенных системах недопустимо, чтобы программное обеспечение, которое реализует требуемые функции, не соответствовало требуемой производительности. В данном случае проверяется скорость работы в компьютерной системе программного обеспечения. Производительность тестируется на всех шагах процесса тестирования.
Аксиомы тестирования. 1. Хорош тот тест, для которого высока вероятность обнаружить ошибку, а не тот, который демонстрирует правильную работу программы. 2. Одна из самых сложных проблем при тестировании – решить, когда надо закончить. 3. Невозможно тестировать свою собственную программу. Тестирование выполняет внешняя группа. Комплексное тестирование выполняется независимой группой. 4. Необходимая часть любого теста – описание ожидаемых результатов. 5. Избегать невоспроизводимых тестов. 6. Необходимо готовить тесты как для правильных, так и для неправильных входных данных. Последние лучше обнаруживают ошибки. 7. Надо детально изучать результаты каждого теста. 8. По мере увеличения числа ошибок обнаруженных, растет и относительная вероятность существования в программе необнаруженных ошибок. 9. Тестирование поручают самым способным программистам. 10. Тестируемость – это ключевая задача программного обеспечения. Сложность тестирования программы зависит от её структуры и качества проектирования. 11. Никогда не изменяйте программу, чтобы облегчить её тестирование, т.к. в этом случае программист будет тестировать другую программу.
Отладка. Отладка – это локализация и устранение ошибок. Является следствием успешного тестирования. Процессу отладки предшествует выполнение некоторого теста, результат которого оценивается, регистрируются несоответствия между ожидаемым результатом и реальным. Возможны два исхода процесса отладки: 1. Причина найдена, исправлена, уничтожена. 2. Причина не найдена. Для проверки причины разрабатывается дополнительный тест, помогающий проверить предположение, т.е. запускается итерационный процесс коррекции ошибки. Способы проявления ошибок: 1. Программа завершается нормально, но выдает неверный результат. 2. Программа зависает. 3. Программа завершается по прерыванию. 4. Программа завершается, выдает ожидаемые результаты, но хранимые данные испорчены. Симптомы ошибок: постоянные; мерцающие; пороговые; отложенные, проявляются после выявления маскирующих ошибок. Две группы методов отладки: 1. Аналитические – базируются на анализе выходных данных тестов. 2. Экспериментальные – базируются на использовании вспомогательных средств отладки (трассировка процесса, вспомогательная печать), позволяющие уточнить характер поведения программы при тех или иных исходных данных. Общая стратегия отладки: Ø обратное прохождение от замеченного симптома ошибки к исходным аналогам (месту в программе, где ошибка совершена). Цель отладки: Ø найти оператор программы, при исполнении которого правильные аргументы приводят к неправильным результатам. Данное прослеживание организуется в зависимости от методов отладки. В аналитических методах на основе логических заключений о поведении программы шаг за шагом уменьшают область программы, подозреваемую в наличии ошибки. Преимущество аналитических методов: Исходная программа остается без изменений.
В экспериментальных методах для прослеживания выполняется: ü выдача значений переменных в указанных точках; ü трассировка ü переменных; ü трассировка потоков управления (имен вызываемых процедур, меток на которые передается управление). Преимущество экспериментальных методов: – основная рутинная работа по анализу процесса вычислений перекладывается на компьютер. Недостаток экспериментальных методов: – в программу вносятся изменения, при исключении которых могут появиться ошибки.
|
Последнее изменение этой страницы: 2019-04-10; Просмотров: 253; Нарушение авторского права страницы