Файл: Отладка и тестирование программ: основные подходы и ограничения (Сущность тестирования и отладки).pdf
Добавлен: 03.07.2023
Просмотров: 303
Скачиваний: 3
СОДЕРЖАНИЕ
1. Сущность тестирования и отладки. Методика выявления ошибок/
1.3 Сущность и методика отладки программ. Виды ошибок
2. Практика отладки и тестирования WEB-приложений в среде PHP
2.1 Отладка и тестирование приложения с помощью XDebug в IDE PhpStorm
2.2 Применение точек остановки
IDE PhpStorm в связке с Xdebug предоставляет разработчикам очень хорошее средство поиска и исправления ошибок в программе - Debug. Debug позволяет наблюдать значения переменных, производить трассировку приложения, а также контролировать выводимые программой данные.
Из всех инструментов встроенного отладчика наиболее часто используются точки остановки - BreakPoint. После установки точки, приложение будет работать до тех пор, пока не достигнет ее, после чего работа программы будет остановлена и управление переходит к IDE. Точки остановки удобнее всего снимать и ставить нажатием горячей клавиши «Ctrl+8», либо отметить строчку кода слева рядом с панелью нумерации строк.
После остановки работы программы, анализируются значения локальных переменных процедуры, в точке прерывания работы программы. Кроме этого, необходимо изучить стек вызовов, производимых до вызова данной процедуры.
Возникает вопрос: где ставить эти точки? Однозначного ответа нет. Они нужны лишь для того, чтобы облегчить нам изучение работы кода, если нет уверенности в его корректности, или содержащего явную ошибку незаметную при беглом просмотре. Конечно, куда проще поставить точку остановки и последовательно выполнить нужные строчки, чем потратить временя на изучение этого же самого кода, пытаясь определить, где же допущена ошибка.
Если не удаётся определить, где допущена ошибка, а лишь известно её примерное расположение в коде, то точку остановки стоит ставить выше строчки, где предположительно совершена ошибка. После остановки на точке необходимо пошагово опускать ниже по коду наблюдая за изменениями в переменных – это зачастую позволяет понять в какой строке кода была допущена ошибка. Данный метод идёт по строчкам кода, вниз не проваливаясь в вызываемые методы, но при необходимости можно уйти в вызываемый метод нажатием клавиши «F8».
Заключение
В данной курсовой работе описано только применение ручного тестирования и отладки при разработке программного обеспечения в среде PHP. Помимо него большую роль играет также применение автоматического Smoke тестирования, применяемого при разработке ПО и приёмочного на последнем завершающем этапе разработки. Существует огромное количество инструментов для отладки и тестирования, например популярные PHPUnit или Codeception. Рынок продуктов для тестирования растёт с каждым днём и не только для среды PHP, т.к. всё больше разработчиков и компаний осознают полезность подхода к разработке через тестирование.
Надёжность и правильность тестировании в основном зависит от их правильной организации и разработки автоматических тестов. При совершении тестирования в первую очередь не ставиться цель того, чтоб доказать правильность работы программного обеспечения и его оптимальность, а основная его цель, чтоб показать наличие в продукте ошибок и дефектов. Никто и никогда не может дать гарантию того, что при тестировании ПО каким-либо набором тестов есть возможность обнаружить все ошибки. Создание идеального программного продукта физически невозможно, но всегда стоит стремиться к нему и ориентироваться, чтоб оценка продукта была хотя бы не отлично, а очень хорошо. В первую очередь программу необходимо протестировать на том наборе тестов, который выявит максимальное количество ошибок. Но также нужно учитывать, что финансовые затраты и затраты времени на разрабатываемую программу при сложном и долгом тестировании растут. Во вторую очередь, необходимо определиться, когда нужно остановить отладку ПО; когда исправлено достаточное количество ошибок; и когда работа ПО была испытана в максимальном количестве конфигураций и наличие ошибок сведено к минимуму. Всё это делается исходя из поставленных требований к надёжности и качеству ПО.
Любая организация должна беспокоиться об ошибках в ее программных продуктах, так как они могут дорого обойтись для бизнеса – это потеря времени разработчиков и финансов фирмы, которая вкладывает в разработку ПО. Всё может закончится тем, что потребители начнут покупать программы конкурентов, а в случае, если разработка ведётся на заказ – заказчик может уйти. Пользователи могут легко переключаться с программы одной фирмы на программу другой, переходя с одного сайта на другой. Поэтому если программы одной фирмы будут содержать большое количество ошибок, то это нанесет непоправимый удар по бизнесу и имиджу компании и в результате потерю клиентов. Исходя из этого производители должны стремится к производству качественных программ с наименьшим количеством ошибок.
В заключении:
Отладку и тестирование необходимо считать одной из ключевых задач при разработке программного обеспечения и уделять ему больше времени.
Наилучшие тесты не те, которые доказывают правильность работы программ, а те, которые находят максимально возможное количество ошибок в этой программе.
Тестировать необходимо не только положительные, но и отрицательные результаты.
Необходимо вести отчёты по тестированию и внимательно изучать результаты прохождения тестов. В случае, если тест невозможно повторить, то от такого теста лучше всего отказаться.
Также необходимо производить так называемое регрессионное тестирование после изменений, внесённых в ПО, чтоб убедиться, что уже существующий функционал не был сломан при добавлении новых функции, правок в программном коде и исправлениях других ошибок.
См. Приложение 2.
Список использованных источников
- Глас Р. Руководоство по надежному программированию. М., Финансы и статистика / Глас Р, 2010.
- Т.А.Жданова, Ю.С. Бузыкова. Основы алгоритмизации и программирования: учеб. пособие / Т.А. Жданова, Ю.С. Бузыкова. – Хабаровск : Изд-во Тихоокеан. гос.ун-та, 2011. –56 с.
- Коликова Т.В., Котляров В.П. Основы тестирования программного обеспечения / М., Бином, 2010, 285 стр.
- Лайза Криспин, Джанет Грегори Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд / М.: «Вильямс», 2010. - 464 с.
- Майерс, Баджетт, Сандлер Искусство тестирования программ / Майерс.- 3-е. -- М.: «Диалектика», 2012. -- 272 с.
- Пестриков В. М., Маслобоев А. Н. Delphi на примерах. / Пестриков В. М. СПб.: БХВ-Петербург, 2009. -- 496 с.
- Синицын С. В., Налютин Н. Ю. Верификация программного обеспечения. /Синицын С. В.- М.: БИНОМ, 2008. -- 368 с.
- Стивен Р. Delphi. Готовые алгоритмы / Род Стивене; - 4-е изд. - М.: ДМК Пресс; СПб.: Питер, 2010. - 384 с.
- Тамре Л. Введение в тестирование программного обеспечения / М., Дрофа, 2009.
- Белов П.М. Основы алгоритмизации в информационных системах / П. В. Белов.-Учебн. Пособие.- Спб.: СЗТУ, 2003. – 85с.
- Ховард М., Лебланк Д. Защищенный код / М. Ховард.- Пер. с англ, - 2-е изд., испр. М.: Издательско-торговый дом «Русская Редакция», 2004. - 704 стр.
- Бруно Скворц . Узнать и полюбить Xdebug / Б. Скворц // Режим доступа: https://habr.com/ru/post/328094/ ( 5. 05. 17)
- Сивкоф. Отладка с помощью 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» |
Выполнение программы до выхода или до следующей точки остановки |