Изложена теория тестирования и отладки программ, причем рассматриваются как вопросы, интересные начинающим программистам, так и вопросы, полезные профессионалам, например вероятностные модели оценки количества ошибок в программе и количества необходимых тестов. Описание простой в использовании высокотехнологичной методики тестирования учебных программ подкрепляется примерами создания программ, в которых тестирование выступает как неотъемлемый аспект разработки программы. Отдельная глава посвящена подробному описанию отладочных средств системы Турбо Паскаль, широко используемой в школах и вузах для обучения программированию.
Для тех, кто изучает и учит программированию: старшеклассников, студентов, преподавателей вузов, учителей; также полезна и для профессиональных программистов.
В каком случае программа содержит ошибку?
Понятия тестирования и отладки связаны с процессом поиска и исправления ошибок в программе. Поэтому первый вопрос, на который надо ответить, будет звучать так: в каком случае в программе есть ошибка?
Программа содержит ошибку, если она ведет себя неразумно с точки зрения пользователя.
Это утверждение повергает новичков в замешательство: откуда же я знаю, какое поведение программы пользователь сочтет разумным? Но если вы не знаете, какое поведение программы разумно с точки зрения вашего заказчика, значит, вы не понимаете, какую задачу решаете. Как можно писать программу, не понимая, что она должна делать?
Как определить разумность поведения программы?
Во-первых, естественно, программа должна быть верна синтаксически, т. е. при ее трансляции не должно быть ошибок. Текст, содержащий синтаксические ошибки, вообще не имеет права называться программой. Такая «программа» вообще никак себя не ведет.
Во-вторых, программа должна правильно решать поставленную перед ней задачу. То есть при вводе в нее корректных исходных данных она должна выдавать правильный результат. Какой именно результат считать правильным, надо уточнить у заказчика. Например, если вам заказывают программу для вычисления квадратного корня, то должна ли она выдавать оба корня (положительный и отрицательный) или только арифметический? Корень из нуля — это ±0 или просто 0? Какова требуемая точность? Она всегда должна быть одна и та же или может меняться? Если меняться, то каким образом и по чьей инициативе? Надо ли выявлять периодические дроби? Как программа должна реагировать на отрицательное подкоренное выражение? А на предложение извлечь корень из а2? Вы можете предложить свои ответы на все эти вопросы.
Содержание.
Введение.
Глава 1. В каком случае программа содержит ошибку?.
Глава 2. Минимальные требования к программе: функциональность и удобство использования.
Глава 3. Понятия тестирования и отладки.
Глава 4. Принципы тестирования.
Глава 5. Понятие полноты тестирования.
Глава 6. Критерии черного ящика.
Глава 7. Критерии белого ящика.
Глава 8. Минимально грубое тестирование.
Глава 9. Ошибкоопасные ситуации.
9.1. Обращение к данным.
9.2. Вычисления.
9.3. Передача управления.
9.4. Подпрограммы.
9.5. Файлы.
Глава 10. Безмашинное тестирование.
Глава 11. Пример тестирования несложной программы.
Глава 12. Порядок работы над программой.
Глава 13. Нисходящее тестирование.
Глава 14. *Оценка количества ошибок в программе.
14.1. Модель Миллса.
14.2. «Парная» оценка.
14.3. Исторический опыт.
Глава 15. *Оценка количества необходимых тестов.
Глава 16. Отладка.
16.1. Место проявления ошибки и место нахождения ошибки.
16.2. Отладочные операторы.
16.3. Индуктивный и дедуктивный методы поиска ошибки. Ретроанализ.
16.4. Принципы отладки.
16.5. Анализ обнаруженной ошибки.
Глава 17. Отладочные средства системы Турбо Паскаль
17.1. Перечень отладочных средств Турбо Паскаля.
17.2. Пошаговое выполнение программы.
17.3. Контрольные точки.
17.4. Просмотр и вычисление значений переменных и выражений.
17.5. Наблюдение за стеком вызванных подпрограмм.
17.6. Локальное меню окна редактирования программы.
Глава 18. Еще один пример тестирования программы.
18.1. Построение тестов для критериев черного ящика.
18.2. Написание текста программы.
18.3. Подготовка к тестированию по критериям белого ящика.
18.4. «Сухая прокрутка».
18.5. Отладка на компьютере.
18.6. Уроки данного примера.
Глава 19. Что еще можно проверить в программе?.
Заключение.
Что читать дальше?.
Купить .
По кнопкам выше и ниже «Купить бумажную книгу» и по ссылке «Купить» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес», и потом ее скачать на сайте Литреса.
По кнопке «Найти похожие материалы на других сайтах» можно найти похожие материалы на других сайтах.
On the buttons above and below you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.
Хештеги: #учебник по программированию :: #программирование :: #Плаксин
Смотрите также учебники, книги и учебные материалы:
- Python, Notes for Professionals
- Python, Создание приложений, Библиотека профессионала, Чан У., 2015
- Комбинаторные алгоритмы, Федоряева Т.И., 2011
- Техника отладки программ без исходных текстов, Касперски К., 2005
- Программная инженерия сложных заказных программных продуктов, Липаев В.В., 2014
- Программирование в интернете, Турганбай К.Е., 2016
- Перспективные языки веб-разработки, Богданов М.Р., 2016
- Олимпиадное программирование, Антти Л., 2018