Тестирование. Ю. Б. Попова тестирование и отладка программного
Скачать 0.6 Mb.
|
7.3. Психологические аспекты отладки Отладка – это психологически сложный процесс, поскольку при- ходится искать ошибки в собственном программном коде, прихо- дится думать последовательно и логично, перестраиваться из разра- ботчика в тестировщика. В процессе отладки выделяют следующие психологические установки: 1) при использовании цикла while зачастую понимают, что усло- вие выполняется постоянно, а не в начале или в конце цикла; 2) ошибки в присваиваниях найти намного сложнее, чем ошибки взаимодействия; 3) при создании блоков часто имеют место подразумеваемые скобки, что приводит к неверной работе алгоритма (например, в при- мере ниже после оператора условия выполнится только одно при- своение): if (x swap :=x; x:=y; y:=swap; 4) при работе с переменными возникает такое понятие, как пси- хологическое расстояние – это легкость различия слов и, соответ- 63 ственно, переменных людьми. Примеры разного психологического расстояния приведены в табл. 7.1. Таблица 7.1 Примеры психологического расстояния 1-я переменная 2-я переменная Психологическое расстояние STOPT STOPPT Почти нуль SHIFTRF SHIFTRT Малозаметное CLAIMS 1 CLAIMS 2 Небольшое GCOUNT CCOUNT Небольшое PRODUCT SUM Большое 7.4. Средства отладки Большинство современных сред программирования включают средства отладки, которые обеспечивают максимально эффектив- ную отладку. Они позволяют: – выполнять программу по шагам, причем как с заходом в под- программы, так и выполняя их целиком; – предусматривать точки останова; – выполнять программу до оператора, указанного курсором; – отображать содержимое любых переменных при пошаговом выполнении; – отслеживать поток сообщений и т. п. Применять интегрированные средства отладки в рамках среды достаточно просто. Используют разные приемы в зависимости от проявлений ошибки. Если получено сообщение об ошибке, то сна- чала уточняют, при выполнении какого оператора программы оно получено. Для этого устанавливают точку останова в начало фраг- мента, в котором проявляется ошибка, и выполняют операторы в пошаговом режиме до проявления ошибки. Если получены неверные результаты теста, то локализовать ошиб- ку обычно сложнее. В этом случае сначала определяют фрагмент, при выполнении которого получаются неправильные результаты. Для этого последовательно проверяют интересующие значения в уз- ловых точках. Обнаружив значения, отличающиеся от ожидаемых, 64 по шагам трассируют соответствующий фрагмент до выявления опе- ратора, выполнение которого дает неверный результат. Для уточне- ния природы ошибки возможен анализ машинных кодов, флагов и представления программы и значений памяти в шестнадцате- ричном виде. Кроме отладчиков можно выделить следующие средства отладки: 1. Специальные средства расширения языка программирования для контроля типов и диапазонов значений данных, обработки ис- ключительных ситуаций и т.д. 2. Средства для печати значений используемых переменных при аварийном завершении программы. 3. Пакеты программ для прослеживания потоков управления и данных в программе, контроля индексов и регистрации вызовов программ. 4. Генераторы тестовых данных, формирующие требуемые тес- товые наборы. 5. Специальные онлайн-отладчики, обеспечивающие автомати- зацию рестартов, остановов и прерываний программы, просмотр ра- боты отдельных операторов и т. п. 6. CASE-средства для построения, например, схем потоков дан- ных, модулей данных, схем алгоритмов. 7. Автоматизированные рабочие места программистов, включа- ющие большинство из перечисленных средств. 65 ЛИТЕРАТУРА 1. Майерс, Г. Искусство тестирования программ / Г. Майерс. – Москва : Финансы и статистика, 1982. – 186 с. 2. Канер, С. Тестирование программного обеспечения / С. Канер. – Киев : ДиаСофт, 2001. – 544 с. 3. International Software Testing Qualifications Board [Электронный ресурс]. – Режим доступа – http://www.istqb.org/downloads/category/ 34-foundation-level-e-books.html. – Дата доступа: 01.02.2017. 4. Куликов, C. Тестирование программного обеспечения. Базо- вый курс / С. Куликов [Электронный ресурс]. – Режим доступа: http://svyatoslav.biz/software_testing_book. – Дата доступа: 01.02.2017. 5. Савин, Р. Тестирование Дот Ком / Р. Савин. – Москва : Дело, 2007. – 312 с. 6. Калбертсон, Р. Быстрое тестирование / Р. Калбертсон, К. Браун, Г. Кобб. – Москва : Вильямс, 2002. – 384 с. 7. Липаев, В. В. Тестирование программных средств / В. В. Ли- паев. – Москва : Финансы и статистика, 1999. – 264 с. 8. Макгрегор, Д. Тестирование объектно-ориентированного про- граммного обеспечения / Д. Макгрегор, Д. Сайкс. – Киев : ДиаСофт, 2002. – 348 с. 9. Кармайкл, Э. Быстрая и качественная разработка программ- ного обеспечения / Э. Кармайкл, Д. Хейнвуд. – Москва : Вильямс, 2003. – 400 с. 10. Watson, A. H. Structured Testing: A testing methodology using the cyclomatic complexity metric / A. H. Watson, T. J. McCabe [Элект- ронный ресурс]. – Режим доступа: www.mccabe.com/pdf/mccabe- nist235r.pdf. – Дата доступа: 01.02.2017. 11. Липаев, В. В. Тестирование компонентов и комплексов про- грамм. Учебник / В. В. Липаев. – М.: Синтег, 2010. – 400 с. 12. Бейзер, Б. Тестирование «черного ящика» / Б. Бейзер. – Киев : ДиаСофт, 2002. – 326 с. 13. Официальный сайт производителя TestComplete [Электронный ресурс]. – Режим доступа: https://smartbear.com/product/testcomplete/ overview. – Дата доступа: 01.02.2017. 14. Винниченко, И. В. Автоматизация процессов тестирования / И. В. Винниченко. – СПб. : Питер, 2005. – 203 с. 66 15. FYI On ROI: A Guide To Calculating Return On Investment By Andrew Beattie // Investopedia [Электронный ресурс]. – Режим досту- па: http://www.investopedia.com/articles/basics/10/guide-to-calculating- roi.asp. – Дата доступа: 01.02.2017. 16. Криспин, Л. Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд / Л. Криспин, Д. Грегори. – Москва : «Вильямс», 2010. – 464 с. 17. Agans, D. J. Debugging: The 9 indispensable rules for finding even the most elusive software and hardware problems / D. J. Agans. – NY, 2002. – 186 c. 67 Учебное издание ПОПОВА Юлия Борисовна ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Пособие Редактор Е. В. Герасименко Компьютерная верстка Н. А. Школьниковой Подписано в печать 23.03.2020. Формат 60 84 1 / 16 . Бумага офсетная. Ризография. Усл. печ. л. 3,89. Уч.-изд. л. 3,05. Тираж 500. Заказ 487. Издатель и полиграфическое исполнение: Белорусский национальный технический университет. Свидетельство о государственной регистрации издателя, изготовителя, распространителя печатных изданий № 1/173 от 12.02.2014. Пр. Независимости, 65. 220013, г. Минск. |