4363

Методы тестирования интернет - приложений и web-серверов

Реферат

Информатика, кибернетика и программирование

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

Русский

2012-11-18

286 KB

357 чел.

Методы тестирования интернет - приложений и web-серверов

Как тестировать сайт, насколько тестирование важно для успеха сайта?

Определение способов, наиболее применимых для конкретного сайта;

Разработка методологии тестирования;

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

1.Как тестировать сайт, насколько тестирование важно для успеха сайта?

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

  •  Так ли работает сайт, как это первоначально предполагалось?
  •  Соответствует ли сайт бизнес – требованиям, есть ли они, реалистичны ли они?
  •  Отвечает ли сайт современным веяниям в этой области?
  •  Хорошо ли сайт документирован?
  •  Все ли участвующие в проекте согласны с требованиями к сайту?
  •  Все ли разработчики ознакомлены с требованиями?
  •  Были ли привлечены пользователи к разработке требований?
  •  Все ли ознакомлены со своей ролью в тестировании, задачами и расписанием?
  •  Какие платформы используются?
  •  Способны ли специалисты обнаружить ошибки?
  •  Ошибки какого типа ожидаются?
  •  Будет ли установлена система отслеживания проблем? Кто будет отслеживать проблемы?
  •  Вовлечены ли в тестирование конечные пользователи и какую роль они играют?
  •  Кто будет работать с конечными пользователями?
  •  Что будет измеряться и как это измерение будет происходить? Будут ли строится графики измеряемых характеристик тестирования? Будет ли производиться сравнение с результатами предыдущих измерений?
  •  Как будет оцениваться соответствие стандартам?

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

Разработка плана тестирования: Задачи тестирования, описание тестируемых приложений, группа тестирования (кто напишет план тестирования? кто входит в группу тестирования? кто отвечает за выполнение тестирования), масштабы тестирования (возможные ограничения, невозможность тестирования, ожидаемая информация на выходе – последствия тестирования, сравнение с предполагаемыми проблемами), среда тестирования (программные и аппаратные средства); данные для тестирования – требования к установке БД, начальной настройке; инструментарий для тестирования; документирование тестовые примеры, сценарии тестирования; отслеживание проблем – кто будет участвовать в обработке проблем; составление отчета, повторное тестирование; обучение персонала тестированию.

Для управления процессом тестирования составляется контрольный лист, табл.1.

Таблица 1

Контрольный лист для управления процессом тестирования

Вопрос

Комментарий

Почему Вы хотите тестировать?

Уменьшить число ошибок, увеличить надежность работы сайта

Кто может тестировать?

Кто должен участвовать в тестировании?

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

Что Вы тестируете?

Линки, характеристики работы сайта

Как Вы будете документировать результат?

Все результаты тестирования документируются в виде отчетов

Как Вы будете фиксировать ход тестирования?

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

Кто разрабатывает тесты?

Разработчики совместно с пользователями

Что Вы будете делать, когда тестирование закончится?

Провести анализ тестирования

Кому будут доложены результаты?

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

Как Вы - специалист по тестированию будете внедрять исправления, как будете производить повторное тестирование?

Все исправления вносят разработчики, после исправлений тестирование повторяется

Как Вы будете отслеживать проблемы?

За счет использования административной подсистемы (статистика посещений, отказов, др.)

Как официальная документация поможет Вам при тестировании сайта?

Тестирование проводить только с имеющейся документацией

Кто настраивает окружение для тестирования?

Если для тестирования используются специальные средства, то их настаивают разработчики

Кто будет осуществлять поддержку продукта после тестирования?

Продукт должен передаваться на эксплуатацию производственному персоналу

Будет ли оборудование, на котором проходит тестирование, использоваться в будущем?

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

Кто нуждается в обучении?

Производственный персонал должен пройти обучение

Достаточно ли проведено исследований, чтобы можно было начинать тестирование?

Исследование технических характеристик сайта является составной частью тестирования

2. Определение способов тестирования, наиболее применимых для конкретного сайта

Вопросы, на которые надо ответить до начала проектирования сайта:

  1.  Какую пользу принесет создание сайта, имеется ли модель развития бизнеса с помощью сайта на ближайший год, три, пять лет? Справится ли организация с возможным расширением клиентуры, вследствие создания сайта?
  2.  Обладает ли организация необходимыми ресурсами на создание, а главное на долговременную поддержку сайта?
  3.  Имеется ли квалифицированный руководитель web проекта?
  4.  Собрана ли команда разработчиков, все ли понимают важность и необходимость создания, а главное дальнейшей эксплуатации сайта?
  5.  Есть в организации web сервер, налажена ли работа сети?

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

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

Аспекты тестирования

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

Правописание - орфография и пунктуация – показатель Вашей культуры

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

