Помощь в написании студенческих работ
Антистрессовый сервис

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

РефератПомощь в написанииУзнать стоимостьмоей работы

В данной главе произведено обоснование выбора средств разработки информационно-управляющей системы «Инфотест». Представлены и проанализированы возможности тех средств, которые в полной мере могут решить все поставленные перед системой задачи. Для разработки системы предполагается использование MySQL в роли механизма управления базами данных, применение языков программирования: PHP, HTML, CSS… Читать ещё >

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

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

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

  • 1 Функциональные;
  • 2 Нефункциональные;
  • 3 Связанные с изменениями.

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

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

  • 1 Тестирование производительности:
  • 1.1 Нагрузочное тестирование
  • 1.2 Стрессовое тестирование
  • 1.3 Тестирование надежности
  • 1.4 Объемное тестирование
  • 2 Тестирование установки;
  • 3 Тестирование удобства использования;
  • 4 Тестирование на отказ и восстановление;
  • 5 Конфигурационное тестирование;

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

  • 1 Дымовое тестирование;
  • 2 Регрессионное тестирование;
  • 3 Тестирование сборки;
  • 4 Санитарное тестирование или проверка согласованности.

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

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

Основные показатели производительности информационной системы, которые измеряются в ходе тестирования:

  • — Времена отклика (время выполнения операции);
  • — Число операций выполняемых в единицу времени;

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

  • — Специализированного онлайн сервиса loadimpact.com;
  • — Специализированного ПО Apache JMeter.

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

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

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

Примерное проведение нагрузочного тестирования с помощью бесплатного сервиса loadimpact.com:

Сервис автоматически производит 5 тестов при нагрузке на сервер эквивалентной одновременной работе 10, 20, 30, 40 или 50 пользователей. Демонстрирует среднее время отклика приложения при каждом уровне нагрузки и строит соответствующий график. Из полученных данных можно сделать вывод о тенденциях падения или поддержания одного уровня производительности.

Примерное проведение нагрузочного тестирования с помощью специального программного обеспечения Apache JMeter:

В основе JMeter лежит система тестовых планов. У каждого плана может быть несколько сценариев проведения тестирования.

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

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

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

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

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

Выводы к 3 главе

  • 1 В данной главе произведено обоснование выбора средств разработки информационно-управляющей системы «Инфотест». Представлены и проанализированы возможности тех средств, которые в полной мере могут решить все поставленные перед системой задачи. Для разработки системы предполагается использование MySQL в роли механизма управления базами данных, применение языков программирования: PHP, HTML, CSS, JavaScript, а также их библиотек — jQuery, AJAX, Smarty. В роли веб-сервера предложено использование Apache.
  • 2 Разработан интерфейс пользовательской панели АРМ «Администратор олимпиады» .
  • 3 Описаны некоторые категории тестирования программного обеспечения. Предложено провести нагрузочное тестирование с помощью двух сервисов для определения максимально допустимой пропускной способности веб-приложения.
  • 1.
Показать весь текст
Заполнить форму текущей работой