Помощь в написании студенческих работ
Антистрессовый сервис

Автоматизация тестирования программных приложений методом ключевых состояний

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

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

Автоматизация тестирования программных приложений методом ключевых состояний (реферат, курсовая, диплом, контрольная)

Содержание

  • 1. ОБЗОР СОВРЕМЕННЫХ ПОДХОДОВ К ПРОЦЕССУ ТЕСТИРОВАНИЯ И ЕГО АВТОМАТИЗАЦИИ
    • 1. 1. Тестирования программного обеспечения
      • 1. 1. 1. Определение тестирования
      • 1. 1. 2. Место тестирования в процессе разработки программного обеспечения
      • 1. 1. 3. Различные подходы к тестированию
    • 1. 2. Количественные критерии качества тестирования
    • 1. 3. Модульное тестирование
      • 1. 3. 1. Способы тестирования взаимодействия модулей
      • 1. 3. 2. Стратегии выполнения пошагового тестирования
  • Нисходящее тестирование
  • Восходящее тестирование
    • 1. 3. 3. Принципы тестирования структуры программных модулей
  • Показатели корректности тестирования структуры программных модулей
  • Оценка достигаемой корректности программ
    • 1. А Регрессионное тестирование
    • 1. 5. Автоматизированное тестирование
    • 1. 5. 1. Цпк-тестирование
    • 1. 5. 2. Программные средства автоматизации тестирования
    • 1. 6. Выводы
    • 1. 6. 1. Актуальность темы
    • 1. 6. 2. Цель работы
  • 2. МЕТОД КЛЮЧЕВЫХ СОСТОЯНИЙ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ ПРОГРАММНЫХ
  • ПРИЛОЖЕНИЙ
    • 2. 1. Описание метода и методики его применения
    • 2. 2. Разработка математической модели контекстного представления множества произвольных состояний
    • 2. 3. Разработка метода формирования множества понятий предметной области (кластеров)
    • 2. 4. Разработка метода классификации контекстных групп
    • 2. 5. Разработка метода контекстного распознавания архитипических систем
    • 2. 6. Теоретическое обоснование преимуществ разработанного метода
    • 2. 7. Язык описания тестов
      • 2. 7. 1. Скрипт
      • 2. 7. 2. Акции (действия)
      • 2. 7. 3. Состояния
      • 2. 7. 4. Проверка множества состояний
      • 2. 7. 5. Динамические состояния
      • 2. 7. 6. Динамические коллекции состояний
      • 2. 7. 7. Сохранение состояния
      • 2. 7. 8. Процедуры
  • Создание объектов
  • Удаление объектов
  • Изменение свойств объектов
    • 2. 7. 9. Фабрики состояний
    • 2. 7. 10. Фильтры состояний
    • 2. 7. 11. Модификаторы параметров состояний
    • 2. 7. 12. Примеры
  • Пример простейшего скрипта
  • Пример декларации действия
  • Примеры определения состояния
  • Пример описания проверки
  • Пример процедуры
    • 2. 8. Система поддержки автоматизированных тестов
    • 2. 9. Расширение нового метода автоматизации тестирования
  • 3. Результаты применения разработанных методов
    • 3. 1. Анализ применения разработанных методов и средств
    • 3. 2. Выводы

Актуальность темы

исследования. Появление первых компьютеров повлекло за собой и появление их непременных спутников — компьютерных программ (программных продуктов). Программирование, как и любая человеческая деятельность, каковым оно является, практически невозможно без ошибок. И если на ранних этапах развития процесс отладки программ, в силу их достаточной примитивности не представлял большой проблемы, то в настоящее время картина происходящего резко изменилась.

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

Все вышесказанное привело к тому, что контроль над изменениями приобрел статус критического фактора для сохранения полезности программ [35], т. е. фактора, ставшего по степени значимости доминирующим, что не могло не привлечь внимания специалистов.

Исследование причин неудач при реализации больших программных проектов, проведенное в 80-х годах прошлого века [76], показало, что число ошибок в спецификациях на программы значительно превышает их количество в программных кодах. Так около 56% ошибок допускаются на этапе формулировки требований к программе, при этом расходуется в среднем 82% всех усилий, затраченных коллективом на устранение ошибок проекта, в то время, как на этапе кодирования программ допускается соответственно 7% ошибок и тратится 1% усилий на их ликвидацию [76].

Кроме того, можно выделить пять наиболее важных этапов жизненного цикла программного средства:

• спецификацию;

• проектирование;