Заголовки - фактор желания войти на ваш сайт

Формы – проверять на предмет целостности и понятности

Скрипты – наиболее вероятные ошибки

XML - требует аккуратности

Исключение информации, доступной для роботов (создавайте интрасеть)

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

Контроль источников информации

Контроль Log - файлов на предмет наличия в них информации об ошибках.

3.Методология тестирования

Тщательно протестируйте свой сайт. Существует целый ряд различных браузеров, и в каждом из них ваш сайт может выглядеть по-разному. Проверьте работу вашего сайта, используя как можно больше различных браузеров, при этом на различных платформах (как минимум, Windows 95, Windows NT, UNIX и Macintosh) и при различных скоростях модема. Нередко кнопка навигации, помещенная вами в угол страницы, в каком-нибудь браузере оказывается посреди окна; такие вещи случаются сплошь и рядом. Опытные Web-дизайнеры проверяют в своих сайтах каждую страницу и каждую ссылку в нескольких различных браузерах. Все связи внутри вашего сайта вы сможете легко проверить с помощью команды Verify Hyperlinks (Проверить гиперссылки) или протокола состояния гиперссылок (Hyperlink Status View) Проводника.

Другой хороший способ проверки сайта — это операция Preview In Browser (Предварительный просмотр в браузере). Она позволит вам визуально исследовать вашу страницу в любом браузере, установленном на вашем компьютере и при различных размерах окна. Например, если вы обычно работаете в разрешении 1024х768, то вы сможете воочию посмотреть, как ваша страница будет выглядеть в разрешении 640х480.

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

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

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

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

  •  Тестирование функциональности (тестирование "черного ящика") - тестирование программного продукта на соответствие функциональным спецификациям. Эти тесты могут быть и достаточно простыми, например, для проверки основных функций, и очень сложными, состоящими из множества сценариев, проверяющих полученные данные на соответствие ожидаемым.
  •  Анализ дефектов - локализация областей программных операций, которые потенциально могут снизить качество продукта.
  •  Тестирование интерфейсов - автоматическое тестирование функциональности визуальных форм, проверка на соответствие корпоративным стандартам (если требуется).
  •  Тестирование системных компонентов - тестирование функциональности каждого из компонентов в отдельности, которое включает в себя проверку DCOM, CORBA и Java компонентов, а также всех других компонентов, предоставленных в исходном коде.
  •  Тестирование на совместимость и портативность - проверка корректной работы программных продуктов на тех конфигурациях аппаратного и программного обеспечения, для работы на которых они были разработаны.
  •  Тестирование способности к взаимодействию - исследования, направленные на определение возможностей системных процессов взаимодействовать с внешними компонентами. Например, со специфичным аппаратным обеспечением, драйверами различных устройств, программным обеспечением других компаний и т.д. Как правило, здесь речь идет о тестировании характеристик надежности и производительности межсистемных шлюзов, а также об определении эффективности архитектурных и технических решений.

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

Тестирование целостности web-сайтов

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

Проверка активного содержимого

Идентификация и проверка HTML-форм, Java-аплетов, скриптов, подключаемых модулей, элементов управления Active-X и других активных элементов web-сайтов.

Тестирование производительности, нагрузочное и стрессовое тестирования

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

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

Основная цель тестирования - обнаружение и локализация "узких мест" и неоптимальных решений в программной системе. Анализ качества программного обеспечения с точки зрения производительности включает в себя следующие тесты:

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

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

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

Анализ операций над базами данных. Мониторинг активности баз данных, проверка всех запросов и транзакций между Интернет- приложениями и SQL сервером; локализация мест и выявление причин неудачных транзакций.

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

Анализ сетевого трафика. Сбор и мониторинг сетевого трафика, анализ эффективности связи. Для этого создаются административные сервисы сайта.

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

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

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

Таблица 2

Наиболее распространенные проблемы Интернет служб

Проблема

Советы

Доп. информация

Сервер не удается найти

Возможно, не существует соответствующего пункта DNS; на DNS сервере, ответственным за Вашу сеть должен существовать пункт с доменным именем, соответствующим компьютеру с информационным сервером

Использовать средство NSLOOKUP.exe, запускаемой с командной строки, для проверки любой машины сети на присутствие ее имени в соответствующих списках имен

Не удается создать виртуальный сервер

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

Ищите документацию по созданию виртуальных серверов

Не удается затребовать использование SSL

Чтобы сделать возможным запрос SSL - протокола для работы с сайтом необходимо установить подпись - сертификат

Ищите доступную в сети документацию по протоколу SSL

Не удается выбрать другой IP адрес

Чтобы сервер отзывался на дополнительный IP адрес, его следует настроить

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

Не удается найти сервер по др. имени

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

