Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сит.docx
Скачиваний:
10
Добавлен:
26.09.2019
Размер:
353.03 Кб
Скачать

18. Совместная разработка: Методы и средства тестирования и отладки программных приложений

Тестирование программного обеспечения (Software Testing) - это одна из техник контроля качества, включающая в себя активности по планированию работ (Test Management), проектированию тестов (Test Design), выполнению тестирования (Test Execution) и анализу полученных результатов (Test Analysis).

  • Ручное тестирование

  • Автоматизированное тестирование

  • Смешанное тестирование

Существует несколько методов тестирования:

Тестирование программ методом "чёрного ящика" (Black box testing)

Тестирование софта методом "белого ящика" (White box)

Тестирование ПО методом "серого ящика" (Grey box)

Тестирование не функциональных аспектов программы.

В терминологии профессионалов тестирования (программного и некоторого аппаратного обеспечения), фразы «тестирование белого ящика» и «тестирование чёрного ящика» относятся к тому, имеет ли разработчик тестов доступ к исходному коду тестируемого ПО, или же тестирование выполняется через пользовательский интерфейс либо прикладной программный интерфейс, предоставленный тестируемым модулем.

При тестировании белого ящика, разработчик теста имеет доступ к исходному коду программ и может писать код, который связан с библиотеками тестируемого ПО. Это типично для юнит-тестирования (англ. unit testing), при котором тестируются только отдельные части системы. Оно обеспечивает то, что компоненты конструкции — работоспособны и устойчивы, до определённой степени. При тестировании белого ящика используются метрики покрытия кода.

При тестировании чёрного ящика, тестировщик имеет доступ к ПО только через те же интерфейсы, что и заказчик или пользователь, либо через внешние интерфейсы, позволяющие другому компьютеру либо другому процессу подключиться к системе для тестирования. Например, тестирующий модуль может виртуально нажимать клавиши или кнопки мыши в тестируемой программе с помощью механизма взаимодействия процессов, с уверенностью в том, все ли идёт правильно, что эти события вызывают тот же отклик, что и реальные нажатия клавиш и кнопок мыши. Как правило, тестирование чёрного ящика ведётся с использованием спецификаций или иных документов, описывающих требования к системе. Как правило, в данном виде тестирования критерий покрытия складывается из покрытия структуры входных данных, покрытия требований и покрытия модели (в тестировании на основе моделей).

Средства автоматического тестирования (САТ) позволяют сократить время тестирования при многократном выполнении повторяющихся операций. Кроме того, проведение нагрузочного тестирования часто вообще не возможно без этих средств.

САТ бывают платными (Rational, Mercury, Segue, etc) и бесплатными (Winstress, Netbench, IOMeter, etc).

САТ достаточно сложны в изучении и эксплуатации. Работая с ними необходимо помнить, что САТ – это не самоцель, а средство. Очень часто бывают ситуации, когда быстрее выполнить тест вручную.

19. Особенности модель распределённых объектов. Модель rpc.

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

Особенности при использовании удаленных объектов, не встречавшихся в удаленном вызове процедур. 1. в системах, использующих удаленные объекты, сериализации подвержены как параметры метода и его результат, так и выбрасываемые при выполнении удаленного метода исключения. 2. в качестве параметра или результата методов могут тоже передаваться ссылки на удаленный объект, если вызывающий удаленный метод клиент также может являться сервером. При использовании удаленных объектов проблемными являются вопросы о времени их жизни: в какой момент времени создается экземпляр удаленного объекта и в течение какого промежутка времени он существует. Для описания жизненного цикла два дополнительных понятия: активация объекта: процесс перевода созданного объекта в состояние обслуживания удаленного вызова, то есть связывания его с каркасом и посредником. деактивация объекта: процесс перевода объекта в неиспользуемое состояние. Выделяют три модели использования удаленных объектов – модель единственного вызова (singlecall, для каждого вызова удаленного метода объекта клиентом на сервере создается и активируется новый экземпляр объекта, который деактивируется и затем удаляется сразу после завершения удаленного вызова метода объекта. Набор объектов, ожидающих своей активации, называется пулом объектов, достигается баланс между скоростью и ресурсами), модель единственного экземпляра (singleton удаленный объект существует не более чем в одном экземпляре. Он существует, пока есть хоть один использующий его клиент. Нет состояния, высокая производительность), а так же модель активации объектов по запросу клиента (client activation При каждом создании клиентом ссылки на удаленный объект на сервере создается новый объект, который существует, пока клиент не удалит ссылку на посредника. вызовы клиентов изолированы друг от друга, объект сохраняет свое состояние между вызовами, наименее рациональное использование памяти). Первых две модели так же иногда называют моделями серверной активации (server activation), хотя, строго говоря, активация всегда происходит на сервере после какого-либо запроса от клиента.

Идея вызова удаленных процедур (Remote Procedure Call - RPC) состоит в расширении известного механизма передачи управления и данных внутри программы, выполняющейся на одной машине, на передачу управления и данных через сеть.

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

Т.о., средства удаленного вызова процедур предназначены для облегчения организации распределенных вычислений. Наибольшая эффективность использования RPC достигается в тех приложениях, в которых существует интерактивная связь между удаленными компонентами с небольшим временем ответов и относительно малым количеством передаваемых данных. Реализация удаленных вызовов существенно сложнее реализации вызовов локальных процедур.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]