Внешнее тестирование интерфейсных библиотек: На примере интерфейса ASIS тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат физико-математических наук Фофанов, Василий Александрович
- Специальность ВАК РФ05.13.11
- Количество страниц 113
Оглавление диссертации кандидат физико-математических наук Фофанов, Василий Александрович
1. ВВЕДЕНИЕ.
1.1. Внешнее тестирование интерфейсных библиотек.
1.2. ЯП Ада.
1.3. Интерфейс ASIS.
1.4. Проблемы тестирования реализаций ASIS.
1.5. Задачи диссертации.
2. ИНТЕРФЕЙС ASIS.
2.1. Предназначение.
2.2. История разработки.
2.3. Архитектура и строение интерфейса.
2.3.1. Основные типы данных ASIS.
2.3.2. Иерархия пакетов ASIS.
2.4. Использование ASIS.
2.4.1. Понятие ASIS-приложения (ASIS Application).
2.4.2. Понятие и назначение Контекста ASIS (ASIS Context); работа с Контекстами.
2.4.3. Единицы компиляции (CompilationUnits); работа с Единицами компиляции
2.4.4. Структурная декомпозиция Единиц компиляции. Элементы.
2.4.5. Семантические зависимости мезвду Элементами.
2.4.6. Текстовые представления Элементов ASIS.
2.4.7. Обход дерева синтаксических Элементов (element traversal). Процедура TraverseElement.
2.4.8. Пример ASIS-приложения.
2.4.9. Неявные Элементы и Элементы расширений.
2.5. Реализации ASIS.
2.6. Текущий статус интерфейса.
3. НЕКОТОРЫЕ АСПЕКТЫ ТЕСТИРОВАНИЯ.
3.1. Тестирование программ.
3.1.1. Критерий полноты.
3.1.2. Адекватность.
3.1.3. Классификация подходов к тестированию.
3.1.4. Процесс тестирования.
3.2. Тестирование интерфейсных библиотек.
3 .2.1. Интерфейсные библиотеки. ASIS как интерфейсная библиотека.
3.2.2. Проблемы внешнего тестирования интерфейсных библиотек.
3.2.3. Некоторые способы повышения эффективности внешнего тестирования библиотек.
3.2.4. Стандартизация систем внешнего тестирования интерфейсных библиотек.
4. ТЕСТИРОВАНИЕ РЕАЛИЗАЦИЙ ASIS.
4.1. Введение.
4.1.1. Система тестирования ASIS VS 87.
4.1.2. Внешнее тестирование трансляторов.
4.2. Подходы к тестированию запросов ASIS.
4.2.1. Тестирование отдельных запросов.
4.2.2. Тестирование групп запросов.
4.3. Классификация запросов ASIS с точки зрения подхода к их тестированию
4.3.1. Запросы для работы с Контекстами и Единицами Компиляции ASIS.
4.3.2. Запросы структурной декомпозиции.
4.3.3. Настраиваемая процедура рекурсивного обхода TraverseElement.
4.3.4. Запрос EnclosingElement.:.
4.3.5. Семантические запросы.
4.3.6. Классификационные запросы.
4.3.7. Запросы для получения текстовых представлений Элементов (ASIS.Text).
4.3.8. Запросы для работы с идентификаторами Элементов (ASIS.Ids).
5. СИСТЕМА ТЕСТИРОВАНИЯ QUALITY-FOR-ASIS.
5.1. Подход к реализации системы тестирования.
5.2. Инструменты системы.
5.2.1. Интерпретатор ASIStint.
5.2.2. Инструмент Q4A-arbitrary.
5.2.3. Инструмент Q4 A-specific.
5.3. Состав системы.
5.4. Тестирование реализаций ASIS при помощи СТ Quality-for-ASIS.
5.5. Вопросы универсальности и переносимости.
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Метод и средства автоматизации тестирования интерфейса программирования приложения2011 год, кандидат технических наук Бирюков, Сергей Вячеславович
Принципы и методы создания компилятора переднего плана Стандарта Cu ++1999 год, кандидат физико-математических наук Зуев, Евгений Александрович
Генерация наборов тестов для распараллеливающих и оптимизирующих преобразований в компиляторе2012 год, кандидат технических наук Алымова, Елена Владимировна
Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux2010 год, кандидат физико-математических наук Силаков, Денис Владимирович
Библиотека пользовательского интерфейса для встроенных и мобильных вычислительных устройств2004 год, кандидат технических наук Беляев, Владимир Константинович
Введение диссертации (часть автореферата) на тему «Внешнее тестирование интерфейсных библиотек: На примере интерфейса ASIS»
Данная работа посвящена проблемам внешнего тестирования интерфейсных библиотек. В качестве конкретной области исследования выбран интерфейс ASIS, являющийся важным компонентом современной технологии разработки и сопровождения программного обеспечения на базе языка Ада. Конечной целью являлась разработка и реализация систематического подхода к контролю соответствия реализаций ASIS международному стандарту.
1.1. Внешнее тестирование интерфейсных библиотек
В настоящее время существует довольно богатая библиография по тестированию программ. Работы по тестированию либо рассматривают теоретические аспекты [4-6, 12, 27, 28, 35 и др.], либо рассматривают проблемы тестирования с практически-прикладной точки зрения [7, 29, 36, 37, 40 и др.], либо предлагают методики для тестирования определенного класса программ (напр., трансляторов - [13, 14, 33, 34, 38]). При этом, практически все работы по тестированию рассматривают тестирование именно законченных программ. Практически не изученной остается проблема тестирования интерфейсных библиотек (ИБ), под которыми мы понимаем программные библиотеки типов данных и запросов, предоставляющие наборы услуг для связи с некоторым информационным объектом с целью чтения и изменения его состояния. Как будет показано ниже, тестирование ИБ имеет свою специфику, вытекающую в первую очередь из отсутствия самостоятельно исполняемой программы с четко заданным множеством допустимых входных и выходных данных. Еще меньше изучена проблема внешнего тестирования ИБ, которым мы назовем тестирование, проводимое вне коллектива разработчиков, специалистами, не принимавшими участия в разработке библиотеки, малознакомыми с тонкостями ее внутренней реализации и основывающимися на внешней спецификации ИБ. Такой пробел отчасти вызван тем, что в подавляющем большинстве случае тестирование производится самим разработчиком внутренним способом, и 5 соответствие библиотеки своему предназначению как правило просто декларируется разработчиком. Кроме того, такое тестирование сопряжено со значительными трудностями, как в формулировании подходов к тестированию, так и в создании тестовых наборов.
Внешнее тестирование, однако, необходимо, когда возникает необходимость тестирования реализации ИБ на соответствие ее стандарту. Такая работа не может проводиться разработчиком в силу его недостаточной объективности. Недостаточно пользователю и заявления разработчика, что библиотека стандарту соответствует. В этих случаях, необходим инструментарий, который может обеспечить надежное внешнее тестирование интерфейсной библиотеки.
1.2. ЯП Ада
Язык программирования (ЯП) Ада [21], созданный в начале восьмидесятых годов, предназначен для создания сложных высоконадежных индустриальных систем, в том числе реального времени, распределенных, встроенных, и т.д.
Надежность программ на языке Ада обеспечивается, среди прочего, суровыми требованиями, предъявляемыми к самим Ада-трансляторам, и большим вниманием к контролю всех этапов разработки и сопровождения Ада-программ, в том числе с использованием автоматических и автоматизированных средств программной инженерии. Средства поддержки программирования, в силу специфики ЯП Ада, играют для этого языка большую роль, чем для других стандартных языков программирования. Вместе с тем, разработка таких средств связана со значительными трудностями из-за необходимости учета синтаксической и семантической структуры анализируемой программы. Интерфейсная библиотека ASIS, стандарт на которую был недавно принят, призвана упростить получение подобной информации и уменьшить усилия, затрачиваемые на разработку инструментов поддержки программирования на ЯП Ада.
1.3. Интерфейс ASIS
ASIS, Ada Semantic Interface Specification, что может быть переведено как Спецификация Семантического Интерфейса к языку Ада, является интерфейсом между синтаксической и семантической информацией, содержащейся в программном окружении языка Ада (с точки зрения определения ИБ -информационным объектом) и инструментами анализа текста программ на языке Ада. Стандарт на интерфейс ASIS был принят Всемирной организацией по стандартизации (ISO) в 1998 году. Это - долгожданное событие в области программирования на ЯП Ада, так как работа над стандартизацией ASIS ведется с 1993 г. В отличие от многих других стандартов, этот интерфейс был разработан как реакция на реальную необходимость программной индустрии снизить затраты на разработку инструментов для анализа программ на языке Ада, в том числе для узкоспециализированных, внутрифирменных нужд. В результате, первые реализации Интерфейса появились практически одновременно с началом работы над стандартом. Так, разработка реализации ASIS для компилятора GNAT велась в НИВЦ МГУ в рамках международного сотрудничества, начиная с 1994 г. [22, 23] Другие реализации ASIS также начинались как реализации самых первых ревизий проекта стандарта. Ожидается, что интерфейс ASIS в ближайшие годы будет реализован для большинства компиляторов с языка Ада.
Учитывая большое внимание, уделяемое обеспечению надежности на всех этапах жизненного цикла программ на ЯП Ада (а значит, и надежности всех инструментальных средств поддержки жизненного цикла), с принятием стандарта ASIS возникает задача независимой проверки соответствия существующих реализаций интерфейса принятому стандарту. Эта задача должна решаться внешним тестированием реализаций ASIS.
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Спецификация и тестирование компонентов с асинхронным интерфейсом2006 год, кандидат физико-математических наук Хорошилов, Алексей Владимирович
Технология построения естественно-языковых интерфейсов к структурированным источникам данных2000 год, кандидат технических наук Жигалов, Владислав Анатольевич
Методы и средства псевдокодового интерфейсного прототипирования проектных решений2011 год, кандидат технических наук Святов, Кирилл Валерьевич
Моделирование мимической компоненты обучающих информационных систем2001 год, кандидат технических наук Тимофеев, Евгений Валентинович
Графическая модель для спецификации и синтеза интерфейса пользователя автоматизированных информационных систем2001 год, кандидат технических наук Янкелевич, Андрей Александрович
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Фофанов, Василий Александрович
6. ЗАКЛЮЧЕНИЕ
Рассмотренные приемы облегчения и автоматизации процесса внешнего тестирования интерфейсных библиотек, как представляется, имеют ценность для более широкого круга задач, чем тестирование реализаций ASIS. Такие проблемы, как невозможность прямого наблюдения результатов работы тестируемых запросов, необходимость учета контекстов исполнения, трудоемкость разработки индивидуальных тестов для запросов библиотеки, трудности с созданием больших тестовых наборов в условиях реальных ограничений по времени и ресурсам на разработку подхода к тестированию и его практическому применению, являются общими для множества интерфейсных библиотек.
Применительно к, тестированию собственно реализаций ASIS, значительную ценность представляет разработка способов автоматического непрямого наблюдения, допускающих в ряде случаев использование произвольных тестовых наборов без какой-либо дополнительной работы специалиста по тестированию. Разработанная на основе этих подходов система тестирования получилась компактной, простой в обращении и достаточно мощной, обеспечивающей автоматизированное тестирование фундаментальной части функциональности Интерфейса ASIS.
В процессе работы, были получены следующие результаты:
• Предложено развитие традиционных понятий, методик и приемов тестирования программ для случая интерфейсных библиотек.
• Разработаны подходы к тестированию запросов интерфейса ASIS, в том числе на базе полностью автоматических тестовых драйверов, использующих различные способы непрямого неполного наблюдения результатов работы тестируемых запросов. Были сформулированы соответствующие этим подходам критерии полноты тестирования и разработаны средства поддержки процесса тестирования на базе предложенных подходов, включая генераторы статистики и анализаторы покрытия или специализированные тестовые наборы.
• На базе разработанных подходов реализован переносимый автоматический комплекс тестирования реализаций ASIS, Quality-for-ASIS. Важнейшим свойством системы является широкое использование новых подходов к тестированию, включая универсальные автоматические тестовые драйверы (в том числе способные работать на произвольных тестовых наборах) и тесты, реализованные в интерпретационной модели. Практическая ценность работы была продемонстрирована применением системы для тестирования реализации ASIS для компилятора GNAT.
7. СПИСОК ИСПОЛЬЗОВАННЫХ ТЕРМИНОВ гипотеза локальности реализации, 46 дерево ASIS, 15 интерфейсная библиотека, 36 контекст исполнения, 41 критерий адекватности, 33 выборки, 31 полноты,31 тестирования, 30 лексическая контрольная сумма, 66 метод тестирования принцип белого ящика, 33 принцип черного ящика, 33 оракул, 30 спецификация полуформальная, 34 формальная, 34 степень адекватности, 32 тест, 30 комплект тестов, 30 набор тестов, 30 тестирование, 29 массированное, 61 тестовая конфигурация глобальная, 46 локальная, 46 условие верификации, 29
Список литературы диссертационного исследования кандидат физико-математических наук Фофанов, Василий Александрович, 2000 год
1. ACVC2. ASIS3. ASIS VS 874. Advion et al 825. Amia and Ammann 926. Barbey 977. Beizer 858. Binder 969. D aran and1. Thévenod-Fosse 96
2. Тестовый набор ACVC доступен в Интернете по адресу http ://www. adaic. org/compilers/acvc/ Information technology Programming languages - Ada Semantic Interface Specification (ASIS), International standard ISO/EEC 15291:1999
3. Доступен в Интернете через каталог ISO по адресуhttp : //www. iso. ch/info е/catinfo. html.
4. ASIS 83 Validation Suite. User's Guide. Intermetrics, 1987.
5. W. Advion, M. Branstad, J. Cherniavsky. Validation,verification and testing of computer software. Computer
6. Surveys, Vol.14, N2, 1982. pp. 159-192.
7. N. Amla, P. Ammann. Using Z Specifications in Category
8. Partition Testing. In COMPASS'92: Proc. 7th Annu. Conf.
9. Comput. Assur., Syst. Integr., Software Safety and Process
10. Security. Piscataway, 1992. pp. 3-10,
11. Stéphane Barbey. Test Selection for Specification-Based
12. Testing of Object-Oriented Software Based on Formal
13. Specifications. PhD thesis, Swiss Federal Institute of
14. Technology in Lausanne (EPFL), December 1997. Ph.D.1. Thesis 1753.
15. B. Beizer. Software Testing Techniques. NY: Van Nostrand Reinhold, 1983.
16. Robert V. Binder. Testing object-oriented software: a survey. Journal of Testing, Verification and Reliability, pp. 125-252, September 1996.
17. California, USA, January 1996. V. Fofanov, S. Rybin, A. Strohmeier. "ASIStint: An Interactive ASIS Interpreter". In Susan Carlson (Ed.), Proceedings o/TRI-Ada'97, St. Louis, USA, ACM Press, 1997, pp.205-209.
18. Веб-страницы компании ACT, производителя GNAT: США: http://www.gnat.com
19. RM95 S. Tucker Taft, Robert A. Duff (eds.) Ada 95 Reference
20. Manual: Language and Standard Libraries, International Standard ISO/DEC 8652:1995(E). LNCS no 1246, SpringerVerlag, 1997.
21. Также доступен в Интернете через каталог ISO по адресу http://www.iso.ch/infoe/catinfo.html.
22. Rybin et al 95 S. Rybin, A. Strohmeier, E. Zueff: ASIS for GNAT: Goals,
23. Problems and Implementation Strategy. In Marcel Toussaint (Ed.), Second International Eurospace Ada-Europe Symposium Proceedings, Frankfurt - Germany, October 2-6 1995, LNCS no 1031, Springer, 1995, pp. 139151.
24. Siyan 97 Karanjit S. Siyan. Novell IntranetWare Professional
25. Reference. 5th Edition. New Riders Publishing, 1997.
26. Strohmeier et al A. Strohmeier, V. Fofanov, S. Rybin, S. Barbey. Quality-98 for-ASIS: A Portable Testing Facility for ASIS. In Lars
27. Asplund (Ed), 1998 Ada-Europe International Conference on Reliable Software Technologies Proceedings, LNCS no 1411, Springer, 1998, pp. 163-175.
28. Wu et al 88 D. Wu, M.A. Hennell, D. Hedley, I.J. Riddell. A Practical
29. Method for Software Quality Control via Program Mutation. In 2nd Workshop on Software Testing, Verification and Analysis. IEEE Computer Society Press, 1988, pp. 159-170.
30. Zhu et al 97 Hong Zhu, Patrick A.V. Hall, John H.R. May. Software
31. Unit Test Coverage and Adequacy. In ACM Computing28. Бичевский и Борзов 8529. Борзов 8030. Бутаков 8431. Дейкстра 7532. Калниньш и Борзов 8533. Кауфман 8434. Кауфман 8635. Липаев 8636. Майерс 8037. Майерс 8338. Рыбин 8739. Саркисян 91
32. Surveys, Vol. 29, No. 4, Dec 1997. pp. 366-427.
33. Я.Я. Бичевский, Ю.В. Борзов. Тестирование программ
34. ЭВМ. Рига: Изд-во ЛатГУ, 1985.
35. Ю.В. Борзов. Методы тестирования и отладкипрограмм ЭВМ. Рига: Изд-во ЛатГУ, 1980.
36. Е.А. Бутаков. Методы создания качественногопрограммного обеспечения ЭВМ. Энергоатомиздат,1984.
37. У. Дал, Э. Дейкстра, К. Хоор. Структурное программирование. М.: Мир, 1975
38. A.A. Калниньш, Ю.В. Борзов. Тестирование программ: языки спецификаций и автоматическое генерирование тестов. Кибернетика №6, 1985. с.28-34.
39. B.В. Липаев. Тестирование программ. М.: Радио и связь, 1986.
40. Г. Майерс. Надежность программного обеспечения. Мир, 1980.
41. Г. Майерс. Искусство тестирования программ. М.: Мир, 1983.
42. C.И. Рыбин. Методика тестирования диагностики. нарушений контекстных условий в стандартизованных трансляторах. Диссертация на соискание уч.ст. к.ф.м.н. М„ 1987.
43. A.C. Саркисян. Повышение качества программ наоснове автоматизированных методов. М.: Радио и связь, 1991.
44. Тейер и др. 81 Т. Тейер, М. Липов, Э. Нельсон. Надежностьпрограммного обеспечения. М.: Мир, 1981.
45. Зуев 99 Е. А. Зуев. Принципы и методы создания компиляторапереднего плана Стандарта Си++. Диссертация на соискание уч.ст. к.ф.м.н. М., 1999.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.