Ищите доступную в сети документацию по пунктам записей DNS сервера

Браузер не может найти виртуальный сервер

Если используются заголовки хостов, браузер должен поддерживать работу с заголовками хостов или рабочее окружение CGI/SAPI

Если для доступа используется любой порт, отличный от 80-го, для доступа к сайту следует явно указывать порт в строке URL

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

Определить MIME типы для всех типов данных, не указанных автоматически при установке IIS

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

Сайт был перемещен и браузер его больше не видит

Следует перенаправить браузер на новое местоположение сайта

Свойство URL, которое найти среди окон настройки ярлыка основного каталога, позволяет переадресовать сайт

После введения пользователями их Логинов и паролей доступ все равно остается закрытым

Если отключена возможность авторизации анонимов, следует завести учетную запись для каждого пользователя

Найти в сети документации по возможности авторизации анонимов

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

В системе Windows должна быть включена поддержка свойств Challenge/Response

Найти в сети документации по свойству Challenge/Response ОС Windows

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

Учетная запись для анонимов, определяемая в бланке Authentication/Properties сайта, должна существовать и иметь тот же пароль, что и аналогичная учетная запись ОС Windows

Найти в сети документации к бланку Authentication/Properties

Единственным браузером, который может авторизироваться на сайте, является IE

Браузеры, отличные от IE, требуют наличия Basic Authentication для авторизации, отличной от анонимного пользователя

Найти в сети документации по возможности Basic Authentication

Пользователи не имеют доступа к информации сайта, открытой для совместного использования в соответствии с оглашением UNC (Universal Name Convention или Uniform Name Convention)

Необходимо правильно установить ограничения совместного использования

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

Сервер приложений не отвечает

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

Сервер выдает сообщение о нехватке памяти (“OutOfMemoryError”)

Проверьте, сколько физической памяти свободно. По возможности, закройте все ненужные приложения. Не хватает памяти для работы виртуальной машины Java (JVM). Эта память используется для хранения информации о загруженных классах. Необходимо скорректировать размер heap-memory для JVM (по умолчанию с опцией -server она установлена в 64 Мб). Для этого необходимо в файле run.bat в строчке rem set JAVA_OPTS=%JAVA_OPTS% -Xms16mXmx128m установить нужные значения для памяти.

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

Приложение временно не доступно (в браузере выдается сообщение «HTTP Status 500 - No Context configured to process this request»)

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

Страница приложения не найдена (выдается сообщение «404 – File not found »)

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

Невозможно отобразить страницу

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

Страница не найдена, ошибка 404

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

Приложение временно недоступно, ошибка 500

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

Возможно, сервер находится в режиме запуска после профилактики и приложение еще недоступно.

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

Выдается ошибка с требованием авторизации к странице, код 401

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

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

Ваши реквизиты изменены. Обратитесь к администратору портала

Выдается страница errorpage (сбой в приложении)

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

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

Страница отображается не полностью, некоторые элементы страницы отсутствуют

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

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

проверьте версию браузера, Портал был протестирован на браузерах Internet Explorer 6.0, Opera 7, Mozilla 1.7

4.Управление процессом проектирования и развития сайта

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

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

MS Project – разработка план – графика создания сайта и его корректировки

Case - средство проектирования состава и структуры сайта, база данных, подготовка кодов, др.

Web Ready Manager - анализ положения страницы в сети и ее раскрутки. Проверяет легкость нахождения страницы поисковыми машинами, www.monocle-solutions.com/

HTML Assistant Pro 2000 – средство анализа и управления Web сайтами, http://exit0.com/ns/home.html 

Инструментальные средства тестирования (выбор, оценка). Технология web – тестирования включает:

  •  Подготовку web - окружения для тестирования (тестирование на стороне клиента, на стороне сервера и в целом);
  •  Тестирование БД и языков программирования;
  •  Тестирование на разных платформах и серверах (большинство проблем сайта связано не с разработкой, а с его развертыванием);
  •  Тестирование возможностей web нагрузки и утяжеленного режима;
  •  Последовательность запуска web тестов;
  •  Анализ процесса тестирования и документирование.

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

  •  Измерение времени реакции файлового сетевого сервиса: SQL, TCP, SMTP, POP3 и ICMP.
  •  Получение SNMP-статистики о работе активного сетевого оборудования.
  •  Получение статистической информации о работе серверов.
  •  Управление работой агентов, встроенных в операционную систему.
  •  Измерение качества IP-каналов.
  •  Получение в режиме реального времени информации о работе сети.
  •  Получение в режиме реального времени сведений о работе информационной системы.
  •  Оповещение администратора сети о возникающих в сети сбоях посылкой WinPopup-сообщений и запуском внешних программ.

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

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

