УЗНАЙ ЦЕНУ

(pdf, doc, docx, rtf, zip, rar, bmp, jpeg) не более 4-х файлов (макс. размер 15 Мб)


↑ вверх
Тема/ВариантРазработка библиотеки программ для автоматизированного тестирования юнитов (units) на языке программирования Delphi
ПредметПрограммирование
Тип работыкурсовая работа
Объем работы26
Дата поступления12.12.2012
890 ₽

Содержание

Содержание 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 - сайт «Экстремальное программирование»
Уточнение информации

+7 913 789-74-90
info@zauchka.ru
группа вконтакте