• кодирование;

• отладку;

• сопровождение.

По затратам времени, человеческих и машинных ресурсов все эти этапы не одинаковы. Наиболее «дорогими», в этом смысле, являются этапы, связанные с поиском ошибок в программах. Затраты ресурсов на них могут быть равными или даже превосходить совокупные затраты ресурсов на остальных этапах. В стандарте ОСЮ-8ТО-2167-А около 30% требований, документов и соответствующих им процессов непосредственно связаны с отладкой, тестированием и испытаниями программ. Данный стандарт является обязательным при выполнении заказов Министерства обороны США [26]. Эти затраты быстро увеличиваются при возрастании требований к качеству программного продукта. Следует учитывать, что значительная часть работ, выполняемых на этапе сопровождения, связана с поиском и устранением оставшихся в программе ошибок. Исследования [23, 63, 69] показали, что на долю устранения ошибок и сопровождение программного продукта приходится почти 75% всех затрат. Кроме того, и в случае внесения новых ошибок в программу на этап сопровождения приходятся огромные затраты.

Безусловно, подобная ситуация была неприемлема, поэтому существовавший стандартный процесс разработки программного обеспечения подвергся некоторой модернизации. Было сформулировано предложение, что для случаев повторной проверки корректности существующей функциональности программы, унаследованной, к примеру, в процессе разработки из предыдущей версии, необходимо использование регрессионного тестирования [46, 52] - повторного тестирования части программы, зависящей от внесенных изменений. Регрессионное тестирование прекрасно подходит как для проверки корректности изменений, внесенных в тестируемую систему, так и для проверки корректности добавленных к системе новых компонентов и функциональных возможностей. Кроме того, регрессионное тестирование позволяет проверить, что внесенные в код программы изменения корректны и не воздействуют неблагоприятно на остальные ее части. В случае же обнаружения в программе новых ошибок считается, что в системе появились регрессионные ошибки [56, 61]. Ввиду того, что поведение новой версии программы должно совпадать с поведением предыдущей версии, за исключением ситуаций, обусловленных внесением изменений, соответствующих новым требованиям к системе, регрессионные системные тесты можно рассматривать как частичные требования к новым версиям системы. В большинстве случаев вместо регрессионного тестирования для проверки того, что качество новой версии программы не ухудшилось, выполняется множество всех тестов, используемых на этапе системного и функционального тестирования продукта.

Регрессионное тестирование относится к необходимым методам профилактического сопровождения и применяется в ходе процесса разработки и модификации программного продукта. Однако, такой род деятельности является крайне ресурсоемким и, как следствие, дорогостоящим. Это обусловлено необходимостью проводить регрессионное тестирование в случае внесения даже малейших изменений в код программы, в то время, как процесс регрессионного тестирования может включать в себя исполнение достаточно большого количества тестов на скорректированной версии программы. И несмотря на то, что усилия, требуемые для внесения небольших изменений, как правило, минимальны, они могут требовать достаточно больших усилий для проверки качества измененной программы [42, 43]. Тем не менее, надежная и эффективная разработка и сопровождение программного обеспечения невозможны без регрессионного тестирования [55]. Одним из очевидных решений здесь является автоматизация процесса тестирования, помогающая ускорить создание продукта и улучшить его качество.

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

Использование программных инструментов автоматизации тестирования на сегодняшний день является довольно распространенным способом автоматизации тестирования приложений с графическим интерфейсом. На рынке компьютерных технологий предлагается довольно большое количество подобного рода инструментов. Неотъемлемой и, пожалуй, одной из основных частей функциональности таких продуктов является функциональность, позволяющая производить «запись» и «воспроизведение» автоматизированных тестов в различных средах. При «записи» тестов фиксируются нажатия клавиш и манипуляции мышью, совершаемые тестировщиком, в результате в фоновом режиме автоматически создается скрипт на языке высокого уровня. Полученная запись и является той компьютерной программой, которую принято называть тестовым скриптом. Однако скрипт, полученный путем записи действий тестировщика, в большинстве случаев невозможно применить для использования в автоматизации регрессионного тестирования, он требует дальнейшей доработки. Для этого данные инструменты обладают достаточно гибким языком описания тестов и возможностью внесения изменений в «записанные» тесты или же написания таких тестов без помощи механизма «записи» .

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

Целью исследования работы является создание методики разработки автоматизированных тестов, лишенной недостатков существующих методов и средств автоматизации тестирования и удовлетворяющей следующим требованиям: универсальность в плане применения при автоматизации любого программного продуктавысокая эффективность разрабатываемых автоматизированных тестовотносительно низкая трудоемкость.

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

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

