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

кандидата технических наук
Пинаев, Дмитрий Владимирович
город
Санкт-Петербург
год
1998
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Методы и средства интегральной оценки тестированности программного проекта, позволяющие управлять процессом разработки тестов»

Оглавление автор диссертации — кандидата технических наук Пинаев, Дмитрий Владимирович

ОГЛАВЛЕНИЕ.

ВВЕДЕНИЕ.

ГЛАВА 1. Обзор литературы по методам и средствам тестирования программного обеспечения.

1.1. Структура и задачи главы.

1.2. Понятие тестирования ПО.

1.3. Тестирование и жизненный цикл программы. Объекты тестирования.

1.3.1. Жизненный цикл программы .,.,.;.

1.3.2. Объекты тестирования.

1.3.3. Катёгории тестов для различных объектов тестирования.

1.4. Виды, критерии и методы тестирования.

1.5. Структурное тестирование.

1.5.1. Тестирование на основе потока управления.

1.5.2. Тестирование на основе потока данных.

1.5.3. Критерии структурного тестирования.

1.6. Методы проектирования тестовых путей для достижения заданной степени тестированности в структурном тестировании.

1.7. Функциональное тестирование.

1.8. Ошибки и тестируемость ПО.

1.8.1. Категории ошибок.

1.8.2. Критерии завершения тестирования.

1.8.3. Тестируемость ПО.

1.9. Автоматизация процесса тестирования ПО.

1.9.1. Автоматизация регрессионного тестирования.

1.9.2. Требования к системе автоматизации тестирования.

1.10. Обзор средств автоматизации тестирования.

1.10.1. Средства автоматизации тестирования, имеющие исследовательскую направленность.

1.10.2. Автоматизация тестирования с помощью CASE-систем.

1.10.3. CASE-системы, автоматизирующие функциональное тестирование.

1.10.4. CASE-системы, автоматизирующие структурное тестирование.

1.10.5. Состояние средств автоматизации тестирования.

1.11. Выводы.

ГЛАВА 2. Интегральная оценка тестированности программного проекта.

2.1. Структура и задачи главы.

2.2. Оценка степени тестированности ПО.

2.3. Графовая модель программы для процедурного программирования.

2.4. Графовая модель программы для объектно-ориентированного программирования.

2.5. Оценка степени тестированности программного проекта в ООП.

2.6. Управление процессом построения новых тестов.

2.7. Ранжирование участков тестовых путей.

2.8. Методика проведения интегральной оценки степени тестированности программного проекта и управление качеством ПО.

2.9. Выводы.

ГЛАВА 3. Система оценки и управления степенью тестированности программного проекта и методика ее использования.

3.1. Структура и задачи главы.

3.2. Требования к программному проекту, подлежащему тестированию.

3.3. Требования к программному комплексу автоматизации тестирования.

3.4. Прототип программного комплекса, реализующего интегральную оценку тестированности программного проекта.

3.4.1. Язык программирования Tcl/Tk.

3.4.2. Tel профайлер - назначение, состав и функции проекта.

3.4.3. Структура проекта Tel профайлер.

3.4.4. Подсистема статического анализа.

3.4.5. Модуль топологического анализа.

3.4.6. Подсистема динамического анализа.

3.4.7. Подсистема анализа результатов тестирования.

3.4.8. Известные ограничения Tel профайлера.:.

3.4.9. Методика проведения оценивания тестированности программного проекта с использованием Tel профайлера.

3.4.10. Реализованность требований к программному комплексу автоматизации тестирования в разработанном ПКАТ.

3.5. Выводы.

ГЛАВА 4. Результаты применения средств оценки тестированности программного проекта.

4.1. Структура и задачи главы.

4.2. Методы и средства, использовавшиеся при тестировании программных проектов.

4.2.1. Пример применения Tel профайлера.

4.2.2. Анализ применения разработанных методов и средств.

4.3. Результаты применения разработанных методов и средств.

4.4. Выводы.

