Тестирование в конструировании (Construction Testing) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тестирование в конструировании (Construction Testing)



При конструировании используются две формы тестирования, проводимого инженерами, непосредственно создающими исходный код:

· модульное тестирование (unit testing)

· интеграционное тестирование (integration testing)

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

Тестировании в конструировании обычно включает подмножество видов тестирования, описанных в области знаний “Тестирование программного обеспечения” (Software Testing). Например, тестирование в конструировании обычно не включает системного тестирования, нагрузочного тестирования, usability-тестирования (оценки прозрачности использования) и других видов тестовой деятельности.

IEEE опубликовал два стандарта, посвященных данной теме:

· IEEE Std 829-1998: “IEEE Standard for Software Test Documentation”

· IEEE Std 1008-1987: “IEEE Standard for Software Unit Testing”

Повторное использование ПО (Reuse)

Во введении в стандарт IEEE Std. 1517-99 “IEEE Standard for Information Technology – Software Lifecycle Process – Reuse Processes” даётся следующее понимание повторному использованию в программном обеспечении: “Реализация повторного использования программного обеспечения подразумевает и влечёт за собой нечто большее, чем просто создание и использование библиотек активов. Оно требует формализации практики повторного использования на основе интеграции процессов и деятельности по повторному использованию в сам жизненный цикл программного обеспечения.” В то же время, повторное использование достаточно важно и непосредственно при конструировании программных систем, что подчеркивается включением этой темы в обсуждаемую область знаний конструирования ПО.

Качество конструирования (Construction Quality)

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

· модульное (unit) и интеграционное (integration) тестирование

· разработка с первичностью тестов (test-first development - тесты пишутся до конструирования кода)

· пошаговое кодирование (деятельность по конструированию кода разбивается на мелкие шаги, только после тестирования результатов которых производится переход к следующему шагу кодирования; известен также как итеративное кодирование с тестированием)

· использование процедур утверждений (assertion)

· отладка (в привычном понимании - debugging)

· технические обзоры и оценки (review)

· статический анализ

Интеграция (Integration) ПО

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

Кроме упомянутых аспектов интеграции, к обсуждаемым интеграционным вопросам конструирования относятся:

· планирование последовательности, в которой интегрируются компоненты;

· обеспечение поддержки создания промежуточных версий программного обеспечения;

· задание “глубины” тестирования (в частности, на основе критериев “приемлемого” качества) и других работ по обеспечению качества интегрируемых в дальнейшем компонент;

· наконец, определение этапных точек проекта, когда будут тестироваться промежуточные версии конструируемой программной системы.

Ядро знаний SWEBOCK

На сегодня ядро стабильных знаний по программной инженерии составляет 75% от тех

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

В связи с этим мировое компьютерное сообщество пришло к необходимости

систематизации накопленных знаний и общие из них зафиксировать в виде ядер

знаний (Body of Knowledge – BOK) для разных областей информатики [19]. Для

создания ядра знаний ПО был создан международный комитет при американском

объединении компьютерных специалистов ACM (Association for Computing

Machinery) и институте инженеров по электронике и электротехнике IEEE Computer

Society. В комитет вошли специалисты мирового уровня в области информатики и

разработки ПО, которые внесли свой опыт и знания, а также систематизировали

накопленные разнородные знания и определили (1999г., 2001г., 2004г.) ядро

профессиональных знаний SWEBOK (Software Engineering Body Knowledge)

программной инженерии [20], как основы проектирования ПО. Ядро включает сумму

знаний, распределенную по 10 специализированным областям, которые отражают

отдельные процессы проектирования ЖЦ ПО и методы их поддержки.

18 Определение дисциплины программная инженерия

Программная инженрия (Software Engineering) является отраслью компьютерной

науки, изучает вопросы построения программ для компьютеров, отражает

закономерности развития в ней знаний, обобщает накопленный опыт

программирования в виде комплексов общих знаний и правил регламентации

инженерной деятельности разработчиков ПО.

Как инженерная дисциплина охватывает все аспекты создания ПО, начиная от

разработки требований до создания, сопровождения и снятия с эксплуатации ПО, а

также оценку трудозатрат, производительности и качества.

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

реверсной инженерии (перепрограммирование) и рефакторинга программных

компонентов и интерфейсов. Применение готовых продуктов (модулей, программ,

систем и т.п.) в новых разработках привело к их инженерии, при которой компоненты

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

затраты при создании новых систем за счет их накопления в репозитариях или

электронных библиотеках.

Программостроение больших программных проектов становится инженерным по своей

сути.



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 260; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.2.160 (0.009 с.)