Предметом исследования являются реляционные отношения, возникающие в процессе формирования и дифференциации состояний тестируемых систем.

Методологической и теоретической основой диссертации послужили фундаментальные труды отечественных и зарубежных программистов, изучающих проблемы безошибочного программирования основывающегося на реализации процессов автоматизации всех этапов жизненного цикла программных продуктов от проектирования и кодирования программ до документирования и их сопровождения. К таким средствам относятся: САБЕ-средства, объектно-ориентированное программирование, методы логического программирования. Особое место занимают методы визуального программирования, поскольку приближение формы представления программы и способов ее кодирования к образному способу мышления человека в значительной степени сокращает число ошибок, допускаемых человеком при разработке программ, и повышает надежность программирования [27].

Кроме того, основой диссертации послужили публикации научной и периодической печати.

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

Научная новизна диссертационного исследования состоит в:

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

• распознавании ключевых состояний тестируемых систем, в связи с чем решена задача системной классификации множества произвольных состояний;

• разработке нового подхода к классификации кластеров выделенного множества состояний, построение на основе этого динамической библиотеки состояний;

• разработке универсального метода автоматизации регрессионного тестирования, обеспечивающего высокую эффективность автоматизированного тестирования, и требующего относительно малых трудовых затрат на реализацию;

• разработке языка описания тестов;

• создании инструментария, поддерживающего процесс автоматизации регрессионного тестирования на основе разработанного метода.

Практическая значимость полученных результатов заключается в том, что:

• разработан метод, являющийся универсальным методом автоматизации регрессионного тестирования больших промышленных программных продуктов, и обеспечивающего высокую безопасность и эффективность;

• разработан язык описания тестов;

• создан инструментарий, позволяющий применение нового метода;

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

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

Стоит отметить, что описанный метод можно использовать не только при автоматизации регрессионного тестирования, но и при автоматизации функционального и системного тестирования [11].

Разработанный метод, язык описания тестов и инструментарий поддержки данного метода были внедрены в производственный процесс Филиала Корпорации «Борланд Лабе., Инк.» .

Результаты работы.

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

Основные результаты работы докладывались и обсуждались на следующих конференциях:

— XXXI неделя науки СПбГПУ;

— XXXIII неделя науки СПбГПУ;

— Технологии Microsoft в теории и практике программирования 2005.

По материалам диссертационной работы опубликовано 7 печатных работ.

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

На защиту выносятся:

1. Метод ключевых состояний автоматизации тестирования программных приложений.

2. Язык описания тестов.

3. Инструментарий, поддерживающего процесс автоматизации регрессионного тестирования на основе разработанного метода.

ЗАКЛЮЧЕНИЕ

.

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

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

Научная новизна диссертационного исследования состоит в:

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

• распознавании ключевых состояний тестируемых систем, в связи с чем решена задача системной классификации множества произвольных состояний.

• разработке нового подхода к классификации кластеров выделенного множества состояний, на основе чего строится динамическая библиотека состояний.

• разработке универсального метода автоматизации регрессионного тестирования, обеспечивающего высокую эффективность автоматизированного тестирования, и требующего относительно малых трудовых затрат на реализацию;

• разработке языка описания тестов;

• создании инструментария, поддерживающего процесс автоматизации регрессионного тестирования на основе разработанного метода.

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

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

Разработанный метод, язык описания тестов, и инструментарий поддержки данного метода были внедрены в производственный процесс Филиала Корпорации «Борланд Лабе., Инк.» .

Показать весь текст