Введение 1998 год, диссертация по информатике, вычислительной технике и управлению, Пинаев, Дмитрий Владимирович

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

Понятие качества программного обеспечения (ПО) является комплексным и включает в себя целый ряд различных показателей. В данной работе под основным показателем качества ПО будет принято количество невыявленных, оставшихся в поставляемом программном продукте ошибок, приведенное к объему проекта в операторах исходного кода [46, 51]. Этот показатель также называется плотностью, или количеством ошибок на единицу объема проекта.

Высокое качество ПО может быть достигнуто в результате применения передовых технологий в ходе проектирования и разработки, предотвращающих возникновение ошибок, ("пассивными" методами [21]) и выявлением и устранением ошибок ("активными" методами [21]).

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

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

Тестирование - это процесс функционирования системы или компоненты в заранее определенных условиях, записи и анализа результатов функционирования и оценки свойств системы или компоненты (стандарт IEEE Std 610.12-1990, [52]). Существует множество различных определений тестирования [4, 21, 23, 26, 37, 52, 57, 72], но существенно важным является факт, что лишь тщательное тестирование в соответствии с приемочным критерием снижает как вероятность фатального сбоя в процессе эксплуатации, так и количество оставшихся в программе мелких погрешностей. На проведение тестирования при создании сложных программных проектов требуется до 30-40% полных трудовых затрат и от эффективности его выполнения в значительной степени зависят трудоемкость и сроки создания программ.

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

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

Для достижения цели в работе поставлены следующие задачи:

1. Анализ существующих инструментальных средств тестирования ПО и выбор требований к таким системам.

2. Описание графовой модели программы (ГМП), написанной с использованием техники объектно-ориентированного программирования (ООП).

3. Разработка методики определения интегральной оценки тестированности программного проекта. Оценка тестированности должна опираться на соответствующий математический аппарат, отражающий суть разработанной ГМП, иметь численное выражение, оцениваемое с точностью до зафиксированного уровня структуры программы и изменяющееся в фиксированных пределах от 0 до 1. Инкрементальные изменения в тестах должны получать отражение в интегральной оценке тестированности проекта.

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

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

6. Применение предложенных методик и инструментального пакета при тестировании нескольких программных проектов.

Заключение диссертация на тему "Методы и средства интегральной оценки тестированности программного проекта, позволяющие управлять процессом разработки тестов"

Основные результаты работы докладывались и обсуждались на семинарах СПИИРАН (Санкт-Петербург), кафедры "Информационные и Управляющие Системы" СПбГТУ, а также на симпозиуме по моделированию в Финиксе, США.

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

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

ЗАКЛЮЧЕНИЕ

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

1. Формальная классовая модель программного проекта в аппарате теории графов.

2. Интегральная оценка тестированности программного проекта.

3. Методика проведения тестирования программного проекта, позволяющая управлять процессом разработки тестов.

4. Возможность управления качеством ПО при использовании предложенной методики проведения тестирования.

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

Для достижения цели в работе были решены следующие задачи:

1. Проанализированы существующие инструментальные средства тестирования ПО и выбраны требования к таким системам.

2. Описана ГМП, ориентированная на проекты, использующие технику ООП.

3. Разработана методика определения интегральной оценки тестированности программного проекта. Оценка тестированности опирается на математический аппарат, отражающий суть разработанной ГМП, имеет численное выражение, оцениваемое с точностью до зафиксированного уровня структуры программы и изменяющееся в пределах от 0 до 1. Инкрементальные изменения в тестах получают отражение в интегральной оценке тестированности проекта.

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

5. Создан инструментарий, поддерживающий процесс автоматизации тестирования.

6. Предложенные методики и инструментальный пакет применены при тестировании нескольких программных проектов.

Полученные в ходе работы основные результаты:

1. Проведен обзор существующих инструментальных средств тестирования ПО. На основе анализа данных средств сформулированы соответствующие требования к САЭЕ-системам автоматизации тестирования программ.

