СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Внедрение ИС Практическая работа №23

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Внедрение ИС Практическая работа №23»

Практическое занятие № 23 Тема: Нефункциональное тестирование ИС

Цель работы: рассмотреть виды нефункционального тестирования. Разработка тестов.

Оборудование, материал

-Персональный компьютер,

Краткие теоритические сведения:

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

Стрессовое тестирование (stress testing)– испытание информационной системы в условиях минимальных аппаратных ресурсах и максимально допустимой нагрузки. Цель стрессового тестирования, как понятно из названия, - проверить работоспособность системы в стрессовых ситуациях.

Объемное тестирование (volume testing)– испытания информационной системы в условиях максимальных (предельно допустимых) объемов информации в базе данных. Ос- новным объектом тестирования в данном случае является зависимость времени отклика и прочих аспектов производительности системы от объемов контролируемых данных.

Тестирование стабильности (stability testing)– проверка, может ли испытываемая ин- формационная система длительное время нормально функционировать в условиях, близких к нормальным условиям (средняя нагрузка, средние объемы данных, рекомендуемые аппарат- ное ресурсы и т.д.).

Тестирование надежности (reliability testing)– гибрид всех перечисленных ранее ви- дов тестирования, направленный на то, чтобы проверить способность системы возвращаться к нормальному режиму работы после коротких периодов максимальной нагрузки, стрессов, предельных объемов данных и т.д.

Тестирование эргономики решений– испытания пользовательского интерфейса на предмет удобства и безопасности эксплуатации информационной системы.

Проектирование надежных информационных систем

Способы обеспечения надежности ИС

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

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

ным способом, то надежность алгоритмов отдельно не рассматривается. В этом случае счи- тается, что надежность ИС обеспечивается надежностью программных и аппаратных средств.

Надежность достигается на этапах:

разработки, производства, эксплуатации.

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

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

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

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

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

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

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

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

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

Отказоустойчивые ИС

Отказоустойчивость — это свойство ИС сохранять работоспособность при отказах отдельных устройств, блоков, схем.

Известны три основных подхода к созданию отказоустойчивых систем: простое резервирование, помехоустойчивое кодиро-

вание информации, создание адаптивных систем.

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

Ход работы: Изучить теоретический материал и ответить на вопросы:

1. Что такое нефункциональное тестирование и чем оно отличается от функционального тестирования?

2. Каковы основные цели нефункционального тестирования?

3. Какие типы нефункционального тестирования вы знаете?

4. Объясните разницу между нагрузочным и стрессовым тестированием.

5. Что такое "узкое место" в контексте тестирования производительности?

6. Что такое юзабилити-тестирование (usability testing) и зачем оно нужно?

7. Какие метрики обычно используются для оценки производительности ИС?

8. Что такое тестирование безопасности (security testing) и какие угрозы оно помогает выявить?

9. Что такое тестирование надежности (reliability testing) и как оно проводится?

10. Какие инструменты используются для автоматизации нагрузочного тестирования? Приведите примеры.

11. Как можно оценить масштабируемость ИС?

12. Опишите процесс проведения юзабилити-тестирования.

13. Как можно измерить доступность (availability) ИС?

14. Как определить, достаточно ли хорошо протестирована производительность ИС?

15. Какие риски связаны с недостаточным нефункциональным тестированием?

16. Как нефункциональное тестирование интегрируется в процесс разработки программного обеспечения (SDLC)?

17. В чем разница между тестированием производительности на этапе разработки и тестированием производительности в производственной среде?