Технология разработки программного обеспечения

Этапы разработки программного обеспечения.
Стадия «Тестирование и отладка программ»

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

Оборудование:

  1. Персональный компьютер
  2. ПО: Microsoft Office
  3. Среда программирования Delphi (или другая)

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Виды тестирования

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

  • постановка задачи для теста;
  • проектирование теста;
  • написание тестов;
  • тестирование тестов;
  • выполнение тестов;
  • изучение результатов тестирования.

Наиболее важным является проектирование тестов. Сущест¬вуют разные подходы к проектированию тестов.

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

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

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

Тестирование методом «белого ящика» также не дает 100%-ной гарантии того, что модуль не содержит ошибок. Даже если предположить, что выполнены тесты для всех ветвей алго¬ритма, нельзя с полной уверенностью утверждать, что программа соответствует ее спецификациям. Например, если требовалось написать программу для вычисления кубического корня, а про¬грамма фактически вычисляет корень квадратный, то реализация будет совершенно неправильной, даже если проверить все пути. Вторая проблема – отсутствующие пути. Если программа реали¬зует спецификации не полностью (например, отсутствует такая специализированная функция, как проверка на отрицательное значение входных данных программы вычисления квадратного корня), никакое тестирование существующих путей не выявит такой ошибки. И наконец, проблема зависимости результатов тестирования от входных данных. Одни данные будут давать пра-вильные результаты, а другие нет. Например, если для определе¬ния равенства трех чисел программируется выражение вида:

Процесс тестирование программного обеспечения Процесс тестирования ПО осуществляется в следующей последовательности, для того чтобы найти недостатки в программном обеспечении системы:

  • Создание плана тестирования
  • Дизайн тест-кейсов
  • Описание тестовых случаев
  • Обзор тестовых случаев
  • Выполнение теста
  • Изучение результатов тестов
  • Составление конечного обзора

Ниже приведены примеры тестирования:

Тестирование программного обеспечения для входа на страницу системы:

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

Программное обеспечение должно быть совместимо с операционной системой.

Должна появиться страница «ввода логина».

Текстовые поля идентификатора пользователя и пароля должны быть доступны с соответствующими метками.

Должны быть в наличии кнопки «Войти» и «Отмена» с соответствующими подписями.

Тест 1 Название теста: проверка требований пользовательского интерфейса.

Шаги/действия: Пользователь просматривает страницу, чтобы проверить, включает ли она в себя ID пользователя и пароль в текстовых полях с соответствующими наклейками. Кроме того, кнопки «Войти» и «Отмена» должны быть доступны с соответствующими подписями. Ожидаемые результаты: экран отображает интерфейс пользователя согласно требованиям пользователя.

Тест 2 Название теста: Текстовое поле для идентификатора пользователя следует:

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

  1. По результатам практических работ № 1 – 4 провести тестирование и отладку созданной программы.
  2. Получить результаты работы
  3. Оформить документацию к разработанному программному обеспечению
  4. Сдать и защитить работу

Содержание отчета:

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

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

Контрольные вопросы

  1. Охарактеризуйте этап реализации и тестирования программного про¬дукта.
  2. Какие существуют виды тестирования?
  3. Назовите критерии выбора тестов.
  4. Перечислите свойства тестов.
  5. Приведите критерии надежности программ.
  6. В чем заключается оценка надежности программ?