2. Определены недостатки существующих САБЕ-систем автоматизации тестирования программ, написанных на ООЯП. Эти недостатки относятся к области структурного тестирования программ данного класса.

3. Выполнено теоретическое обоснование предложенных в работе методов и средств интегральной оценки тестированности программного проекта:

- проведено исследование механизма взаимодействия элементов программ, написанных на ООЯП;

- предложена в качестве ГМП классовая модель программного проекта, являющаяся формальной моделью представления подобных программ в аппарате теории графов;

- дана интегральная оценка тестированности программного проекта для данной ГМП на основе математического аппарата, отражающего физический смысл формальной модели;

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

4. Разработана методика определения интегральной оценки тестированности программного проекта.

5. Разработана методика управления процессом построения тестов для достижения требуемого уровня тестированности.

6. Разработана методика управления качеством ПО по нескольким направлениям:

- ранжирование элементов программы по частоте использования и определение критических участков программы;

- идентификация неоттестированных участков программы;

- диагностика "медленных" алгоритмов.

7. Создан программный комплекс автоматизации тестирования, реализующий на практике теоретические положения работы. Разработанный профайлер языка Тс1 является ядром прототипа САБЕ-системы автоматизации тестирования для получения программных продуктов высокого качества.

8. Определена методика проведения тестирования программных проектов с использованием разработанных программных средств.

9. Проведено тестирование трех программных проектов средней сложности с использованием разработанных программных средств и методики по их применению.

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

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

Определена рекомендуемая область применения разработанных методов и средств - программные продукты с развитым графическим интерфейсом, реализующим вычисления по корректным алгоритмам. Определены ограничения на применение для программ, в работе которых используется динамическое взаимодействие нитей (тиШШгеаёз), а также для программ, работающих в реальном режиме времени - из-за снижения скорости работы при инструментировании исходного кода.

Разработанные методы и средства интегральной оценки тестированности программного проекта внедрены в НПФ "Юпитер" (Санкт-Петербург), ЗАО "Северо-Западная Лаборатория" (Санкт-Петербург) и в учебном цикле "Технология программирования" кафедры "Информационные и Управляющие Системы" СПбГТУ.

Общий объем разработанного ПО, вошедшего в программный комплекс автоматизации тестирования, составил около 15500 строк исходного кода на языке Tcl/Tk; объем документации на разработанное ПО - более 150 страниц.

Библиография Пинаев, Дмитрий Владимирович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Бичевский Я. Я., Борзов Ю. В. Тестирование программ ЭВМ // Рига: ЛГУ им. П. Стучки, 1985. 101 с.

2. Близнец А. И. Автоматизация тестирования на базе языка описания тестов //

3. Программное обеспечение ЭВМ / АН БССР. Институт математики. -Минск, 1989. Вып. 85 - с. 170 - 184.

4. Борзов Ю. В., Уртанс Г. Б., Шимаров В. А. Выбор путей программы для построения тестов // УСиМ. 1989. - N. 6 - стр. 29 - 36.

5. Борзов Ю. В. Тестирование программ с использованием символического выполнения // Программирование, 1980. № 1, с. 51 -59.

6. Боэм Б., Браун Дж., Каспар X. и др. Характеристики качества программногообеспечения: Пер. с англ. // М.: Мир, 1981. 208 с.

7. Гантер Р. Методы управления проектированием программного обеспечения:

8. Пер. с англ./ Под ред. Е. К. Масловского // М.: Мир, 1981. 392 с.

9. Гласс Р. Руководство по надежному программированию: Пер. с англ. // М.: Финансы и статистика, 1982. 280 с.

10. Евстигнеев В. А. Применение теории графов в программировании; Под ред. Ершова А. П. // М.: Энергоатомиздат, 1988. 480 с.

11. Ершов А. П. Два облика программирования // Кибернетика, 1982, № 6, с. 122- 123.

12. Ире П. Объектно-ориентированное программирование с использованием С++: Пер. с англ. // Киев: НИПФ "ДиаСофт Лтд.", 1995.

