Тесты и их классификация 3 Лекция №3 от 29. 09. 08 4

Вид материалаТесты

Содержание


Лекция №7 от 24.10.08 Основные этапы разработки и тестирования программных продуктов
Лекция №8 от 31.10.08
Подобный материал:
1   2   3   4   5   6   7   8

Лекция №7 от 24.10.08

Основные этапы разработки и тестирования программных продуктов


При планировании работ по созданию программного продукта выделяют две стадии: альфа и бета. Первая стадия завершается созданием так называемой альфа-версии программы – полностью завершенного, хотя еще и полного ошибок продукта. Бета-версия – это практически готовый к эксплуатации продукт, который передается определенным пользователям для проверки и получения рекомендаций по улучшению. В целом процесс разработки программного продукта состоит из следующих этапов:
  1. Проектирование
  2. Реализация базовых функций
  3. Разработка почти альфа-версии
  4. Разработка альфа-версии
  5. Разработка пре бета-версии
  6. Разработка бета-версии
  7. Замораживание пользовательского интерфейса
  8. Подготовка к финальному тестированию
  9. Последняя проверка целостности
  10. Выпуск



  1. Проектирование

Разработка на данном этапе включает:
    1. формулирование требований к программному продукту
    2. разработку спецификаций (ТЗ)
    3. подготовка предложений по программной реализации
    4. формулирование требований по внутреннему интерфейсу данных (протоколы обмена данных внутри программного продукта и межпрограммного взаимодействия)
    5. формулирование требований по внешнему дизайну пользовательского интерфейса

Тестирование на данном этапе включает:
  1. изучение будущего программного продукта
  2. анализ спецификаций и другой проектной документации
  3. поиск и разработка вспомогательного ПО и аппаратуры
  4. тестирование купленной аппаратуры и купленного ПО
  5. анализ пользовательских данных
  6. анализ предполагаемого пользовательского интерфейса
  7. разработка эскизного плана тестирования

Лекция №8 от 31.10.08

  1. Реализация базовых функций

Разработка на данном этапе включает:
    1. постановку локальных задач по каждой из основных функций
    2. создание основных программных модулей или ядра продукта
    3. тестирование модулей, как стеклянных ящиков

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

Разработка на данном этапе включает:
    1. уточнение постановки задачи
    2. корректировку спецификаций определенных на этапе проектирования
    3. дальнейшее программирование и отладка модулей
    4. тестирование и исправление ошибок

Тестирование на данном этапе включает:
  1. приобретение оборудования и ПО для тестирования
  2. определение целей и задач тестирования, времени и ресурсов
  3. разработка первого возможного варианта плана тестирования
  4. анализ окончательного варианта
  5. выполнение базового тестирования продукта
  6. доводка БД ошибок
  1. Разработка альфа-версии

Разработка на данном этапе включает:
    1. дальнейшее программирование и отладка модулей
    2. тестирование программного модуля
    3. доработку документации
    4. исправление ошибок
    5. создание недостающих драйверов устройств
    6. начало разработка контрольного примера

Тестирование на данном этапе включает:
  1. доработку и утверждение плана тестирования
  2. создание подробных тестовых случаев для отдельных функций программного продукта
  3. тестирование программного продукта по содержанию его системы помощи (Help)
  4. начало работ по автоматизации тестирования
  5. разработка проверочных листов (check-листов) и заполнение их на основании прогона тестовых случаев
  1. Разработка пре бета-версии

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

Работы по тестированию на данном этапе как правило состоят из проверок соответствия программы требованиям, стабильности работы и полноте бета-версии.
  1. Разработка бета-версии

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

Разработка на данном этапе включает:
    1. завершение отладки функций
    2. исправление найденных ошибок
    3. создание или доработка установочных утилит
    4. разработку основных и дополнительных контрольных примеров
    5. редактирование пользовательского интерфейса
    6. подготовка носителей файлов для бета-тестирования

Тестирование на данном этапе включает:
  1. утверждение окончательного плана тестирования
  2. продолжение работ по автоматизации тестирования
  3. выработка рекомендаций по редактированию программной документации
  4. полный цикл тестирования программного продукта
  5. быстрое повторное тестирование исправленных фрагментов программ
  6. тестирование на virgin-машине
  7. бета-тестирование внутри и вне компании

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

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

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

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

На данном этапе осуществляется исправление ошибок и завершение того, что еще не сделано. При этом программист исправляет только те ошибки, на которые указал руководитель проекта.

Разработка на данном этапе включает:
    1. полный цикл тестирования по тестовому плану
    2. создание списка отложенных проблем и качественную оценку надежности программы

Для оценки надежности программного продукта обычно применяют следующую шкалу:

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

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

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

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