книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Разработка программы, позволяющей автоматизировать движение материалов на складе ( Дипломная работа, 49 стр. )
Разработка программы – игра «Ханойские башни», и рассмотрение некоторых особенностей создания программ ( Контрольная работа, 10 стр. )
Разработка программы для сравнения дискретной динамической системы и её компьютерного аналога ( Курсовая работа, 12 стр. )
Разработка программы «Сведения о N рабочих» и сопроводительной документации ( Курсовая работа, 33 стр. )
Разработка программы «Сведения о 10 заводах» и сопроводительной документацию ( Курсовая работа, 32 стр. )
Разработка программы для автоматизации учета и предварительных заказов на предприятиях различных сфер деятельности ( Дипломная работа, 95 стр. )
Разработка программы на языке Microsoft Visual Basic for Application ( Курсовая работа, 20 стр. )
Разработка программы на языке Turbo Pascal ( Курсовая работа, 38 стр. )
Разработка процедуры пространственной индексации записей метаданных в базе данных ( Курсовая работа, 10 стр. )
Разработка распределенной Mediation-системы с графическим интерфейсом ( Отчет по практике, 20 стр. )
Разработка распределенной информационно-аналитической системы по Чукотскому и Берингову морям ( Курсовая работа, 22 стр. )
РАЗРАБОТКА РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ «УПРАВЛЕНИЕ СКЛАДСКИМИ ОПЕРАЦИЯМИ». ( Курсовая работа, 31 стр. )
РАЗРАБОТКА САМООБУЧАЮЩЕЙСЯ СИСТЕМЫ ПОДАЧИ ТОПЛИВА ДЛЯ ДВС С МОДИФИЦИРОВАННОЙ СИСТЕМОЙ ПИТАНИЯ. МОДУЛЬ САМООБУЧЕНИЯ. ( Курсовая работа, 8 стр. )
Разработка сетевой КПК игры аркадного жанра «Танки» ( Курсовая работа, 45 стр. )
Разработка систем для операций с базой данных автосалона, позволяющей просматривать списки моделей и клиентов, а также формировать заказы, счета и отчеты по продажам 2008-37 ( Курсовая работа, 37 стр. )
Разработка систем для операций с базой данных автосалона, позволяющей просматривать списки моделей и клиентов, а также формировать заказы, счета и отчеты по продажам ( Курсовая работа, 37 стр. )
Разработка системы автоматизации рабочего места менеджера по учету складу предприятия ООО «Сибобслуживание» ( Дипломная работа, 87 стр. )
Разработка системы удаленного тестирования знаний WEBTEST ( Курсовая работа, 43 стр. )
Разработка способа шифрования и его программная реализация ( Контрольная работа, 8 стр. )
РАЗРАБОТКА СРЕДСТВ ИНТЕГРАЦИИ MICROSOFT PROJECT 2007 С СИСТЕМОЙ УПРАВЛЕНИЯ ПРЕДПРИЯТИЕМ ( Курсовая работа, 54 стр. )
Разработка структуры проектируемой базы данных и её реализация средствами SQL, VBA, объектов DAO………………………………………… ( Курсовая работа, 32 стр. )
Разработка технического оформления выставки ( Контрольная работа, 13 стр. )
Разработка части прототипа управления АНПА на базе программной платформы Player ( Курсовая работа, 12 стр. )
Распараллеливание программы генерации расписания занятий ( Курсовая работа, 64 стр. )
Распознавание периферийных устройств ( Контрольная работа, 8 стр. )

Содержание

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»