13. Калянов Г. Н. Статический анализ программ в системе программирования ВЕКТОР // Программирование, 1984. № 5, с. 26 -32.

14. Катков В. Л. Ритм-технология автоматизации программирования // АН Беларуси. Вычислительный центр. Минск, 1993. - 202 с.

15. Кузнецов О. П., Адельсон-Вельский Г. М. Дискретная математика для инженера: 2-е издание, переработанное и дополненное // М.: Энергоатомиздат, 1988. 480 с.

16. Лелеков С. Г. Разработка и исследование методов автоматической генерации тестов по формальному описанию лингвистических процессоров: Автореферат кандидатской диссертации // Киев, 1988. 15 с.

17. Липаев В. В. Качество программного обеспечения // М.: Финансы и статистика, 1983. 264 с.

18. Липаев В. В. Проектирование программных средств // М.: Высшая школа, 1990. 187 с.

19. Липаев В. В. Тестирование программ // М.: Радио и связь, 1986. 296 с.

20. Липаев В. В., Серебровский Л. А., Гаганов П. Г. и др.; Под ред. Асафьева Ю. В. и Липаева В. В. Технология проектирования комплексов программ АСУ/В // М.: Радио и связь, 1983. 264 с.

21. Майерс Г. Искусство тестирования программ // М.: Финансы и статистика, 1982. -176 с.

22. Майерс Г. Надежность программного обеспечения: Пер. с англ./ Под ред. В. Ш. Кауфмана // М.: Мир, 1980. 360 с.

23. Макогонов С. В. Эргономическое обоснование инструментальной системы для тестирования программного обеспечения. // Хабаровск: ВЦ ДВНЦ АН СССР, 1986.-29 с. Деп. в ВИНИТИ 15.12.86, N 8518.

24. Программное обеспечение ЭВМ // АН БССР. Институт математики. -Минск, 1988. Вып. 79: Инструментальный комплекс "Ритм" для разработки программного обеспечения ЕС ЭВМ. - 248 с.

25. Программное обеспечение ЭВМ // АН БССР. Институт математики. -Минск, 1989. Вып. 85: Комплекс программных средств технологической линии производства программ на базе ПЭВМ типа ЕС-1840, ЕС-1841 (АРМ-II). - 204 с.

26. Сван Т. Программирование для Windows в Borland С++: Пер. с англ. // М.: БИНОМ, 1995.

27. Страуструп Б. Язык программирования С++: Пер. с англ. // М.: Радио и связь, 1991.-352 с.

28. Тейер Т., Липов М., Нельсон Э. Надежность программного обеспечения: Пер. с англ. // М.: Мир, 1981. 324 с.

29. Фролов А. В., Фролов Г. В. Microsoft Visual С++ и MFC. Программирование для Windows 95 и Windows NT // M.: ДИАЛОГ-МИФИ, 1996. 288 с. - (Библиотека системного программиста; Т. 24).

30. Шимаров В. А. Иерархический подход к оценке сложности тестирования программ // Минск, 1989. 43 с. - (Препринт / АН БССР. Институт математики; № 46(396)).

31. Шимаров В. А. Тестирование программ: цели и особенности инструментальной поддержки // Программное обеспечение ЭВМ / АН БССР. Институт математики. Минск, 1994. - Вып. 100 - с. 19 - 43.

32. Эллис M., Страуструп Б. Справочное руководство по языку программирования С++ с комментариями: Пер. с англ. // М.: Мир, 1992.

33. Ющенко Е. Л., Цейтлин Г. Е., Грицай В. П., Тераян Т. К. Многоуровневое структурное проектирование программ. Теоретические основы, инструментарий // М.: Финансы и статистика, 1989. 207 с.

34. Balzer R. M., EXDAMS Extendable Debugging and Monitoring System // AFISP Conference Proceedings, SJCC, 1969. pp. 567 - 580.

35. Beizer В. Software testing techniques. (Second edition) // International Thomson Computer Press, 1990. 550 p.