Рассмотрим более подробно три оценочных теста:

  •  для оценки "здоровья" серверов MS Windows NT4/2000/XP;
  •  для оценки "здоровья" коммутаторов Ethernet;
  •  для интегральной оценки производительности файлового сервиса сети.

Метод пороговых значений дает ответ на вопрос, как в данный момент времени работает сеть (коммутаторы, серверы, сервисы и т.п.). Необходимо также выявить первопричину проблемы, провести ее сквозную (end-to-end) диагностику или локализовать узкое место с точки зрения пользовательских приложений.

Тест оценки работы серверов MS Windows 2000/XP позволяет определить, соответствует ли производительность серверов требованиям используемых в сети приложений. Работа теста основана на автоматическом контроле статистической информации о работе серверов MS Windows 2000/XP. Тест с заданной периодичностью контролирует характеристики их работы (табл.3).

\Память\Доступно (Мбайт) — объем оперативной памяти на сервере, доступной ОС в текущий момент времени. Минимальное пороговое значение для этого счетчика — 4 Мбайт. Если для данной характеристики фиксируется плохая оценка (красный или желтый сигнал «светофора»), то следует увеличить объем на сервере оперативной памяти.

\Память\Обмен (стр./с) — среднее число страниц в 1 с, которое ОС сервера была вынуждена прочитать с диска и/или записать на него. Чтение или запись на диск происходят из-за того, что требуемые страницы отсутствуют в оперативной памяти сервера тогда, когда они требуются ОС или пользовательскому приложению. Необходимость чтения/записи данных с диска обычно обусловлена двумя причинами. Во-первых, если оперативной памяти не хватает, то OC освобождает системную кэш-память, сбрасывая данные неактивных приложений в swap-файл на диск. Во-вторых, когда приложения активизируются, то OC «переписывает» соответствующую этому приложению информацию из swap-файла в системную кэш-память. Кроме того, она вынуждена загружать данные с диска, если, запрашиваемые приложением, они отсутствуют в кэш-памяти сервера. Максимальное пороговое значение для этого счетчика — 120 стр./с. Если для этой характеристики фиксируется плохая оценка, то на сервере следует увеличить объем оперативной памяти.

Таблица 3

Пороговые значения основных характеристик «здоровья» серверов MS Windows NT4/2000/XP

\Файл подкачки(_Total)\ (% использования) — процент использования ОС файла подкачки в текущий момент времени. Если в файле подкачки осталось мало свободного места, то ОС может не хватить виртуальной памяти для запуска новой задачи. А когда при этом не установлен максимальный размер файла подкачки, то ОС будет его динамически расширять. В эти моменты времени производительность сервера резко снижается. Если же максимальный размер файла подкачки установлен и его не хватает, то задача не запустится из-за нехватки памяти. Максимальное пороговое значение для данного счетчика — 90%. Если для этой характеристики фиксируется плохая оценка, то на сервере следует увеличить максимальный объем файла подкачки.

\Процессор(_Total)\ (% загруженности процессора) — процент времени, приходящийся на выполнение полезной работы процессорами сервера. Если значение этого счетчика в течение продолжительных периодов времени превышает 85%, то это свидетельствует о недостаточной производительности процессоров сервера для выполнения запущенных задач, и значит, следует заменить процессоры более мощными либо переместить часть задач на другие компьютеры.

\Кэш\ (% попаданий при отображении данных) — процент запросов на получение данных, которые могут быть выполнены без обращения к жесткому диску, т.е. тогда, когда запрашиваемые данные уже находятся в оперативной кэш-памяти сервера. Обращения к диску существенно увеличивают время выполнения запросов и, следовательно, снижают производительность работы сервера. Пороговое значение для этого счетчика — 20 %. Если для данной характеристики фиксируется плохая оценка, то на сервере следует увеличить объем оперативной памяти.

\Физический диск(_Total)\ (% активности диска при чтении/записи) — процент времени, затрачиваемого дисковыми устройствами сервера при обработке запросов на чтение/запись данных. Обычно по умолчанию данные счетчики включены, но если это не так, то на сервере необходимо выполнить команду diskperf -yd, а затем перезагрузить его. Пороговые значения для этих счетчиков при выполнении операций чтения — 25%, операций записи — 50%. Если для этих характеристик в течение продолжительных периодов времени фиксируются плохие оценки, то, значит, имеет место перегруженность (недостаточная производительность) дисковой подсистемы сервера, и рекомендуется установить на нем более быстрые диски или переместить активно используемые файлы (например, файлы БД или подкачки) на другие физические диски.

\Система\Время работы системы (с) — общее время работы сервера, прошедшее с момента его последней перезагрузки. Считается, что сервер должен перезапускаться как можно реже, поэтому «свежая» перезагрузка (не более 10 мин) вызывает мигающий желтый сигнал «светофора».