Список литературы

  1. Аджиев В. MS: корпоративная культура разработки ПО // Открытые системы, 1998, № 1.
  2. Ахо, Ульман Введение в теорию компиляции // М. Мир, 1978.
  3. ., Браун Дж., Каспар X. Характеристики качества программного обеспечения. М.: Мир, 1981.
  4. И. Автоматизация тестирования // http://www.newport-group-inc.com/PDF/!mercury.pdf.
  5. М. Практические рекомендации по освоению и внедрению CASE средств // Открыте системы, 1997, № 1.
  6. Г. П., Соловьев С. Ю., Сотников А. Н., Шабанов Б. М. Проблема 2000 года и задача реконструкции дат // Автоматизация и проектирование, 1999, № 2.
  7. Г. Л., Черноруцкий И. Г. Современные методики тестирования компьютерного программного обеспечения. Автоматизация тестирования // Материалы межвузовской научной конференции «XXXI неделя науки СПбГПУ». Ч. 6. СПб.: Издательство СПбГПУ, 2003. С. 24−25.
  8. Г. Л. Система поддержки action-тестов. Язык action-тестов // Вычислительные, измерительные и управляющие системы.: Сборник научных трудов аспирантов и молодых ученых факультета технической кибернетики. СПб.: Изд-во Политехи, ун-та, 2004.
  9. Дубова Н, Знак качества программному продукту // Открыте системы, 1998, № 6.
  10. Р., Харт П. Распознавание образов и анализ сцен // Пер. с англ. -М.Мир, 1976.-511с.
  11. Д. Большие проекты // http://www.training.ru/russian/publication 1.
  12. Илья Бромберг, журнал «Открытые системы», #05, 2002.
  13. В.В. «Тестирование программ», М. Радио и связь, 1986.
  14. В.В. Качество программного обеспечения. М.: Финансы и статистика, 1983.
  15. Г. Надежность программного обеспечения. «Мир», Москва, 1980.
  16. Г. «Искусство тестирования программ», М. Финансы и статистика, 1982.23. «Тестирование программного обеспечения» // http://se.math.spbu.ru/Courses/Testing/Testing.html.
  17. Разработка программ с использованием Microsoft English Query: оснастите возможностями естественного языка запросов ваши веб-узлы и приложения // СУБД, специальный выпуск, посвященный Microsoft SQL Server 7.0, 1998.
  18. Т. Программирование для Windows в Borland С++. M.: БИНОМ, 1995.
  19. Современные технологии разработки и тестирования ПО // http://www.ssau.ni/struct/kafedry/ist/tp/l.html.
  20. А. С. Y2K от проблемы к решению! //http://www.digdes.spb.ru/about/advertising/current/articles/ComPress/y2kdd.ht ml.
  21. Тестирование приложений пользователя, измененных с учетом проблемы 2000 года // Министерство транспорта Российской Федерации, 1998.
  22. Тестируйте приложения клиент/сервер в процессе их разработки! //• Сети, 1994, № 37.
  23. Технология программирования // http://csd.ehu.by/librar/prog/sofl/p5.asp.
  24. С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях.- Киев: Диалектика, 1993.
  25. Юфа В. Что такое «Проблема 2000» // Банковские технологии, 1999, № 5−6.
  26. Agrawa Н., Horgan J. R. Automated regression testing of graphical user interface based application // Proceedings of the Conference on Software Maintenence, 1993, pp. 348−357.
  27. Ahmed N., Liu H., Sung K. Incremental Learning with Support Vector Machines // Proceedings of the fifth International Conference on Knowledge Discovery and Data Mining, ACM Press (1999), pp. 317−321.
  28. Andreas J. R. Automated regression testing of graphical user interface 4 based application // Proceedings of the Twenty-four Annual Hawaii1. ternational Conference on System Sciences, 1991, Vol. 2, p. 101.
  29. Aubrey Ch. Breakthrough to World Class Service Levels with Six Sigma. Proc 44th EOQ Congress, Budapest, 2000. v. l, p.175−178.
  30. B. Beizer. Software Testing Techniques. New York: International Thomson Publishers, 1990.
  31. Beck K. Simple Smalltalk Testing With Patterns // http://www.xprogramming.com/testfram.htm.
  32. Binkley D. Reducing the cost of regression testing by semantics guided • test case selection // Proceedings of the International Conference on Software
  33. Maintenance, 1995, pp. 251−260.
  34. Binkley D. Semantics guided regression test cost reduction // IEEE Transaction on Software Engineering, 1997, Vol. 23, № 8, pp. 498−516.
  35. Binkley D. Using semantic differencing to reduce teh cost of regression testing // Proceedings of the Conference on Software Maintenance, 1992, pp. 41−50.
  36. Blakeslee J.A. Implementing the Six Sigma Solution. Quality Progress, 1999. July, p. 77−85.
  37. Forgacs I., Hajnal A., Takacs E. Regression slicing and its use inregression testing // Proceedings of the Twenty-second Annual International Computer Software and Applications Conference, 1998, pp. 464−469.
  38. Granja I., Jino M. Techniques for regression testing: selecting test case sets tailored to possibly modified functionalities // Proceedings of the Third European Conference on Software Maintenance and Reengineering, 1999, pp. 211.
  39. Hahn G.J. et al. The Impact of Six Sigma Improvement A Glimpse into the Future of Statistics. The American Statistician. 1999. August.(www.amstat.org/publications/tas/ abstracts % 5 F99/various.html).
  40. Harrold M. J., Rosenblum D. S., Rothermel G., Weyuker E. J. Empirical studies of a prediction model for regression test selection // IEEE Transaction on Software Engineering, 2001, Vol. 27, № 3, pp. 248−263.
  41. Harry M.J. Six Sigma: A Breakthrough Strategy for Profitability. -Quality Progress, 1998, May, p.60 64. Пер.: Методы менеджмента качества, 2000.№ 6, с.8−14.
  42. Hoerl R.W. Six Sigma and the Future of the Quality Profession. Quality Progress, 1998. June, p.35 42.
  43. Hoskins J., Stuart B., Taylor J. Statistical Process Control.• Motorola, 1991.-31 p.
  44. IEEE Standard 610.12−1990, p. 61.
  45. IEEE Standard 610.12−1990, p. 74.• .
  46. IS Integration White Paper. Test automation. Ensuring a return on yourinvestment // http://www.isintegration.co.uk/Documents/White papers/ROI forAutomatedTools.pdf.
  47. Jeon T., Von Mayrhauser A. A knoewledgebased approach to regression testing // Proceedings of the First Asia-Pacific Software Engineering Conference, 1994, pp. 144−153.
  48. Jeron T., Jezequel J. M., Le Traon Y., Morel P. Efficient strategies for integration and regression testing of OO systems // Proceedings of the 1 Oth1. ternational Symposium on Software Reliability Engineering, 1999, pp. 260 269.
  49. Jones C. Applied Software Measurement, 1991.
  50. Jones C. Assessment and Control of Software Risks, Yourdon Press Computing, Hardcover, 1994.
  51. Jones C. Programming Productivity, McGraw-Hill.
  52. Kaner C. Software negligence and testing coverage // #- http://www.kaner.com/coverage.html.
  53. Le Traon Y., Jeron T., Jezequel J. M., Morel P. Efficient object-oriented integration and regression testing // IEEE Transactions on Reliability, 2000, Vol. 49, № 1, pp. 12−25.
  54. Leung H. K. N., White L. J. A cost model to compare regression test strategies // // Proceedings of the Conference on Software Maintenance, 1991, pp. 201−208.
  55. Lientz B. P., Swanson E. B. Software maintenance management // Addison-Wesley, 1980.
  56. Maguire M. Cowboy Quality. Quality Progress, 1999, October, p. 27−34.• 64. Marash S.A. Six Sigma: A Quality Philosophy for the Next Millennium. Proc. 44th EOQ Congress, Budapest, 2000. v. l, p. 168−174.
  57. Rothermel G., Harrold M. J. Analysing regression test selection techniques // IEEE Transaction on Software Engineering, 1996, Vol. 22, № 8, pp. 529−551.
  58. S. McConnell «Code Complete», Microsoft Press, 1993. 858 p.
  59. Schach S. Software engineering with Java // McGraw-Hill, 1996, 640pp.
  60. Snee R.D. Why Should Statisticians Pay Attention to Six Sigma? An examination for their role in the six sigma methodology. Quality Progress, 1999. September, p. 100−103.
  61. Stacey D. A. Software testing techniques //http://hebb.cis.uoguelph.ca/~deb/27 343/Lectures/testing.html.
  62. Taneja I., Pardo L., Morales D., Mendez M. On generalized information and divergence measures and their applications: A brief review // Questiio, 13, pp. 47−73.
  63. Taylor B. J., Cukic B. Evaluation of regressive methods for automated generation of test trajectories // Proceedings of the 11th International Symposium on Software Reliability Engineering, 2000, pp. 97−109.
  64. Theodoridis S., Koutroumbas K. Pattern Recognition //. Elsevier Science (USA), 2003.
  65. Tomkins R. GE Beats Expected 13% Rise. Financial Times, Oct. 10, 1997. p.22.
  66. Von Mayrhauser A., Mraz R. T., Walls J. Domain based regression testing // Proceedings of the International Conference on Software Maintenance, 1994, pp. 26−35.
  67. Wegner P. Notes on object-oriented programming. Dansk Datamatic1. Ntf1. Center, May 1987.
  68. Ye W., Chen M. H., Kao H. M. Regression testing on object oriented programs // Proceedings of the 10th International Symposium on Software Reliability Engineering, 1999, pp. 270−279.
Заполнить форму текущей работой