Разработка и производство программных средств (ПС) обрели все черты специальной отрасли, основу которой составляют соответствующие бизнес-процессы. От качества ПС существенно зависит эффективность выполнения бизнес-процессов во многих отраслях. Как следствие, в этой отрасли в полном объеме возникают и требуют решения задачи обеспечения и повышения эффективности или развития процессов и систем управления производственными бизнес-процессами. Управление бизнес-процессами становится все более сложным во всех сферах деятельности как по составу, так и функционально. Это обусловлено, прежде всего, усложнением выполняемых в составе бизнес-процесса задач, расширением их круга, повышением уровня требований к качеству их исполнения, причем число требований – критериев качества – постоянно растет. В основу современных систем управления положены информационные технологии (ИТ). Однако даже высокоэффективные ИТ не гарантируют успех управления, если бизнес-процессы и системы управления в целом как системы, обеспечивающие информационный менеджмент, не обладают уровнем развития, достаточным для того, чтобы эффективно применять высокотехнологичные средства и процессы обработки информации (ОИ) [1–4].
Вследствие этого в отношении уровня развития систем управления может быть поставлена типовая задача управления, то есть задача целенаправленного формирования в системах управления заданного, или целевого, уровня развития: задание целевого уровня как стратегический план развития, оценка фактического уровня, сравнение его с целевым и внесение изменений в информационный менеджмент, то есть в систему управления. При этом должны быть формально поставлены и последовательно решены следующие задачи: определить понятие «уровень развития»; установить набор характеристик систем управления, определяющих ее уровень развития; описать связь значений характеристик системы с показателем уровня развития; сформировать воздействия на характеристики систем управления в нужном направлении. Специфика решения этих задач определяется условия- ми соответствующей сферы деятельности [2–4]. В настоящей статье эти вопросы рассматриваются применительно к особенностям управления развитием системы управления тестированием при разработке ПС [5].
Тестирование ПС – это, с одной стороны, этап разработки ПО; с другой – специализированный бизнес-процесс в совокупности бизнес-процессов этой области деятельности. Понятие «тестиро- вание ПС» определяется по-разному, однако бизнес-процессы тестирования по сути являются многофункциональными, а задачи управления развитием систем управления тестированием многокритериальными.
Как и в любой другой ИТ, в бизнес-процессе тестирования важным является экономический аспект, или эффективность ИТ: чем выше планируемые показатели качества тестирования, тем больше будут их трудоемкость и стоимость [6, 7]. Чем больше трудозатрат вкладывается в процесс тестирования, тем меньше ошибок в продукте остаются незамеченными. Однако совершенство в индустриальном программировании имеет пределы, которые прежде всего связаны с доступными затратами на получение программного продукта. В связи с этим определение трудоемкости бизнес-процесса тестирования конкретного продукта является оптимизационной задачей.
Стремление к уменьшению дефектов, или к повышению качества продукта, приводит к необходимости применения различных методов отладки и тестирования в процессе создания продукта. По мере обнаружения сложных ошибок и дефектов эффективность низкозатратных методов падает вместе с количеством обнаруживаемых ошибок. Отсюда следует, что каждый из методов тестирования имеет свою нишу, где он хорошо обнаруживает ошибки; вне этой ниши его эффективность падает. Поэтому необходимо совмещать различные методы и стратегии тестирования с целью обеспечения запланированного качества программного продукта при ограниченных затратах; это достигается при формировании адекватной системы управления тестированием.
Тестирование не является изолированным процессом, оно связано с другими работами по созданию ПС. Различные модели разработки ПС требуют различных подходов к тестированию. Тестирование в каскадной модели. Каскадный подход хорошо зарекомендовал себя при построении ИС, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования, чтобы предоставить разработчикам свободу как можно лучшей с технической точки зрения их реализации.
Последовательная модель разработки (V-модель). Основная особенность V-модели – планомерное обеспечение тестирования на ранних стадиях проекта. V-модель является разновидностью каскадной модели: она также имеет последовательную структуру разработки, каждый новый шаг в ней начинается после завершения предыдущего.
Основная особенность V-модели заключается в том, что детализация проекта с течением времени возрастает при движении слева направо, и ни то, ни другое нельзя повернуть вспять. Итерации в проекте производятся по горизонтали, между левой и правой сторонами буквы. В модели в соответствии с введенными основными процессами выделены четыре уровня тестирования: компонентное (модульное), интеграционное, системное, приемочное.
Тестирование в спиральной модели. Спиральная модель – это модель, сочетающая в себе про- ектирование и постадийное прототипирование. В процессе создания ПС для каждого витка спирали заново проводится исследование, ставятся цели, определяются конкретные характеристики проекта и составляется план проведения работ для следующего витка.
Процессная модель тестирования. Основной процесс тестирования состоит из следующих направлений деятельности:
– планирование и управление;
– анализ и проектирование;
– внедрение и реализация;
– оценка критериев выхода и создание отчетов;
– действия по завершению тестов.
Несмотря на логическую последовательность, действия в процессе могут накладываться друг на друга или происходить одновременно. Для конкретных системы и проекта обычно требуется адаптация этих направлений деятельности.
Функции процессной модели:
– определение, анализ, реинжиниринг и документирование производственных и организационных процессов отдела обеспечения качества;
– стандартизация процессов, ролей, артефактов и шаблонов, используемых в отделе;
– ускорение производственных процессов при сохранении высокого уровня качества;
– оптимизация производственных и организационных активностей, направленная на повышение их эффективности и сокращение трудозатрат отдела обеспечения качества.
Можно выделить шесть основных групп процессов тестирования (ГПТ), внутри которых можно произвести декомпозицию и выявить подпроцессы в рамках каждой ГПТ; рисунок 1 иллюстрирует декомпозицию ГПТ до подпроцессов.
Подход к оценке уровня развития системы управления тестированием
Тестирование – это подмножество, или поднабор, множества бизнес-процессов разработки ПО. Рассматривая тестирование как обособленный бизнес-процесс, в составе системы управления разработкой ПО в качестве подсистемы можно выделить систему управления тестированием, совершенствование которой обеспечивает повышение качества выполнения бизнес-процесса тестирования. В задаче управления развитием системы управления тестированием, то есть в задаче целенаправленного формирования в системе управления тестированием заданного, или целевого, уровня развития, важное место занимает оценка фактического значения уровня развития. В качестве методической основы такой оценки в литературе достаточно широко используются классификации уровня развития или стадий зрелости (Maturity Model, MM – модель зрелости, англ.) различных систем и процессов [1, 6].
Известные модели оценки зрелости процессов разработки ПО – Capability Maturity Model (CMM), Capability Maturity Model Integration (CMMI), Test Maturity Model (TMM) – относятся к оценке процессов разработки ПО в целом, не выделяя и не оценивая отдельно систему управления тестированием. В настоящей работе в качестве методической основы оценки уровня развития, или стадии зрелости, систем управления тестированием предпринята попытка применения в условиях тестирования ПС классификации уровня развития проектного менеджмента IT Portofolio Management Maturity Model по М. Джеффри, которая содержит описание четырех уровней развития по мере их повышения: случайный, определенный, управляемый, согласованный [6].
Данная модель носит вербальный характер и основана на качественных оценках характеристик процессов и систем управления, оценивая которые, можно сделать заключение о том, на какой стадии находится рассматриваемая система. Ввиду качественного характера вербальной модели в этих условиях естественным является использование экспертной оценки.
Вербальную классификацию стадий зрелости как множество уровней развития можно представить в виде формальной модели – множества MM, каждому из элементов которого ставится в соответствие некий глобальный критерий GM; его значение определяет уровень развития; по существу это отображение множества классов на пространство значений глобального критерия:
. (1)
Операция отображения f G может быть реализована в виде прямой экспертной оценки (ПЭО), когда эксперт прямо называет номер класса в качестве оценки [6]. В сложных условиях, характерных для такой экспертизы, обычно достаточно трудно найти компетентного эксперта, оценка которого вызывает безоговорочное доверие.
Степень доверия к оценке повышается при проведении коллективной экспертизы. Однако при участии в экспертизе нескольких экспертов оценки могут относиться к разным классам, из-за чего при обработке результатов опроса экспертов будут получены дробные значения классов. Поэтому значение глобального критерия, получаемое в результате экспертизы, будет принадлежать интервалу , то есть будет иметь вид числа . Таким образом, окончательное определение уровня развития – отображение значения глобального критерия на множество классов
(2)
необязательно может давать целочисленную оценку, могут использоваться и дробные числа; при этом шкала классов служит как бы «каркасом» модели при реализации отображения f S.
Однако на практике увеличить число экспертов сложно, поскольку безоговорочно авторитетных пока мало. К тому же такие эксперты требуют высокой оплаты; для многих компаний, прежде всего в сфере малого и среднего бизнеса, проведение экспертизы будет неподъемной затратой. Для решения этой проблемы предлагается метод многокритериальной экспертной оценки (МЭО): на основе вербального описания стадии зрелости вводятся количественные частные критерии PM, отражающие развитие того или иного качества системы; значение каждого из критериев оценивается соответствующим профессиональным экспертом или измеряется; на основании их оценок уже расчетным путем определяется некий глобальный критерий – МЭО стадии зрелости , значение которой показывает уровень развития [6]. При этом вербальная классификация MM отображается множеством частных критериев PM:
(3)
где f P – функция отображения; N – число введенных частных критериев; – множество атрибутов частного критерия (наименование, описание и т.д.).
Экспертиза осуществляется в два этапа. На первом формируется состав множества частных кри- териев, его полнота и адекватность в отношении вербального описания определяются компетентностью состава привлеченных экспертов. Для повышения единообразия множество критериев целесообразно упорядочить следующим образом:
– все критерии нормировать и привести в диапазон значений [0, 1]: 0 – соответствующее свойство не проявляется, 1 – свойство проявляется в максимальной степени;
– критерии, отражающие в вербальной классификации убывающие свойства (недостатки), инвертировать и обратить в противоположные растущие свойства (достоинства).
На втором этапе экспертизы интервал значений [0, 1] для каждого из критериев представляется в виде строки, состоящей из 4 субинтервалов по числу уровней развития; при этом границы субинтервалов определяются экспертами по каждому из критериев. Следует отметить, что границы субинтервалов для разных критериев могут быть различными, то есть разбиение интервала [0, 1] в общем случае неравномерно. Таким образом, состав множества критериев как структурная основа модели уровня развития принимает вид таблицы 1.
Таблица 1
Состав множества критериев
Table 1
The structure of the set of criteria
Критерий
|
Уровень развития
|
1
|
2
|
3
|
4
|
P1M
|
|
|
|
|
·········
|
PNM
|
|
|
|
|
Оценка уровня развития формируется отображением множества частных критериев на значение глобального критерия:
(4)
где операция отображения f PG осуществляется на основе того или иного расчетного алгоритма; при этом могут использоваться различные подходы и методы. Далее для определения оценки уровня развития полученное значение отображается на множество уровней развития по шкале значений :
(5)
для чего должна быть построена шкала соответствия значений и номеров уровней развития. Иначе говоря, для применения (4) и (5) необходимо разбить интервал возможных значений на 4 субинтервала и присвоить им номера уровней развития от 1 до 4. Такая шкала строится на основе граничных значений частных критериев с использованием алгоритма, положенного в основу операции отображения fPG. При этом будет осуществлен переход от вербального описания системы управления тестированием к формированию множества критериев системы и получению числового показателя стадии зрелости.
В условиях малого проектного предприятия применительно к специфике одного из проектов ПО сформировано множество N=12 частных критериев; для всех критериев определены шкалы из 4 субинтервалов (см. табл. 2).
Для применения (4) и (5) на множестве полученных значений частных критериев, или для реализации операций отображения fPG и fS, необходимо задать вид этих операций, то есть сформировать алгоритм расчета количественной оценки уровня развития системы управления тестированием [6].
Так, в качестве глобального критерия может использоваться длина вектора в эвклидовом пространстве, базисом которого являются значения частных критериев, то есть будет
. (6)
В качестве алгоритма определения глобального критерия может использоваться также взвешенное суммирование значений частных критериев:
, (7)
где jj, – весовой коэффициент, отражающий значимость j-го критерия в составе множества частных критериев, конкретные значения jj определяются экспертным путем; на сумму весовых коэффициентов налагается условие нормировки:
. (8)
Правда, наглядность таких глобальных критериев – вектора в 12-мерном пространстве и суммы взвешенных 12 слагаемых – невелика. В связи с этим множество частных критериев целесообразно представить в виде дерева, разбив его на группы по тем или иным признакам и сохраняя при этом наглядность как по числу критериев в группах, так и по числу групп. В этом случае алгоритм определения глобального критерия становится двухуровневым: сначала определяется в каждой группе обобщенный групповой критерий (ОГК), на основе множества которых далее определяется глобальный критерий. При этом на уровнях могут использоваться разные алгоритмы.
На основе исследования и анализа практики рассматриваемого проектного предприятия, процессной модели разработки ПС на предприятии, в частности, в сфере обеспечения качества программных продуктов в составе множества из 12 частных критериев, характеризующих деятельность отдела обеспечения качества, сформированы следующие группы характеристик – частных критериев по 4 критерия в каждой (см. табл. 2): проектные, организационные, общие.
Далее в условиях рассматриваемого предприятия в качестве алгоритма расчета ОГК использу- ется взвешенное суммирование значений частных критериев, включенных в группу:
(9)
где alk – весовые коэффициенты, отражающие значимость k-го критерия в составе множества частных критериев l-й группы, конкретные значения αlk определяются экспертным путем; на сумму весо- вых коэффициентов в группе налагается условие нормировки:
. (10)
В этих условиях значения всех обобщенных групповых критериев , попадают в интервал [0, 1]. Для каждого , на основе алгоритма (9) с учетом условия нормировки (12) интервал [0,1] разделен на 4 субинтервала, отражающих стадии зрелости в отношении данного ОГК (см. табл. 2).
Далее по аналогии с (5) выполняется отображение множества обобщенных групповых критериев на значение глобального критерия:
(11)
где – множество атрибутов ОГК (наименование, описание и т.д.); f GrG – функция отображения; при этом значение глобального критерия определяется расчетным путем с использованием алгоритма, положенного в основу операции отображения f GrG. Интервал возможных значений глобального критерия разбивается на 4 субинтервала, отражающих стадии зрелости системы, с использованием алгоритма отображения f GrG.
В условиях рассматриваемого предприятия в качестве глобального критерия используется длина вектора в эвклидовом пространстве, базисом которого являются значения ОГК, то есть в данном случае глобальный критерий имеет вид
. (12)
С использованием этого алгоритма на основе граничных значений субинтервалов на шкалах ОГК интервал возможных значений глобального критерия разбивается на 4 субинтервала. Таким образом, оценка уровня развития системы определяется по шкале соответствия субинтервалов значений глобального критерия и шкалы уровней зрелости, то есть выполняется отображение значения на шкалу классов:
(13)
где f S – функция отображения, заключающаяся в применении правила соотнесения шкал значений и номеров классов .
Точность экспертизы повышается при увеличении числа частных критериев N, что характеризует более детальное отражение вербального описания множеством количественно оцениваемых, пусть и экспертным путем, величин.
Здесь важно подчеркнуть, что для оценки того или иного частного критерия существенно проще найти компетентного эксперта, то есть узкого специалиста по данному критерию, оценка которого не подвергается сомнению и от которого не требуется столь широкая эрудиция, как от эксперта при проведении ПЭО.
В качестве визуальной иллюстрации модели оценки зрелости управления тестированием построена номограмма (рис. 2), на которой представлены области в пространстве глобальных критериев, отражающие все стадии зрелости.
В порядке управления развитием систем управления тестированием полученное фактическое значение уровня развития сравнивается с его целевым значением. В случае, если целевой уровень не достигнут, необходимо выяснить, какие частные критерии вносят наибольший вклад в отставание в развитии, и провести мероприятия, обеспечивающие преодоление этого отставания. При этом важно оценить ресурсоемкость и стоимость соответствующих мероприятий, то есть эффективность процессов управления [7].
Таким образом, в статье поставлена задача формирования подхода к управлению уровнем развития системы управления тестированием в составе системы управления бизнес-процессами разработки ПС в условиях проектного предприятия. Подход основан на определении оценки уровня развития систем управления тестированием в условиях различных моделей разработки ПО, прежде всего с использованием многокритериальной экс- пертной оценки. В качестве методической основы использована классификация стадий зрелости проектного управления. Предложено отображать вербальное описание стадий зрелости множеством частных количественных критериев, для оценки значений которых предлагается проводить многокритериальную экспертизу. Рассмотрены варианты алгоритмов по этапам определения глобального критерия уровня развития. Предложенный на основе многокритериальной экспертной оценки подход позволяет оценивать степень зрелости систем управления тестированием ПО и целенаправленно управлять ее развитием.
Литература
1. Жданович О.А., Корнюшко В.Ф., Иванчук И.С., Костров А.В. Степень готовности системы управления бизнес-про- цессами к внедрению информационных технологий (методика оценки) // Прикладная информатика. № 2 (50). 2014. С. 14–22.
2. Мухин К.О., Костров А.В. Описание моделей базовых элементов объектно-ориентированной модели производственных процессов для нахождения оптимального управления // Наукоемкие технологии. 2013. Т. 14. № 4. С. 62–67.
3. Мухин К.О., Костров А.В. Метод применения объектно-ориентированных имитационных моделей для управления сложными производственными процессами // Нелинейный мир. 2013. Т. 11. № 5. С. 332–337.
4. Решетников В.Н. Космические телекоммуникации. Системы спутниковой связи и навигации. СПб, 2010. 134 с.
5. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения; [пер. с англ.]. СПб: Питер, 2002. 496 с.
6. Костров А.В., Егорова И.В., Жданович О.А. Подход к управлению уровнем развития информационных систем // Динамика сложных систем. 2015. Т. 9. № 1. C. 24–31.
7. Костров А.В., Матвеев Д.А. Информационный менеджмент. Оценка эффективности информационных систем. Владимир: Изд-во ВлГУ, 2004. 116 с.