36. Binder R. V. Design for Testability in Object-Oriented Systems // Communications of the ACM. 37, 9 (Sept, 1994), pp. 87 101.

37. Boehm B. W. Software Engineering Economics // Prentice-Hall International, 1981.

38. Chilenski J. J., Miller S. P. Applicability of Modified Condition/Decision Coverage to Softaware Testing // Software Engineering Jornal. September 1994. -Vol. 9, №5, pp. 193 -200.

39. Clarke L. A., Podgurski A., Richardson D. J., Zeil S. L. A Formal Evaluation of Data Flow Path Selection Criteria // IEEE Transaction on Software Engineering. 1989.-Vol. SE-15,№11. pp. 1318 - 1332.

40. Cornett S. Software Test Coverage Analysis // Bullseye Testing Technology, 1997.

41. Dorman M. N. С++ It's Testing, Jim, But Not As We Know It // In Proc. of 5th European Conference in Software Testing, Analysis and Review (Edinburgh, Scotland, November 1997). - 13 p.

42. Ebert R., Lugger J., Goecke L. Practice in Software Adaptation and Maintance // North-Holland Publ. Сотр., 1980. 455 p.

43. Frankl L. D., Weyuker E. J. An Applicable Family of Data Flow Testing Criteria // IEEE Transaction on Software Engineering. 1988. - Vol. SE-14, № 10. pp. 1483 - 1498.

44. Grady R. B. Practical Software Metrics for Project Management and Process Improvement // Prentice-Hall International, 1992.

45. Harrison M. Tcl/Tk Tools // O'Reilly & Associates, Inc., 1997. 653 p.

46. Harrold M. J., McGregor J. D. Incremental testing of object-oriented class structures // In Proc. of 14th Information Conference on Software Engineering (Melburn, Australia, May 11 15, 1992). pp. 312 - 319.

47. Herman P. M. A Data Flow Analysis Approach to Program Testing // Australian Computer Jornal. 1976. - Vol. 8, № 3. pp. 92 - 96.

48. Hoffmann D. M., Strooper P. A. A Case Study in Class Testing // Proceedings of CANCON '93. IBM, Toronto, 1993. pp. 472 482.

49. Humphrey W. S. Managing the Software Process // Addison-Wesley Publishing Company, 1990.-494 p.

50. IEEE Software Engineering Standards Collection // Institute of Electrical and Electronics Engineers. 1997.

51. Jorgensen P. C., Erickson C. Object-Oriented Integration Testing // Communications of the ACM. 37, 9 (Sept, 1994), pp. 30 38.

52. Kundu S. A. New Approach to Test Case Generation // INFOTECH State of the Art Report: Software Testing. 1979. - Vol. 2, pp. 161 - 186.

53. Laski J.W., Korel B. A Data Flow Oriented Program Testing Strategy // IEEE Transaction on Software Engineering. 1983. - Vol. SE-9, № 3. pp. 347 - 354.

54. Leung H. K. N., White Lee. Insights into Regression Testing // Proc. of Conference on Software Maintance (Maimi, Florida, Oct. 16 -19, 1989). pp. 60 -69.

55. McCabe T. J., Butler Ch. W. Design complexity measurement and testing // Communications of the ACM. 32, 12 (Dec, 1989), pp. 1415 1425.

56. McCabe T. J., Schulmeyer G. G. System Testing Aided by Structured Analysis (A Practical Experience) // COMPSAC'82. Proc. IEEE Comput. Soc. 6th International Computer Software and Appl. Conference (Chicago, 111, Nov. 8-12, 1982).-pp. 523-528.

57. Melton A., Gustafson D., Baker A. A Mathematical Perspective for Software Measures Research // Software Engineering Jornal, September, 1990.

58. Miller E. Coverage measure definitions reviewed // Testing Techniques Newsletter. 1980. - Vol. 3, № 4. - p. 6.

