книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Анализ систем разработки структурированных учебных курсов ( Курсовая работа, 6 стр. )
АНАЛИТИЧЕСКОЕ РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ( Дипломная работа, 77 стр. )
АРМ ОПЕРАТОРА ИНТЕРНЕТ-ПРОВАЙДЕРА ( Курсовая работа, 38 стр. )
База данных и веб-интерфейс к библиотеке ИМиКН ( Курсовая работа, 13 стр. )
База данных рецензий на фильмы для мобильных устройств ( Курсовая работа, 29 стр. )
Библиотека геометрических операций для ГИС ( Курсовая работа, 11 стр. )
Библиотека для распределённых пошаговых игр Подсистема обеспечения процесса распределённой обработки данных. ( Курсовая работа, 30 стр. )
Библиотека для распределённых пошаговых игр Проектирование и реализация имитационной модели игрового мира. ( Курсовая работа, 18 стр. )
Библиотека классов C++ для разработки оконных приложений ( Курсовая работа, 16 стр. )
БИБЛИОТЕКИ ДЛЯ PHP НА ОСНОВЕ АРХИТЕКТУРЫ AJAX ( Курсовая работа, 26 стр. )
БИЛЛИНГОВАЯ СИСТЕМА ПО ВЫДЕЛЕННЫМ И VPN- КЛИЕНТАМ С АВТОРИЗАЦИЕЙ НА СЕРВЕРЕ ДОСТУПА TACACS+ ( Дипломная работа, 80 стр. )
БИРЖА НАУКОЕМКИХ ТЕХНОЛОГИЙ В ИНТЕРНЕТ ВЕРСИЯ 1.0 ( Курсовая работа, 22 стр. )
Блок-схемы ( Контрольная работа, 14 стр. )
Блок-схемы 2005-14 ( Контрольная работа, 14 стр. )
Брокер Объектных Запросов ( Дипломная работа, 138 стр. )
Ввод-вывод программы Open-Close в языках Quick Basic и Visual Basic, описание синтаксиса и применение ( Контрольная работа, 9 стр. )
Вейвлетные Алгоритмы сжатия изображений ( Курсовая работа, 12 стр. )
Визуализация в играх преследования со многими участниками ( Курсовая работа, 12 стр. )
Визуализация медицинских данных ( Курсовая работа, 12 стр. )
Визуализация разрезов трехмерных полей, заданных непрерывными функциями ( Курсовая работа, 17 стр. )
Визуализация семейств эллиптических функций в пространстве ( Курсовая работа, 15 стр. )
Визуализация тестовых наборов данных для гео-метрических алгоритмов ( Курсовая работа, 14 стр. )
ВИЗУАЛЬНЫЙ КОНСТРУКТОР ОТЧЕТОВ НА ОСНОВЕ ВЕБ-ИНТЕРФЕЙСА ( Курсовая работа, 37 стр. )
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ (Белоруссия) ( Контрольная работа, 11 стр. )
Генератор альбома карт в среде ПО ArcGIS Desktop. ( Курсовая работа, 13 стр. )

Содержание

1 Введение 4

1.1 Неформальная постановка задачи 4

1.2 Описание предметной области 5

1.2.1 Что тестировать 5

1.2.2 Как тестировать 5

1.2.2.1 Толстый Win32 клиент с GUI 5

1.2.2.2 Web приложения 5

1.2.3 Воспроизведение исходного состояния 6

1.2.4 Тестирование результата 6

1.2.5 Когда писать тесты 6

1.3 Обзор существующих методов решения 7

1.3.1 SQA Suite 6.1 7

1.3.2 Visual Test 6.5 8

1.3.3 SQA SiteCheck 6.1 8

1.3.4 Rational Quantify 9

1.3.5 Rational Visual PureCoverage 9

1.3.6 Rational Robot 9

1.3.7 Системы типа QA: AQTest, Dynamic Imager, Test Pro Developer, Insure, E-test 10

1.3.8 Выводы 10

2 Требования к окружению 11

2.1 Требования к аппаратному обеспечению 11

2.2 Требования к программному обеспечению 11

2.3 Требования к пользователям 11

3 Функциональные требования 12

3.1 Среда исполнения 12

3.2 Обработка тестов 12

3.3 Производительность 12

3.4 Надёжность 12

3.5 Интерфейс 12

4 Спецификация данных 12

4.1 Сущность – Программа. 12

4.2 Сущность - Тестовый набор. 13

4.3 Сущность – Отдельный тест. 13

4.4 Глобальные переменные 13

5 Проект 14

5.1 Unit GUITestRunner 14

5.1.1 Классы 14

5.1.2 Свойства 14

