Лекция: Источники ошибок в математической модели и необходимость тестирования.

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

Тестирование — процесс пошаговый. Наверное, имеет смысл разделить проверку работоспособности программ в ходе непосредственного написания кода (самим программистом) и после завершения основного этапа кодирования (скорее всего, специальными тестировщиками). Тут можно вспомнить о золотом правиле программирования: написание каждых 20-30 строк кода (тем более законченных процедур, функций) должно сопровождаться проверкой их работоспособности, хотя бы в каком-то основном режиме. В то же время нужно подчеркнуть и важное различие в проведении тестирования в ходе кодирования и по его завершении: в первом случае продолжать написание программы (а также запуск других тестовых примеров) желательно только после устранения ошибки, во втором осуществляется пакетное выполнение серии текстов с простой фиксацией их результатов.

Тестирование — процесс также итерационный. После обнаружения и исправления каждой ошибки обязательно следует повторение тестов, чтобы убедиться в работоспособности программы. Более того, для идентификации причины обнаруженной проблемы может потребоваться проведение специального дополнительного тестирования. Различные виды тестирования можно классифицировать и по следующим основным характеристикам (хотя любая категоризация является достаточно условной).

Функциональное и нагрузочное тестирование. Работы первого вида можно отнести к традиционным — проверка ПО на соответствие требованиям по функционалу***. В последние годы заметно возросла актуальность относительно новых задач, таких, например, как анализ совместимости разрабатываемого продукта с различными программными и аппаратными платформами, приложениями и пр. Второй тип обычно связывают с задачами оценки производительности и масштабирования, но на самом деле он затрагивает гораздо более широкий круг проблем; выявление узких мест в коде программы, обнаружение «утечек» ресурсов и т. д.

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

Ручное и автоматизированное тестирование. По мере повышения сложности проекта доля задач, решаемых с помощью автоматизированных методов (использование скриптов, программ-имитаторов и пр.), неуклонно растет. Подавляющее число задач нагрузочного тестирования может решаться исключительно с их помощью.


44. Краткий обзор возможностей CAS – систем.

Content-addressable storage (CAS) — архитектура хранения, в которой адресация осуществляется образом хранимых данных. Образ данных хэшируется и хэш используется для его нахождения на устройствах или системах хранения. По сути данные записываются в BLOB-поля специализированной базы данных, а вычисленный хэш используется как индексный ключ базы, по которому осушествляется быстрый поиск содержимого. Построение системы хранения как базы данных позволило применять к процессам доступа и хранения данных методы работы с базами (версионность хранения, дедупликация). Справедливости ради следует также упомянуть, что ранее такие формы организации информации уже применялись на практике, например файловая система OS VMS (применявшаяся на DEC VAX, впоследствии OpenVMS) была организована как своеобразная база данных.

Архитектура обладает большой устойчивостью к дубликатам, а так же может быть выполнена децентрализованно, что дает ей существенную надежность. Однако серьезным недостатком такого способа организации хранения следует назвать невысокое быстродействие, не позволяющее применять CAS в качестве primary storage. В настоящий момент CAS заняли свое место в системах архивного, долговременного и неизменяемого хранения. Наиболее известным производителем CAS-систем на рынке является компания EMC и ее системы серии Centera.


Применение методов оптимизации при решении задач

автоматического и автоматизированного управления,

прогнозирования ситуаций, принятия решений

еще рефераты
Еще работы по информатике