Київський національний торговельно-економічний

Міністерство освіти і науки України

ЛИТЕРАТУРА

ОСНОВЫ ТЕСТИРОВАНИЯ В ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ СИСТЕМАХ

 

Без этапа тестирования программного обеспечения процесс разработки будет неполным.

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

Традиционно тестирование делится на тестирование элементов, интеграционное тестирование и системное тестирование.

На уровне элементов тестирование объектно-ориентированных программ отличается по следующим показателям:

– определение единиц тестирования;

– тестирование наследования;

– тестирование полиморфизма.

Естественной единицей тестирования является класс. Разбиение его на более мелкие элементы (методы) нецелесообразно, поскольку они не существуют отдельно от классов. Иногда за единицу тестирования принимается тесно связанная группа классов.

Тестирование наследования состоит в тестировании методов, унаследованных классом от своего суперкласса. Если суперкласс уже прошел тестирование, нужно ли повторять тестирование для унаследованных методов? Вопреки достаточно распространенным надеждам программистов перетестирование необходимо. Основная причина та, что методы выполняются в новом контексте.

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

Интеграционное тестирование представляет собой тестирование того, как отдельные элементы программы работают вместе. Свойства объектно-ориентированных языков исключают целый ряд возможных ошибок, прежде всего за счет строгого определения внешних интерфейсов классов и объектов. Однако это не означает, что интеграционное тестирование становится легче.

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

 

 

1. Бадд Т. Объектно-ориентированное программирование в действии. – СПб.: «Питер», 1997.

2. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. – М.: «Издательство Бином», 2001.

3. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. – М.: ДМК, 2006.

4. Иванова Г.С, Ничушкина Т.Н., Пугачев Е.К. Объектно-ориентированное программирование. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2007.

5. Объектно-ориентированный анализ и проектирование с примерами приложений/ Г. Буч, Р.Α. Максимчук, М.У. Энгл, Б.Дж. Янг, Д. Коналлен, К.А. Хьюстон. – М.: «И.Д. Вильямс», 2010.

6. Павловская Т.А. C/C++. Программирование на языке высокого уровня.– СПб.: Питер, 2010.

7. Павловская Т. А., Щупак Ю. А. C++. Объектно-ориентированное программирование: Практикум. – СПб.: Питер, 2008.

8. Подбельский В.В. Язык С++: Учеб. пособие. – М.: Финансы и статистика, 2007.

9. Пол А. Объектно-ориентированное программирование на С++. – СПб.; М.: «Невский диалект» – «Издательство Бином», 1999.

10. Романовский К.Ю., Кузнецов С.В., Кознов Д.В. Объектно-ориентированный подход и диаграммы классов в UML // Объектно-ориентированное визуальное моделирование. – CПб: Изд-во С.-Петербургского ун-та, 1999. – С. 21–56.

11. Страуструп Б. Язык программирования С++. – СПб.; М.: «Невский диалект» – «Издательство Бином», 2008.

12. Пышкин Е.В. Основные концепции и механизмы объектно-ориентированного программирования. – СПб.: БХВ-Петербург, 2005.

13. Хабибуллин И.Ш. Программирование на языке высокого уровня. C/C++. – СПб.: БХВ-Петербург, 2006.

14. Фридман А.Л. Основы объектно-ориентированного программирования на языке С++. – М.: Горячая линия – Телеком, 2001.

15. Фридман А.Л. Основы объектно-ориентированной разработки программных систем. – М.: Финансы и статистика, 2000.

 

ОГЛАВЛЕНИЕ

 

Стр.

ВВЕДЕНИЕ ....................................................................................................

1. СЛОЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ...........................

2. ОБЪЕКТНАЯ МОДЕЛЬ ...........................................................................

2.1. Абстрагирование ...........................................................................

2.2. Инкапсуляция ...............................................................................

2.3. Модульность ................................................................................

2.4. Иерархичность .............................................................................

2.5. Типизация .....................................................................................

2.6. Параллелизм ................................................................................

2.7. Сохраняемость .............................................................................

3. ОБЪЕКТЫ ...............................................................................................

3.1. Состояние .....................................................................................

3.2. Поведение .....................................................................................

3.3. Идентичность ...............................................................................

3.4. Отношения между объектами .....................................................

4. КЛАССЫ ..................................................................................................

4.1. Ассоциация ...................................................................................

4.2. Агрегация .....................................................................................

4.3. Зависимость ..................................................................................

4.4. Наследование ...................................................................................

4.4.1. Наследственная иерархия ................................................

4.4.2. Наследование и типизация ..............................................

4.4.3. Множественное наследование .........................................

4.5. Инстанцирование .........................................................................

4.6. Статические элементы класса ...................................................

4.7. Интерфейсы ..................................................................................

4.8. Категории классов ...............................................................

5. ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА UML ....................................

5.1. Диаграмма классов ......................................................................

5.2. Диаграмма объектов ....................................................................

5.3. Диаграммы последовательностей и коммуникации ..................

6. МНОГОКРАТНОЕ ИСПОЛЬЗОВАНИЕ ПРОГРАММНЫХ СИСТЕМ.

ОСНОВЫ ВИЗУАЛЬНОГО И КОМПОНЕНТНОГО

ПРОГРАММИРОВАНИЯ ..............................................................…………

7. ОСНОВЫ ТЕСТИРОВАНИЯ В ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ

СИСТЕМАХ ............................................…………………………………..

ЛИТЕРАТУРА ...........................................................................................…

 

університет

Чернівецький торговельно-економічний інститут