5.1.3 Типы 14

5.1.4 Элементы определения класса 14

5.1.5 Константы 14

5.1.6 Константы 14

5.2 Unit TestExtensions 15

5.2.1 Классы 15

5.2.2 Интерфейсы 15

5.2.3 Методы 15

5.2.3.1 Обьект TRepeatedTest 15

5.2.3.2 Обьект TTestDecorator 15

5.2.3.3 Обьект TTestSetup 15

5.3 Unit TestFramework 16

5.3.1 Классы 16

5.3.1.1 Обьект TMethodEnumerator 16

5.3.1.2 Обьект TTestCase 16

5.3.1.3 Обьект TTestFailure 17

5.3.1.4 Обьект TTestResult 17

5.3.1.5 Обьект TTestSuite 18

5.3.2 Интерфейсы 18

5.3.2.1 Интерфейс ITest 19

5.3.2.2 Интерфейс ITestListener 19

5.3.2.3 Интерфейс ITestSuite 19

5.3.3 Типы 19

5.3.4 Элементы определения класса 19

5.4 Unit TextTestRunner 20

5.4.1 Классы 20

5.4.2 Типы 20

5.4.3 Элементы определения класса 20

5.4.4 Методы 20

6 Реализация 20

6.1 Физические характеристики текущей версии системы 20

6.2 Программный интерфейс 21

6.3 Пользовательский интерфейс 22

6.4 Пример использования (тестирование) библиотеки TestTool 22

7 Заключение 25

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

1 Введение

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

Решение 1. Умный компилятор

Идеальным решением был бы умный компилятор, который бы не только бы проверял, что код синтаксически правильный, но и что логика программы тоже правильна. Такое средство выдает ошибки в логике, либо сигнализирует тогда когда вы что-нибудь поменяв, испортили логику программы. Таким образом, Вам нужно думать, вносить либо не вносить изменения? Но, к сожалению таких компиляторов не существует. [7]

Решение 2. Автоматизированное тестирование юнитов

Идеального компилятора не существует, поэтому надо найти другой способ тестирования. И этот способ называется «Автоматизированное тестирование юнитов - АТЮ».

Во первых АТЮ – это не тестирование по черному ящику.

Во вторых АТЮ – это не функциональное тестирование. Программа не проверяется на функциональные спецификации. [2,9]

АТЮ – это возможность определить множество тестов для класса. И тестировать программный интерфейс какого-то объекта: заполняем свойства объекта, какими-то данными, вызываем методы, и сверяем результаты, которые получили и которые хотели получить.

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

1.1 Неформальная постановка задачи

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

Поэтому было решено создать такое программное средство (библиотеку подключаемых модулей) для автоматизированного тестирования юнитов (units) на языке Delphi, используя технологию получения RTTI (Runtime Type Information - Информация о типах времени исполнения), которое бы позволяло пользователю: использовать объектно-ориентированную запись тестов; объединять тесты в группы; запускать, как отдельные тесты, так и группы тестов, правильно перехватывать возникающие исключения.

То есть нужно создать, встраиваемый в программу пользователя, менеджер тестов, который может встраиваться в программу. [2]

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

1.2 Описание предметной области

1.2.1 Что тестировать

Назначение функционального теста - доказать Заказчику (и показать Разработчику) то, что система работает так, как необходимо. Следовательно, тестировать надо то, и только то, что должно быть в работающем виде.

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

Функциональный тест должен работать в терминах пользователя. Если для пользователя расчет комиссионных выглядит как появление нужных сумм в окне просмотра, то и функциональный тест должен тестировать это. [1]

1.2.2 Как тестировать

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

1. Mosley Kun, "The Handbook of MIS Application Software Testing: Methods, Techniques, and Tools for Assuring Quality through Testing", Prentice-Hall, 1993, http://users.vnet.net/wwake/xp/xp0001/index.shtml

2. John Dow, «Execute Unit And Integration Tests», http://www.csst-technologies.com/ext-test.html

3. Delphi 6 SDK, Delphi 6 HELP

4. Microsoft Developer Network, April 2001

5. Кленин А.С., Методические указания по подготовке и защите отчётов на специализации «Прикладная математика. Системное программирование», ?2002

6. Рон Джеффриз, «Extreme Programming и руководство пользователя», 2001

7. Martin Flowers, «All about testing»http://www.martinfowler.com/articles.htm, 2002

8. Michiel Hill, «Testing problems», http://www.madrigal.com.auх/mich/test-probl.shtml

9. http://www.extremeprogramming.org, 2002 - сайт «Экстремальное программирование»

Примечаний нет.

2000-2024 © Copyright «DipMaster-Shop.ru»