Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
55
Добавлен:
10.02.2015
Размер:
199.68 Кб
Скачать

Средства повышения эффективности работы пользователей и сопроводительные материалы

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

Вот что пишет Стив Магуайр в своей книге «Debugging the Development Process»:

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

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

Тестирование

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

Сводное тестирование промежуточных версий

Без тестирования можно обойтись лишь при «Стабилизации» — во всех остальных случаях это неотъемлемая часть процесса разработки.

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

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

С точки зрения тестирования переход от стадии «Разработка» к стадии «Стабилизация» — это переход от тестирования наличия функций к проверке их работоспособности и эффективности. Приведем некоторые примеры методов тестирования, применяемых на стадии «Разработка».

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

Функциональные тесты — проверка наличия конкретных функций приложения и их работоспособности.

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

Иногда используются и другие методы тестирования.

Проверка сборки — обычно выполняется после ежедневной сборки приложения, чтобы удостовериться, что она прошла успешно.

Регрессионное тестирование — автоматизированный тест, проводимый после ежедневной сборки для проверки работоспособности всех функций предыдущей сборки в новой версии.

Теперь рассмотрим примеры методов тестирования, характерных для стадии «Стабилизация».

Тестирование конфигурации — проверяет работоспособность продукта на аппаратно-программной платформе.

Тестирование совместимости — проверка корректности взаимодействия приложения с другими программами.

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

Тестирование производительности — исследование производительности приложения; взаимосвязано с тестированием под нагрузкой,

Проверка документации и справочной системы — выявление ошибок и несоответствий в документации и справочных материалах.

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

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

Соседние файлы в папке Лекции разработка ПО