Автоматизированное тестирование программы – SimpleTest — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Автоматизированное тестирование программы – SimpleTest

2021-03-17 79
Автоматизированное тестирование программы – SimpleTest 0.00 из 5.00 0 оценок
Заказать работу

Автоматизированные модульные тесты разрабатывались с использованием бесплатной системы тестирования PHP SimpleTest [3.6]. Эти тесты использовались для регрессивного тестирования системы: при разработке новых функций, необходимо было убедиться, что ранее реализованные функции продолжают функционировать нормально. Тесты разрабатывались отдельно для каждой подсистемы: объектно-реляционного отображения, авторизации, модулей серверных компонентов, модулей каркаса пользовательского интерфейса.

Использование автоматизированных регрессивных модульных тестов позволило обнаружить ошибки, связанные с изменением корректности работы системы после внесения локальных изменений.

Основное назначение SimpleTest — проверка работоспособности классов и функций, а также тестирование входных и выходных данных для приложения.

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

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

В первую очередь необходимо физически связать вашу задачу и тестирующие функции. Для этого следует включить в тестирующий код сами классы (как минимум файлы simpletest/unit_tester.php и simpletest/reporter.php) SimpleTest с помощью директив require_once. Сам тестирующий код по замыслу разработчиков должен выделяться в отдельный класс, который наследует свойства родительского объекта. Этим объектом является класс UnitTestCase, который содержит функции, необходимые для проверки разнообразных значений, которые могут возвращать методы наших классов.

Наиболее простыми методами этого класса являются методы assertFalse и assertTrue, которые позволяют проверить функции, возвращающие логические значения True или False. Таким образом, проверка может осуществляться путем вызова одного из методов, в качестве параметра которого передается тестируемая функция с необходимым для нее набором параметров.

Кроме простейших методов для проверки логических значений SimpleTest имеет массу других тестовых функций. Вот список тестовых функций, которые можно использовать в текущей версии SimpleTest:

assertTrue($x) — выдается ошибка, если значение False;

assertFalse($x) — получаете ошибку тестирования, если переданное значение True;

assertNull($x) — проверка, существует ли переданное значение;

assertNotNull($x) — указанное в параметрах метода значение не должно существовать;

assertIsA($x, $t) — переменная $x не должна иметь тип $t;

assertNotA($x, $t) — проверка на соответствие типа переменной $x строке $t;

assertEqual($x, $y) — проверка на равенство $x и $y;

assertNotEqual($x, $y) — проверка на неравенство $x и $y;

assertWithinMargin($x, $y, $m) — проверка того, что разница $x и $y меньше $m;

assertOutsideMargin($x, $y, $m) — разница $x и $y больше $m;

Для передачи сообщений в итоговый отчет и автоматизации некоторых функций, а также для тестирования собственной работоспособности SimpleTest предлагает набор специальных вспомогательных методов. Метод setUp (setDown) позволяет указать функцию, которая будет выполняться перед (после) каждым вызовом тестового метода класса. Функции pass() и fail() вызываются в качестве теста для самих классов SimpleTest. Метод sendMessage() передает пользовательское сообщение в итоговый отчет. Для очистки очереди ошибок можно применить метод swallowErrors.

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

 

 


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

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

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.