3-software_engineering_construction (1133543), страница 4
Текст из файла (страница 4)
Во многих случаях,тестирование в конструировании производится после того, как код написан. В ряде случаев, тесты(что отмечалось ранее, на примере 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”Напрямую с данной темой связаны под-темы SWEBOK 2.1.1 “Unit Testing” и 2.1.2 “Integration Testing”.3.5 Повторное использование (Reuse)Во введении в стандарт IEEE Std. 1517-99 “IEEE Standard for Information Technology – SoftwareLifecycle Process – Reuse Processes” даѐтся следующее понимание повторному использованию впрограммном обеспечении: “Реализация повторного использования программного обеспеченияподразумевает и влечѐт за собой нечто большее, чем просто создание и использование библиотекактивов.
Оно требует формализации практики повторного использования на основе интеграциипроцессов и деятельности по повторному использованию в сам жизненный цикл программногообеспечения.” В то же время, повторное использование достаточно важно и непосредственно приCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru9Основы программной инженерии (по SWEBOK)Программная инженерия.
Конструирование программного обеспечения.конструировании программных систем, что подчеркивается включением этой темы в обсуждаемуюобласть знаний конструирования ПО.Задачи, связанные с повторным использованием в процессе конструирования и тестирования,включают: выбор единиц (units), баз данных тестовых процедур, данных <полученных в результате>тестов и самих тестов, подлежащих повторному использованию оценку потенциала повторного использования кода и тестов отслеживание информации и создание отчетности по повторному использованию в новомкоде, тестовых процедурах и данных, полученных в результате тестов.3.6 Качество конструирования (Construction Quality)Существует ряд техник, предназначенных для обеспечения качества кода, выполняемых по мере егоконструирования.
Основные техники обеспечения качества, используемые в процессеконструирования, включают: модульное (unit) и интеграционное (integration) тестирование разработка с первичностью тестов (test-first development - тесты пишутся до конструированиякода) пошаговое кодирование (деятельность по конструированию кода разбивается на мелкиешаги, только после тестирования результатов которых производится переход к следующемушагу кодирования; известен также как итеративное кодирование с тестированием) использование процедур утверждений (assertion) отладка (в привычном понимании - debugging) технические обзоры и оценки (review) статический анализВыбор и использование конкретных техник часто диктуется стандартами (внутренними и внешними),используемыми проектной командой, а также зависят от опыта и подготовленности специалистов,занимающихся конструированием кода.Деятельность по обеспечению качества в конструировании отличается от других операций пообеспечению качества.
Основное отличие заключается в фокусе на программном (исходном) коде идругих артефактах (активах), тесно связанных с кодом, в частности, детальных моделях.3.7 Интеграция (Integration)Одна из ключевых деятельностей, осуществляемых в процессе конструирования, - интеграцияотдельно сконструированных операций (процедур), классов, компонентов и подсистем (модулей). Вдополнение к этому, некоторые программные системы нуждаются в специальной интеграции сдругим программным и аппаратным обеспечением.Кроме упомянутых аспектов интеграции, к обсуждаемым интеграционным вопросам конструированияотносятся: планирование последовательности, в которой интегрируются компоненты; обеспечение поддержки создания промежуточных версий программного обеспечения; задание “глубины” тестирования (в частности, на основе критериев “приемлемого” качества)и других работ по обеспечению качества интегрируемых в дальнейшем компонент; наконец, определение этапных точек проекта, когда будут тестироваться промежуточныеверсии конструируемой программной системы.Copyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru10.