Тест оценки работы коммутаторов Ethernet. Тест позволяет локализовать дефекты сетевого оборудования и кабельной системы, а также определить, соответствует ли производительность этого оборудования потребностям используемых в сети приложений. Его работа основана на автоматическом контроле по протоколу SNMP статистики функционирования коммутаторов сети. Тест позволяет оценивать «здоровье» коммутаторов, имеющих встроенные SNMP-агенты, которые поддерживают MIB II. Таким образом, с заданной периодичностью контролируются характеристики работы всех их портов. Значимыми характеристиками в тесте оценки работы коммутаторов Ethernet являются четыре счетчика, приведенные в табл.4.

Таблица 4

Пороговые значения основных характеристик работы коммутаторов Ethernet

Количество ошибочных пакетов (%) — т.е. процент пакетов, отброшенных портом коммутатора из-за наличия в них ошибки. Это происходит в следующих случаях: неверная контрольная сумма (CRC-error), длина пакета больше 1518 байт (Too Big Error), длина пакета меньше 64 байт (Too Small Error), пакет имеет неправильный формат (Jabber или Runt). В данном тесте пороговое значение для этого счетчика составляет 0,1%. Принято считать, что для порта коммутатора пороговое значение данного счетчика зависит от типа сегмента, подсоединенного к этому порту. Если подключен разделяемый сегмент (концентратор), то пороговое значение составляет 0,1 %, а если полнодуплексный — то 0,001%. Повышенное пороговое значение для разделяемых сегментов объясняется тем, что коллизия, происходящая в разделяемом канале связи после передачи в сеть преамбулы кадра, фиксируется портом коммутатора как ошибка (типа Runt). Такая ситуация может складываться даже в полностью исправных разделяемых каналах связи при условии, что общая длина канала велика. Если для этой характеристики фиксируется плохая оценка, то, значит, имеется проблема в кабельной системе сети, в тестируемом коммутаторе или в активном сетевом оборудовании, подключенном к тестируемому коммутатору.

Количество широковещательных пакетов (%) — т.е. пакетов, адресованных не конкретному узлу сети, а одновременно всем ее узлам. Такие пакеты используются, например, для поиска определенных ресурсов в сети, в частности DHCP-сервера, для разрешения (перевода) IP-адресов в MAC-адреса и т.п. Большая доля широковещательного трафика снижает производительность сети, так как соответствующие пакеты вынуждены обрабатывать все ее узлы. Считается, что пороговое значение для данного счетчика — 6%. Однако когда утилизация сети низкая, то даже если доля широковещательного трафика велика, это не ухудшает работу ее пользователей. (Если же в сети никто не работает, то доля широковещательного трафика может быть близка к 100%, что нормально.) Поэтому тест организован так, что анализ доли широковещательного трафика выполняется только тогда, когда утилизация порта коммутатора не менее 5%.

Утилизация порта (%) — процентное отношение времени, в течение которого по коллизионному домену (сегменту сети), присоединенному к данному порту коммутатора, происходила передача данных, к тому времени, когда передачи данных не было. Утилизация сегмента измеряется как отношение числа байт, «прошедших» по сегменту сети за 1 с, к максимально возможной скорости передачи данных по этому сегменту сети. (Для сети Ethernet — 10 Мбит/с, для Fast Ethernet — 100 Мбит/с). Для порта коммутатора пороговое значение данного счетчика составляет 50%. Когда для данной характеристики фиксируется плохая оценка, то имеет место несоответствие пропускной способности сети потребностям пользовательских приложений. В этом случае имеет смысл выяснить, какие приложения и какие пользователи создают высокую загрузку портов оборудования. Эту задачу можно решить, например, с помощью пакета Observer компании Network Instruments (www.prolan.ru/observer).

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

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

Низкая скорость выполнения файловых операций в сети чаще всего бывает следствием двух обстоятельств. Первое — дефект или высокая загруженность канала связи сети. Когда он построен на базе управляемых коммутаторов Ethernet, то качество работы канала связи можно проверить с помощью теста оценки «здоровья» коммутаторов Ethernet, рассмотренного выше. Второе обстоятельство — дефект или высокая загруженность файлового сервера. Если используется сервер на базе ОС MS Windows, то проконтролировать качество его работы удастся с помощью теста оценки «здоровья» серверов MS Windows NT4/2000/XP. Данный тест основан на выполнении в сети файловых операций и измерении времени их выполнения, которое характеризует «здоровье» отрезка сети («линка») между одним компьютером, где проводится тест, и другим ПК, на котором расположена сетевая папка и с которым осуществляются файловые операции.

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

