Программа – это набор строчек на языке программирования 1С. Набор строчек хранится в модулях.
Фактически модуль состоит из функций и процедур. Это строчки программы, объединенные названием. Внутри одной функции может быть вызвана другая, в том числе находящаяся в другом модуле.
Программа пишется в режиме Конфигуратора 1С. Программа выполняется в режиме Предприятия 1С.
А как выполняется программа?
Как выполняется программа?
Во-первых, при первом обращении к модулю, выполняются строки программы, расположенные в самом конце модуля, не заключенные в функцию или процедуру (если таковые есть).
Во-вторых, должен произойти вызов функции или процедуры. Это может быть сделано при выполнении какого-нибудь другого модуля. Если это модуль формы или модуль объекта – то в модуле есть обработчики. Обработчики – это такие функции, которые вызываются платформой 1С автоматически при возникновении определенного события. Например «при открытии формы» выполняется соответствующий обработчик (если он был назначен).
Программирование «Сверху вниз». Тестирование. Отладка. АиАЯ. 1 курс, 17 лекция
Когда появляется необходимость выполнить функцию – платформа начинает ее выполнение с первой строки программы внутри функции и идет последовательно вниз до конца функции, строчка за строчкой.
Исключение – если вызвана другая функция, тогда платформа переходит к выполнению нее и только потом возвращается обратно, откуда пришла.
Что такое отладка 1С?
Когда программа пишется – программист может только предположить как она должна работать. Когда она начинает работать по-настоящему, пользователь вводит в поля формы какие-то данные, начинают действовать определенные условия и настройки и программа внезапно может начать работать не совсем так, как предполагал программист.
При этом интересны конкретные решения, принимаемые программой, результаты сравнения в условиях «Если» и так далее.
Для этих целей используется отладка 1С. Ее общая идея состоит в том, что программист может поставить точку останова на нужной строке программы и программа остановит выполнение на ней – на паузу. В это время можно посмотреть какие значения приняли переменные и другие параметры.
Программист может нажать кнопку в отладчике 1С и программа продолжит свое выполнение, но не целиком, а только на одну строчку. И далее снова станет на паузу.
Таким образом можно отлавливать проблемные места программы.
Запуск отладки 1С
Так как программа пишется (и находится) в конфигураторе, а выполняется в режиме Предприятия, то для использования отладки 1С нужно иметь 1 конфигуратор и 1 отлаживаемый режим Предприятия:
- запущенными
- связанными.
Режим Предприятия можно сразу запустить с отладкой 1С. Для этого в конфигураторе можно использовать соответствующую кнопку как на картинке.
Или использовать меню Отладка/Начать отладку или Отладка/Начало отладки/Выбрать вариант клиента 1С.
Лекция 17 Отладка программ
Если же у Вас уже есть запущенная 1С в режиме Предприятие и Вы хотите подключиться к ней, нужно сделать следующие действия:
1) В клиенте 1С в режиме Предприятие в меню Сервис/Параметры на закладке «Служебные» установите галочку «Отладка в текущем сеанса разрешена»
2) В конфигураторе выберите пункт меню Отладка/Подключение
3) В открывшемся окне выделите курсором нужный клиент и нажмите кнопку Подключиться.
Точка останова 1С (брейкпоинт)
После того, как Вы связали конфигуратор и запущенный клиент отладкой 1С (то есть «подключились отладчиком 1С») – все действия программ из модулей этого клиента выполняются под контролем этого конфигуратора.
Чтобы начать смотреть как происходит выполнение – необходимо установить в нужно месте точку останова (брейкпоинт).
Для этого необходимо открыть тот модуль, который Вы хотите отлаживать. Далее найти требуемую процедуру. Точку останова можно установить следующими способами:
- Щелкнуть левой кнопкой мыши на серую полосу слева от текстов модулей
- Нажать F9
- Выбрать пункт меню Отладка/Точка останова.
В результате появится красный кружок, как на картинке. Это и есть точка останова. Как только программа, выполняющаяся в режиме Предприятие, дойдет до этой строчки, она перестанет выполняться и остановится на паузу.
Когда это произошло (программа остановилась на паузу) – на строчке, на которой сейчас «находится выполнение» будет стоять желтая стрелочка.
Чтобы просмотреть значение переменной в этот момент – выделите курсором требуемую переменную и нажмите Shift + F9.
Чтобы выполнить одну строку (то есть перейти на следующую строку) – нажмите соответствующую кнопку как на картинке или выберите пункт из меню Отладка 1С.
Точка останова с условием
Кроме обычной точки останова, можно установить такую, которая будет срабатывать только если выполняется условие, указанное в ней. Она называется «Точка останова с условием» — см. одноименный пункт в меню Отладка 1С.
Например, в программе есть цикл, который повторяется множество раз. Мы можем поставить точку останова, которая сработает на определенном повторении цикла («итерации цикла»).
Точка останова по ошибке
Для подобных целей есть точка останова, которая срабатывает когда при работе «в отладчике 1С» происходит любая ошибка или ошибки определенного вида.
Обратите внимание, что такая точка остановки отлавливает даже те ошибки, которые происходят в обработчике ошибок Попытка/Исключение.
Проголосовать за этот пост:
Источник: howknow1c.ru
Отладка и обработка исключительных ситуаций
Аннотация: Корректность и устойчивость. Cпецификация системы. Корректность и устойчивость программных систем. Исключительные ситуации. Обработка исключительных ситуаций.
Жизненный цикл программной системы. Три закона программотехники. Отладка. Создание надежного кода. Искусство отладки.
Отладка и инструментальная среда Visual Studio .Net.
Корректность и устойчивость программных систем
Корректность и устойчивость — два основных качества программной системы, без которых все остальные ее достоинства не имеют особого смысла. Понятие корректности программной системы имеет смысл только тогда, когда задана ее спецификация . В зависимости от того, как формализуется спецификация , уточняется понятие корректности .
В лекции 10 введено строгое понятие корректности метода по отношению к его спецификациям , заданным в виде предусловия и постусловия метода.
Корректность — это способность программной системы работать в строгом соответствии со своей спецификацией . Отладка — процесс, направленный на достижение корректности .
Во время работы системы могут возникать ситуации, выходящие за пределы, предусмотренные спецификацией . Такие ситуации называются исключительными . Устойчивость — это способность программной системы должным образом реагировать на исключительные ситуации . Обработка исключительных ситуаций — процесс, направленный на достижение устойчивости .
Почему так трудно создавать корректные и устойчивые программные системы? Все дело в сложности разрабатываемых систем. Когда в 60-х годах прошлого века фирмой IBM создавалась операционная система OS-360 , то на ее создание потребовалось 5000 человеко-лет, и проект по сложности сравнивался с проектом высадки первого человека на Луну. Сложность нынешних сетевых операционных систем, систем управления хранилищами данных, прикладных систем программирования на порядки превосходит сложность OS-360 , так что, несмотря на прогресс, достигнутый в области технологии программирования, проблемы, стоящие перед разработчиками, не стали проще.
Жизненный цикл программной системы
Под » жизненным циклом » понимается период от замысла программного продукта до его «кончины». Обычно рассматриваются следующие фазы этого процесса:
Проектирование Разработка Развертывание и Сопровождение
Все это называется циклом, поскольку после каждой фазы возможен возврат к предыдущим этапам. В объектной технологии этот процесс является бесшовным, все этапы которого тесно переплетены. Не следует рассматривать его как однонаправленный — от проектирования к сопровождению. Чаще всего, ситуация обратная: уже существующая реализация системы, прошедшая сопровождение, и существующие библиотеки компонентов оказывают решающее влияние на то, какой будет новая система, каковы будут ее спецификации .
Вот некоторые типовые правила, характерные для процесса разработки ПО:
- Уделяйте этапу проектирования самое пристальное внимание. Успех дела во многом определяется первым этапом. Нет смысла торопиться с переходом на последующие этапы, пока не составлены ясные и четкие спецификации . Ошибки этого этапа — самые дорогие и трудно исправляемые.
- Помните о тех, для кого разрабатывается программный продукт. Идите «в люди», чтобы понять, что нужно делать. Вместе с тем, не следует полностью полагаться на пользователей — их опыт консервативен, новые идеи могут часто приходить от разработчиков, а не от пользователей.
- Разработка не начинается «с нуля». Только используя уже готовые компоненты, можно своевременно создать новую систему. Работая над проектом, думайте о будущем, создавайте компоненты, допускающие их повторное использование в других проектах.
- Создавайте как можно раньше прототип своей системы и передавайте его пользователям в опытную эксплуатацию. Это поможет устранить множество недостатков и ошибок в заключительной версии программного продукта.
- Какие бы хорошие спецификации не были написаны, какими бы хорошими технологиями и инструментами не пользовались разработчики, какими бы профессионалами они ни были — этого еще не достаточно для успеха дела. Необходимым условием является управление проектом, наличие специальных средств управления. Но и этого не достаточно. Третьим важным фактором является существование команды. Коллектив разработчиков должен представлять собой единый коллектив. Умение работать в команде так же важно, как и профессиональные навыки разработчика.
Три закона программотехники
Первый закон (закон для разработчика)
Корректность системы — недостижима. Каждая последняя найденная ошибка является предпоследней.
Этот закон отражает сложность нетривиальных систем. Разработчик всегда должен быть готов к тому, что в работающей системе имеются ситуации, в которых система работает не в точном соответствии со своей спецификацией , так что от него может требоваться очередное изменение либо системы, либо ее спецификации .
Второй закон (закон для пользователя)
Не бывает некорректных систем. Каждая появляющаяся ошибка при эксплуатации системы — это следствие незнания спецификации системы.
Есть два объяснения справедливости второго закона . Несерьезное объяснение состоит в том, что любая система, что бы она ни делала, при любом постусловии корректна по отношению к предусловию False , поскольку невозможно подобрать ни один набор входных данных, удовлетворяющих этому предусловию. Так что все системы корректны , если задать False в качестве их предусловия. Если вам пришлось столкнуться с системой, предусловие которой близко к False , то лучшее, что можно сделать, это отложить ее в сторону и найти другую.
Более поучительна реальная ситуация, подтверждающая второй закон и рассказанная мне в былые годы Виталием Кауфманом — специалистом по тестированию трансляторов. В одной серьезной организации была разработана серьезная прикладная система, имеющая для них большое значение.
К сожалению, при ее эксплуатации сплошь и рядом возникали ошибки, из-за которых организация вынуждена была отказаться от использования системы. Разработчики обратились к нему за помощью. Он, исследуя систему, не внес в нее ни строчки кода. Единственное, что он сделал, это описал точную спецификацию системы, благодаря чему стала возможной нормальная эксплуатация.
Обратите внимание на философию, характерную для этих законов: при возникновении ошибки разработчик и пользователь должны винить себя, а не кивать друг на друга. Так что часто встречающиеся фразы «Ох уж эта фирма Чейтософт — вечно у них ошибки!» характеризует, мягко говоря, непрофессионализм говорящего.
Третий закон (закон чечако)
Если спецификацию можно нарушить, — она будет нарушена. Новичок (чечако) способен «подвесить» любую систему.
Неквалифицированный пользователь в любом контексте всегда способен выбрать наименее подходящее действие, явно не удовлетворяющее спецификации , которая ориентирована на «разумное» поведение пользователей. Полезным практическим следствием этого закона является привлечение к этапу тестирования системы неквалифицированного пользователя — «человека с улицы».
Отладка
Что должно делать для создания корректного и устойчивого программного продукта? Как минимум , необходимо:
- создать надежный код , корректность которого предусматривается с самого начала;
- отладить этот код;
- предусмотреть в нем обработку исключительных ситуаций .
Создание надежного кода
Большинство вопросов, затрагиваемых в этой лекции, в том числе и проблемы создания надежного кода , заслуживают отдельного и глубокого рассмотрения. К сожалению, придется ограничиться лишь высказыванием ряда тезисов.
Для повышения надежности нужно уменьшить сложность системы, и главное в этом процессе — это повторное использование . В идеале большая часть системы должна быть собрана из уже готовых компонентов. Объектная технология проектирования вносит свой вклад в повышение надежности кода.
Наследование и универсализация позволяют, не изменяя уже существующие классы, создать новые классы, новые типы данных, придающие проектируемой системе новые свойства при минимальных добавлениях нового кода. Статический контроль типов позволяет выявить многие ошибки еще на этапе компиляции. Динамическое связывание и полиморфизм позволяют автоматически включать объекты классов-потомков в уже существующие схемы работы — методы родителя могут вызывать методы потомков, ничего не зная о появлении этих новых потомков. Автоматическая сборка мусора позволяет снять с разработчика обязанности управления освобождением памяти и предотвратить появление крайне неприятных и опасных ошибок, связанных с некорректным удалением объектов.
Крайне важную роль в создании надежного кода играют спецификации методов класса, класса в целом, системы классов. Спецификации являются частью документации, встроенной в проект, и вообще важной его частью. Их существование облегчает не только создание корректного кода, соответствующего спецификации , но и создание системы тестов, проверяющих корректность кода. Нужно сказать, что существуют специальные инструментальные средства, поддерживающие автоматическое создание тестов на основе спецификаций . Незаменима роль спецификаций на этапе сопровождения и повторного использования компонентов. Невозможно повторно использовать компонент, если у него нет ясной и полной спецификации .
Источник: intuit.ru
Презентация на тему Отладка и тестирование программ
Слайд 1Отладка и тестирование программ
Автор презентации:
Учитель информатики
МКОУ «СОШ №2
ст. Преградная»
Хачко Ирина Александровна
Слайд 2Основные этапы процесса разработки программы
Слайд 3Как проконтролировать текст программы до выхода на компьютер?
Просмотр
Проверка
Прокрутка
Слайд 4Для чего нужны отладка и тестирование?
Отладка программы — это
процесс поиска и устранения ошибок в программе, производимый по результатам
ее прогона на компьютере.
Тестирование — это испытание, проверка правильности работы программы в целом либо ее составных частей.
Слайд 5В чем заключается отладка?
Слайд 6Что такое тест и тестирование?
Программу условно можно считать правильной, если
ее запуск для выбранной системы тестовых исходных данных во всех
случаях дает правильные результаты.
Тестирование может показать лишь наличие ошибок,
но не их отсутствие.
Э. Дейкстра
Вычислять эталонные результаты нужно обязательно до,
а не после получения машинных результатов.
Слайд 7Какими должны быть тестовые данные?
Пример. Система тестов для задачи нахождения
корней квадратного уравнения ах2 + Ьх + с =
Слайд 8Из каких этапов состоит процесс тестирования?
Проверка в экстремальных условиях.
Проверка
в исключительных ситуациях.
Проверка в нормальных условиях.
Слайд 9Характерные ошибки программирования
Слайд 10Является ли отсутствие синтаксических ошибок свидетельством правильности программы?
пропуск знака пунктуации;
несогласованность скобок;
неправильное формирование оператора;
неверное образование имен переменных;
неверное
написание служебных слов;
отсутствие условий окончания цикла;
отсутствие описания массива и т. п.
Слайд 11Какие ошибки не обнаруживает транслятор
Слайд 12
Слайд 13Логические ошибки:
неверное указание ветви алгоритма после проверки некоторого условия;
неполный учет
возможных условий;
пропуск в программе одного или более
блоков алгоритма.
Слайд 14Ошибки в циклах:
неправильное указание начала цикла;
неправильное указание условий окончания
цикла;
неправильное указание числа повторений цикла;
бесконечный цикл.
Слайд 15Ошибки ввода-вывода, ошибки при работе с данными:
неправильное задание типа данных;
организация
считывания меньшего или большего объема данных, чем требуется;
неправильное редактирование данных.
Слайд 16Ошибки в использовании переменных:
использование переменных без указания их начальных значений;
ошибочное указание одной переменной вместо другой.
Слайд 17Ошибки при работе с массивами:
массивы предварительно не обнулены;
массивы неправильно описаны;
индексы
следуют в неправильном порядке.
Слайд 18Ошибки в арифметических операциях:
неверное указание типа переменной (например, целочисленного вместо
вещественного);
неверное определение порядка действий;
деление на нуль;
извлечение квадратного корня из отрицательного
числа;
потеря значащих разрядов числа.
Слайд 19В чем заключается сопровождение программ ?
Сопровождение программ — это
работы, связанные с обслуживанием программ в процессе их эксплуатации.
Слайд 20Желаю вам программ без ошибок
Похожие презентации
Обратная связь
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Что такое TheSlide.ru?
Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно хранить и делиться своими презентациями с другими пользователями.
Источник: theslide.ru