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

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

Содержание


План тестирования
Лекция №13 от 05.12.08
Лекция №14 от 12.12.08 Основные типы ошибок, выявляемых при тестировании
Подобный материал:
1   2   3   4   5   6   7   8

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


Автор: Иванов И.И. Версия 1.0

  1. Идентификатор тестового плана: ПСДЧ-ПТ-1.0
  2. Ссылки на используемые документы

Данный ПТ разработан на основании стандарта IEEE 829 (стандарт на тестовую документацию) и ТЗ (спецификации) на ПСДЧ
  1. Введение

Целью данного документа является детальная разработка плана тестирования всех функций ПСДЧ, определение программных и аппаратных средств для реализации этого плана и документов для хранения и отображении результатов тестирования.
  1. Тестируемые элементы
    1. Тестируемая версия

Программный продукт ПСДЧ
    1. Исправление ошибок

Все найденные и исправленные в ходе тестирования должны быть проверены
    1. Вся разработанная документация должна соответствовать ТЗ и стандартам ЕСПД
  1. Проблемы риска тестируемого продукта

В связи с тем, что программисты не предоставляют специалистам по тестированию исходного кода программы практически исключена возможность тестирования ПСДЧ методом стеклянного ящика.
  1. Свойства, подлежащие тестированию
    1. Загрузка исполнительного модуля с диск6еты
    2. Загрузка исполняемой программы через локальную сеть
    3. Запуск программы ПСДЧ
    4. Ввод, контроль и редактирование значений операндов слагаемых
    5. Вычисление значения суммы операндов
    6. Вывод результатов работы программы
    7. Выделение и освобождение динамической памяти для высвобождения операндов и результатов
    8. Повторное выполнение программы без перезапуска
    9. Диалоги связанные с вводом данных и повторным выполнением программы
    10. Обработка ошибок оператора
    11. Завершение программы и выход в систему
  2. Свойства, не подлежащие тестированию

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

Оно реализуется каждый раз перед началом полного цикла тестирования.
    1. Регрессионное тестирование

Оно осуществляется каждый раз после выявления и исправления очередной ошибки и / или редактирования отдельных функций ПСДЧ или тестов. В зависимости от сложностей ошибки и уровней ее влияния на выполнение программы в качестве регрессионных тестов могут выступать либо приемочные тесты, либо тесты полной проверки ПО.
    1. Тестирование утечки памяти

Для проверки утечки памяти используется Visual Test с помощью которого многократно выполняется выполнение программы без перезаписи.
    1. Тестирование производительности

ПСДЧ выполняется в интерактивном режиме и ее производительность определяется скоростью набора пользователем операнда и скоростью ответа на поставленные вопросы. Поэтому тестирование производительности не происходит.
    1. Нагрузочное тестирование

Оно включает:
  • выполнение программы в мультизадачной среде
  • выполнение программы на ПК с минимальной возможной тактовой частотой и минимальной оперативной памятью
  • выполнение программы на фоне печати текстового файла на принтере
    1. Тестирование граничных условий

Оно включает:
  • тестирование обработки граничных значений
  • тестирование обработки данных не соответствующих граничным условиям

Лекция №13 от 05.12.08

    1. Тестирование на «нетронутой» машине

Все процедуры тестирования должны быть также реализованы на ПВМ с заново установленной ОС и необходимого ПО для выполнения ПСДЧ. Использование данной конфигурации позволит выявить ошибки свойственные только ПСДЧ и ошибки, возникающие при первом запуске.
    1. Отслеживание обнаруженных ошибок

Все обнаруженные ошибки вносятся в БД ошибок, доступной как для программистов, так и для руководителей проекта.
  1. Критерии приемочного тестирования

Для оперативной оценки качества ПСДЧ используются приемочные тесты. Только после успешного выполнения приемочного теста продукт предается тестовой команде для полного тестирования.
  1. Критерии прохождения тестов

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