59. Miller E. F., Jr., Melton R. A. Automated Generation of Testcase Datasets // Proc. 1975 International Conference on Reliable Software, 1975. pp. 51 58.

60. Murphy G. C., Townsend P., Wong P. S. Experiences with Cluster and Class Testing // Communications of the ACM. 37, 9 (Sept, 1994), pp. 39 47.

61. Musa J., Ackerman F. Quantifying Software Validation: When to Stop Testing // IEEE Transaction on Software Engineering. 1989. - Vol. SE-6, № 3, pp. 19 - 27.

62. Ntafos S. C. A Comparition of Some Structural Testing Strategies // IEEE Transaction on Software Engineering. 1988. - Vol. SE-14, № 6. pp. 868 - 874.

63. Ntafos S. C. An Evaluation of Required Element Testing Strategies // Seventh International Conference on Software Engineering, Orlando, Fla. March 26 -29, 1984.

64. Ntafos S. C. On Required Element Testing // IEEE Transaction on Software Engineering. 1984. - Vol. SE-10, pp. 795 - 803.

65. OO Tool Aids Software Testing. The Outlook // McCabe & Associates, Columbia, Maryland, 1993.

66. Osterweil L. J., Fosdick L. D. A Validation Error Detection and Documentation System for Fortran Programs // Software Practice and Experience. - 1976. -Vol.6, pp. 473 - 486.

67. Ousterhout J. K. Tel and the Tk Toolkit // Addison-Wesley Publishing Company, 1994.

68. Prather R. E. Theory of Program Testing an Overview // The Bell System Technical Jornal. - 1983. - Vol. 62, N. 10, Pt. 2 - pp. 3073 - 3105.

69. Prather R., Myers J. P., Jr. The path prefix software testing strategy // IEEE Transactions on Software Engineering SE-13, 7 (July, 1987), pp. 761 766.

70. Roper M. Software Testing // McGraw-Hill Book Company, London, 1994.

71. Rothermel G., Harrold M. J. A Comparition of Regression Test Selection Techniques // Clemson University, Tchnical Report N. (November 1993). pp. 93 -118.

72. Seuder R. L. General Test Data Generator for Cobol // AFISP Conference Proceedings, SJCC, 1962. pp. 317 323.

73. Shimarov V. A. Definition and quantitative estimation of testing criteria // Software Quality Concern for people. Proceedings of the Fourth European Conference on Software Quality. October 17 20, 1994, Basel, Switzerland, pp. 350 -360.

74. Solheim J. A., Rowland J. H. An Empirical Study of Testing and Integration Strategies Using Artifical Software Systems // IEEE Transactions on Software Engineering SE-19 (October, 1993), pp. 941 949.

75. Tatsumi K., Watanabe S., Takeuchi Y., Shimokava H. Conceptual Support for Test Case Design // COMPSAC'87. Proc. 11th Annual International Computer Software and Appl. Conference (Tokio, Oct. 7-9, 1987). pp. 285 - 290.78. Tcl/Tk Reference Manual.

76. Thielen D. No Bugs // Addison-Wesley Publishing Company, 1992.

77. Weiser M. D., Gannon J. D., McMullin P. R. Comparition of Structural Test Coverage Metrics // IEEE Software. 1985. - Vol. 2, № 2. pp. 80 - 85.

78. Internet, http://www.iplbath.com.

79. Internet, http://www.segue.com.

80. Internet, http://www.microsoft.com.

81. Internet, http://www.compuware.com.

82. Internet, http://www.merc-int.com.

83. Internet, http://www.PACorp.com.

84. Internet, http://www.pfsi.com.

85. Internet, http://www.pure.com.

86. Internet, http://www.radview.com.

87. Internet, http://www.sescomp.com.

88. Internet, http://www.sbridge.com.

89. Internet, http://www.halcyon.com.

90. Internet, http://www.sqa.com.

91. Internet, http://www.sybase.com.

92. Internet, http://198.53.30.50.

93. Internet, http://www.bullseye.com.

94. Internet, http://www.rational.com.