Файл: Отладка и тестирование программ: основные подходы и ограничения (Сущность тестирования и отладки).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 03.07.2023

Просмотров: 303

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Из всех инструментов встроенного отладчика наиболее часто используются точки остановки - BreakPoint. После установки точки, приложение будет работать до тех пор, пока не достигнет ее, после чего работа программы будет остановлена и управление переходит к IDE. Точки остановки удобнее всего снимать и ставить нажатием горячей клавиши «Ctrl+8», либо отметить строчку кода слева рядом с панелью нумерации строк.

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

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

Если не удаётся определить, где допущена ошибка, а лишь известно её примерное расположение в коде, то точку остановки стоит ставить выше строчки, где предположительно совершена ошибка. После остановки на точке необходимо пошагово опускать ниже по коду наблюдая за изменениями в переменных – это зачастую позволяет понять в какой строке кода была допущена ошибка. Данный метод идёт по строчкам кода, вниз не проваливаясь в вызываемые методы, но при необходимости можно уйти в вызываемый метод нажатием клавиши «F8».

Заключение

В данной курсовой работе описано только применение ручного тестирования и отладки при разработке программного обеспечения в среде PHP. Помимо него большую роль играет также применение автоматического Smoke тестирования, применяемого при разработке ПО и приёмочного на последнем завершающем этапе разработки. Существует огромное количество инструментов для отладки и тестирования, например популярные PHPUnit или Codeception. Рынок продуктов для тестирования растёт с каждым днём и не только для среды PHP, т.к. всё больше разработчиков и компаний осознают полезность подхода к разработке через тестирование.


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

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

В заключении:

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

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

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

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


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

См. Приложение 2.

Список использованных источников

  1. Глас Р. Руководоство по надежному программированию. М., Финансы и статистика / Глас Р, 2010.
  2. Т.А.Жданова, Ю.С. Бузыкова. Основы алгоритмизации и программирования: учеб. пособие / Т.А. Жданова, Ю.С. Бузыкова. – Хабаровск : Изд-во Тихоокеан. гос.ун-та, 2011. –56 с.
  3. Коликова Т.В., Котляров В.П. Основы тестирования программного обеспечения / М., Бином, 2010, 285 стр.
  4. Лайза Криспин, Джанет Грегори Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд / М.: «Вильямс», 2010. - 464 с.
  5. Майерс, Баджетт, Сандлер Искусство тестирования программ / Майерс.- 3-е. -- М.: «Диалектика», 2012. -- 272 с.
  6. Пестриков В. М., Маслобоев А. Н. Delphi на примерах. / Пестриков В. М. СПб.: БХВ-Петербург, 2009. -- 496 с.
  7. Синицын С. В., Налютин Н. Ю. Верификация программного обеспечения. /Синицын С. В.- М.: БИНОМ, 2008. -- 368 с.
  8. Стивен Р. Delphi. Готовые алгоритмы / Род Стивене; - 4-е изд. - М.: ДМК Пресс; СПб.: Питер, 2010. - 384 с.
  9. Тамре Л. Введение в тестирование программного обеспечения / М., Дрофа, 2009.
  10. Белов П.М. Основы алгоритмизации в информационных системах / П. В. Белов.-Учебн. Пособие.- Спб.: СЗТУ, 2003. – 85с.
  11. Ховард М., Лебланк Д. Защищенный код / М. Ховард.- Пер. с англ, - 2-е изд., испр. М.: Издательско-торговый дом «Русская Редакция», 2004. - 704 стр.
  12. Бруно Скворц . Узнать и полюбить Xdebug / Б. Скворц // Режим доступа: https://habr.com/ru/post/328094/ ( 5. 05. 17)
  13. Сивкоф. Отладка с помощью Xdebug и PhpStorm / Sivkoff // Режим доступа: https://habr.com/ru/post/250323/ (11. 02. 15)

Приложение 1

Таблица 1

Наименование команды

Горячая клавиша

Действие отладчика

«Settings/Perfences»

«Ctrl+Alt+S»

Страница настроек отладчика в IDE PhpStrorm

«Run | Toggle Line Breakpoint»

«Ctrl+F8»

Установка точки прерывания на линии кода

«Step Into»

«F7»

Переход отладчика на следующую строку кода

«Step Out»

«Shift+F8»

Выход из режима отладки

«Step Over»

«F8»

Провалиться в вызываемый метод

«Run | Debugging Actions | Resume Program»

«F9»

Выполнение программы до выхода или до следующей точки остановки