Скорость выполнения операций чтения/записи (Кбайт/с) — отношение объема данных, прочитанных (или записанных) с файл-сервера, ко времени выполнения операции чтения/записи. Программа обеспечивает отключение механизма кэширования данных на той стороне компьютера, где выполняется тест. Это гарантирует измерение реального времени выполнения файловых операций в сети, поскольку иначе измерялось бы время выполнения операции чтения/записи в собственную кэш-память. Пороговые значения времени выполнения файловых операций зависят от множества переменных, например от типа используемого соединения (Ethernet, Fast Ethernet, wireless 802.11a, wireless 802.11b и т.д.), от ОС, установленной на том компьютере, где расположена сетевая папка (MS Windows NT, Novell Netware и т.д.), а также от типа сетевого клиента. Экспериментальным путем мы подобрали пороговые значения скоростей выполнения файловых операций для различных сочетаний этих переменных.

Возможности развития оценочных тестов. Средства первичной диагностики (тестирования) локальных и распределенных сетей передачи данных. Создание новых оценочных тестов и изменение правил работы «светофора» должно производится путем добавления соответствующей информации в XML-файлы. Это позволяет пользователям самостоятельно разрабатывать самые различные оценочные тесты, например, создать тесты, управляющие работой специфического оборудования (скажем, источников бесперебойного электропитания), или «модуль знаний», отражающий специфику работы их сети. Этот метод реализован в свободно распространяемой программе SelFTrend (www.prolan.ru/selftrend).

Основой грамотного построения web сайта является использование базовых российских и международных стандартов в области информационных технологий, например, ГОСТов:

ГОСТ Р ИСО/МЭК 12207:2000. Информационная технология. Процессы жизненного цикла программного обеспечения.

ГОСТ Р ИСО/МЭК 9126:1993. Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению.

ГОСТ Р ИСО/МЭК 12119-2000. Информационная технология. Пакеты программ. Требование к качеству и тестирование.

ГОСТ Р ИСО/МЭК ТО 9294:1993. Информационная технология. Руководство по управлению документированием программного обеспечения.

ГОСТ Р ИСО 9127:1994. Системы обработки информации. Документация пользователя и информация на упаковке для потребительских программных пакетов.

ГОСТ Р ИСО/МЭК 15910-2002. Информационная технология. Процесс создания документации пользователя программного средства.

ГОСТ Р ИСО/МЭК 15408-3-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 3. Требования доверия к безопасности.

ГОСТ Р ИСО/МЭК 14764-2002. Информационная технология. Сопровождение программных средств.

ГОСТ Р ИСО/МЭК 15026-2002. Информационная технология. Уровни целостности систем и программных средств.

ГОСТ Р ИСО/МЭК ТО 12182-2002. Информационная технология. Классификация программных средств.

ГОСТ Р ИСО/МЭК ТО 15271-2002. Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (Процессы жизненного цикла программных средств).

ГОСТ Р ИСО/МЭК 15408-1-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 1. Введение и общая модель.

ГОСТ 28195:1989. Оценка качества программных средств. Общие положения.

Заключение

Литература

Диан Стотлемайер. Тестирование web - приложений (средства и методы автоматизированного и ручного тестирования программного обеспечения web - сайтов). М.: КУДИЦ-ОБРАЗ. 2003. – 240 с.

Перечень вопросов

  1.  Как тестировать сайт, насколько тестирование важно для успеха сайта?
  2.  Способы и методы тестирования

Приложение

Обзор решений для тестирования сайтов.

 

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

Итак, у нас имеется веб-сайт (сервер), который предоставляет какой-либо сервис для пользователей. Какие виды тестирования существуют для сайтов, и какие тесты необходимо или желательно провести для уверенности в том, что он не подведет в критическую минуту, и пользователи останутся довольны?

Первый тест, который можно назвать практически главным для всех интерактивных сервисов, взаимодействующих с пользователем - это тест на usability, или на удобство использования. Такое тестирование - одно из самых дорогих, потому что наиболее ценную информацию можно получить только от реальных пользователей, наблюдая за их работой с вашим сайтом. Подобные исследования требуют дорогостоящей инфраструктуры и временных затрат, их сложно автоматизировать. О тестировании и самом usability уже писалось на страницах hostinfo.ru - это обзорная статья "Юзабилити" – новое полезное слово в веб-разработке" и статья, посвященная именно исследованию и оценке - "Оцениваем юзабилити".

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

Тест на usability - один из главных