Работа приостанавливается до решения проблем в следующих случаях:
  • при обнаружении тестом катастрофических ошибок, приводящих к аварийному завершению работы программы
  • при отказе оборудования
  • при тестировании обнаруживается, что не совпадает более 50% результатов
  • при изменении отдельных функций ПСДЧ

Тестирование возобновляется по решению руководителя разработки после устранения причин приостановление.
  1. Для тестирования ПСДЧ должны быть составлены следующие документы:
  • план тестирования
  • приемочный тест
  • совокупность проверочных тестовых случаев, обеспечивающих полное тестирование
  • проверочный лист
  • комплексный отчет, создаваемый в результате анализа содержимого БД ошибок
  1. Задачи тестирования

В ходе подготовки и проведения тестирования решаются следующие задачи:
  • изучение объекта тестирования
  • разработка плана тестирования
  • разработка совокупности проверочных тестов
  • разработка документации для проведения процедур тестирования
  • реализация процедур тестирования
  • ведение БД тестирования
  • разработка отчетов о результатах тестирования
  1. Необходимый персонал и обучение

Для решения задач тестирования требуется один специалист в области тестирования программных средств. Кроме практического опыта, связанного с разработкой контрольных тестов и организации собственно процесса тестирования он должен иметь навыки работы с ОС для ПВМ фирмы Microsoft и опыт создания документации.
  1. Требования окружающей среды

Для успешного тестирования ПСДЧ должны быть следующие программные и аппаратные средства:
  • ПСДЧ на гибком диске
  • две ПВМ типа Pentium в стандартном окружении, объединенные в локальную сеть и подключение к интернету
  • операционная среда WinNT, WinXP
  • сетевая БД ошибок Bugzilla 2.14
  • пакет Visual Test, предназначенный для автоматизации отельных процедур
  1. Распределение ответственности

Для тестирования данной ПО необходим один тестер. В его обязанности входит:
  • разработка всей указанной в 12-ом пункте тестовой документации
  • разработка
  • реализация тестовых процедур
  • ведение БД ошибок
  • подготовка отчетов по результатам тестирования
  1. График работ (календарный план)



    Задача

    дата начала

    дата конца

    1.

    Изучение ТЗ

    07.04

    09.04

    2.

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

    09.04

    10.04

    3.

    Разработка спецификаций комплекса тестов

    11.04

    11.04

    4.

    Разработка тестов

    11.04

    12.04

    5.

    Разработка тестовой документации

    11.04

    14.04

    6.

    Реализация тестовых процедур (автоматизация)

    11.04

    15.04

    7.

    Корректировка тестов и тестовой документации

    16.04

    16.04
  2. Риски и непредвиденные обстоятельства



    Риск

    Вероятность риска

    Влияние

    Смягчающее влияние

    1.

    Разработка ТД и процесс реализации тестовых процедур может задержаться из-за возможных задержек при отладке ПСДЧ

    50%

    Основное

    Тестер должен находиться в тесном контакте с разработкой ПСДЧ и по мере появления новой информации пересматривать тесты и ТД
  3. Утверждение плана

План тестирования утверждает руководитель проекта.
  1. Глоссарий
    1. Термины

Тестовый случай – это набор входных данных тестов и ожидание результата.

Тест – группа тестовых случаев, объединенных для проверки конкретного пункта ТЗ.
    1. Условные сокращения

ПСДЧ – Программа Сложения Двух Чисел

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

ТЗ – Техническое Задание

ТД – Тестовая Документация

Лекция №14 от 12.12.08

Основные типы ошибок, выявляемых при тестировании


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

Рассмотрим основные категории этих ошибок:
  • ошибки при сборке версии

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

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

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

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

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

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

Например:
  • документация не соответствует н…б-ям ЕСПД
  • описание которой программы не соответствует ее реальному поведению
  • ошибки в системе помощи
  • ошибки тестирования

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

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

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

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