Такие тест-комплексы могут быть довольно большими даже в прямом смысле - объем дистрибутивов составляет сотни мегабайт. Как пример - комплексное решение для тестирования веб-приложений Empirix - e-TEST suite. Этот инструмент может использоваться для комплексного тестирования веб-приложений, созданных с использованием Microsoft .NET, J2EE, веб-сервисов, а также обычных приложений и веб-сайтов. Комплекс включает в себя решения для разностороннего тестирования - от интерфейса до тестирований нагрузочной способности, безопасности и даже проведение тестов удаленных сайтов в реальных условиях - через файрволы, прокси-серверы и тому подобное. Для тестирования интерфейса в состав e-TEST suite входит компонент под названием e-Tester - в оригинале он называется Automated Regression and Functional Testing Tool for Web Applications (Record/Playback). Этот компонент как раз и предназначен для записи определенной последовательности действий и воспроизведения их впоследствии, имитируя активность пользователей. Другой компонент - e-Monitor - в реальном времени собирает статистику тестирования и информацию о возникших ошибках, а также позволяет планировать тесты (например, если тестируется удаленный работающий сайт, то его можно тестировать в разные периоды времени).

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

Рис. e-TEST suite - мощный тестовый пакет

Проверка ссылок - простой, но важный тест

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

Тест безопасности следует проводить постоянно

Следующим видом тестирования является тест на устойчивость к большим нагрузкам - Load-testing, stress-test или performance test. Такой тест имитирует одновременную работу нескольких сотен или тысяч посетителей (каждый из которых может "ходить" по сайту в соответствии со своим сценарием), проверяя, будет ли устойчивой работа сайта под большой нагрузкой. Кроме этого, можно имитировать кратковременные пики нагрузки, когда количество посетителей скачкообразно увеличивается - это очень актуально для новостных ресурсов и других сайтов с неравномерной аудиторией. В таком тесте проверяется не только и не столько сам сайт, сколько совместная слаженная работа всего комплекса - аппаратной части сервера, веб-сервера, программного ядра (engine) и других компонентов сайта. К подобным решениям можно отнести и описанную утилиту WAPT ("Тестирование сайта"), а также ряд других - Microsoft Web Application Stress Tool (WAS), SilkPerformer, Webserver Stress Tool и другие.

Еще одним типом тестирования является проверка верности HTML-кода страниц сайта. Для такого рода тестирования написано множество утилит - от простеньких скриптов на Perl до мощных валидаторов, проверяющих весь сайт на соответствие стандартам (а некоторые валидаторы могут в автоматическом режиме исправлять найденные недочеты - например, пропущенные закрывающие теги и так далее). Часто такие средства встраивают в веб-редакторы, но существуют и браузеры с встроенными валидаторами. Примером такого инструмента является утилита Tidy - изначально консольная программа, она имеет несколько разных графических интерфейсов, может автоматически подсвечивать неверный код и исправлять некоторые ошибки. Также ее можно использовать при разработке - TidyLib включает в себя всю необходимую функциональность и может подключаться к программам, написанным на Java, Pascal, .NET, C++, Perl, PHP.

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

  •  Web Application Stress Tools
  •  Load and Performance Tools
  •  eValid - Browser-Based Client-Side WebSite Mapping & Analysis, Functional Testing and Validation, Server Loading, Page Timing/Tuning, and Quality Monitoring
  •  Web Site Test Tools and Site Management Tools

Отладка работы серверных модулей.

Процесс написания любой программы всегда сопровождается необходимостью поиска и устранения ошибок. Все ошибки принято разделять на синтаксические и логические. Если первые обнаруживаются уже на этапе компиляции, то нахождение последних часто требует больших затрат усилий и времени. Поскольку серверный модуль работает не только с обычными средствами ввода/вывода (консолью), но и использует переменные окружения и, как правило, выполняемый алгоритм сильно зависит от содержимого запроса, то отладка такого модуля достаточно трудоемка. Прежде всего, стоит приводить программу в рабочий вид на локальном компьютере, где происходит ее компиляция. Для этого, как уже указывалось, нужно установить Web-сервер на компьютер, настроить его, а затем установить в Delphi каталог для выходных ЕХЕ-файлов в каталог, из которого сервер выполняет запуск модуля (например ..\Apache\cgi-bin). При этом можно компилировать программу и сразу наблюдать за результатами ее работы в браузере, обновляя его содержимое.

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

Важно. Будьте внимательны при описании форм. Обязательно сверяйте названия форм в модуле и Web-странице. Даже внешне почти одинаковые кавычки — прямые и косые — могут стать причиной долгих поисков ошибки. На Web-страницах следует использовать только прямые кавычки.

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

  •  Если сразу выдается ошибка с кодом 500, то сначала проверьте работу алгоритма вывода данных. Причиной этой ошибки также может быть неверная работа в процессе обработки получаемых данных, т. е. работа модуля обрывается еще до начала планируемого вывода. Поэтому, если вы предполагаете, что часть программы, отправляющая данные клиенту, должна работать корректно, т. е. не содержать ошибок, то, чтобы это проверить, закомментируйте остальную часть программы. В качестве используемых параметров, которые должны формироваться из клиентских данных, поставьте константы. Если все в порядке, то значит в теле программы есть что-нибудь вроде выхода за границы массива, неверного использования функций и т. д. Нахождение такого типа ошибок может быть осуществлено путем отключения части программы (комментирования строк) с последующей установкой тех значений, которые должны были быть получены в результате работы отключенного блока в константы. Путем последовательного подключения все новых программных блоков можно найти проблемное место программы. Главная задача этого этапа отладки модуля — по возможности, не меняя алгоритма работы, добиться хотя бы корректной загрузки Web-страницы.
  •   Если ошибка 500 выдается при обработке полученных данных, значит проблема возникает при их приеме или обработке. Просмотрите внимательно эти блоки. Закомментируйте блок приема данных и установите выходные значения этого блока равные константам. Если проблема не исчезает, следовательно неверно спроектирован или реализован блок обработки. Таким же способом (последовательного исключения) настраивается работа этого блока.
  •   Если не получаются ожидаемые значения обработки данных, значит дело либо в проекте, либо в реализации объектов системы. В этом случае полезно заново мысленно провести ход рассуждений и при выявлении логических ошибок их исправить. Наиболее неприятное развитие данной ситуации может привести к повторному анализу проекта.

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

Размещение созданного сайта на сервере.

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

  •   Получение информации у администратора сервера касательно имени пользователя и пароля для доступа к FTP-каталогу, а также его физическому расположению на сервере и правилах построения URL к документам, содержащимся в нем.
  •   Обсуждение с ним установки прав доступа к подкаталогам этой папки, обеспечивающих выполнение максимально жестких требований безопасности.
  •   Изменение всех ссылок, содержащихся в HTML-документах и серверных модулях на окончательные, соответствующие доменному имени сервера и названиям папок. Кроме того, если в модуле используется доступ к файлам, то нужно поменять названия всех каталогов на реальные.
  •   Подключение и настройка баз данных. Процесс подключения базы данных различается в зависимости от типа создаваемой конфигурации. В любом случае, на сервер нужно установить утилиту Borland Database Engine. Если база данных находится под управлением SQL-сервера, то необходимо указать адрес сервера и настройки БД. Иначе нужно указывать каталог, где содержатся таблицы.
  •   Запись содержимого сайта в сетевые папки.
  •   Проверка работы модулей.

Отладка модулей на сервере.

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


 

А также другие работы, которые могут Вас заинтересовать

4383. Операторы выбора в С++ 96 KB
  Операторы выбора в С++ Цель: понимать как работают операторы выбора, для чего используются и какой их синтаксис написания. Теоретический материал Операторы выбора — это операторы управления потоком выполнения программы. К операторам выбора отно...
4384. Основные понятия программирования на С++. Алгоритмы 67.87 KB
  Основные понятия программирования на С++. Алгоритмы Языки программирования Компьютер работает по программам, которые составляет для него человек. Человек пишет программы, пользуясь языками программирования. За последние несколько десятилетий языки п...
4386. Введение в синтаксис языка С++ 66.5 KB
  Введение в синтаксис языка С++ Использование ключевого слова using Если операторы cout и cin применяются очень часто, то использование идентификатора std:: перед ними становится обременительным. Эту проблему можно решить двумя способами. Первы...
4387. Операторы в языке С++ 130.5 KB
  Операторы в языке С++ Математические операторы В языке С++ операторы управляют последовательностью выполнения выражений, возвращают результаты вычислений или ничего не делают (пустые операторы). Операторы последовательного действия выполняют о...
4388. Использование циклов в языке С++ 55.5 KB
  Использование циклов в языке С++ Оператор goto Для решения ряда задач требуется многократное повторение одних и тех же действий. На практике это реализуется либо с помощью рекурсии, либо с помощью итерации. Итерация – это повторение одних...
4389. Использование массивов в языке С++ 43.5 KB
  Использование массивов в языке С++ Одномерные массивы Массив (array) – это набор элементов, способных хранить данные одного типа. Каждый элемент хранения называется элементом массива. Объявляя массив, необходимо сначала указать тип храним...
4390. Указатели и ссылки в языке С++ 57.5 KB
  Указатели и ссылки в языке С++ Указатели Обычно программисту не нужно знать реальный адрес каждой переменной, поскольку компилятор способен сам позаботиться о таких подробностях. Но если необходимость в этой информации все же возникает, то пол...
4391. Некоторые простые алгоритмы в языке С++ 61.5 KB
  Некоторые простые алгоритмы в языке С++ Поиск максимального (или минимального) числа из выборки чисел Предположим, что мы имеем массив из n элементов. Необходимо найти элемент с максимальным (или минимальным) числовым значением. Задача поиска ...