Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРИЯ ИНЖИНИРИНГА-Калянов.doc
Скачиваний:
14
Добавлен:
19.08.2019
Размер:
643.07 Кб
Скачать

3.2. Тестирование бизнес-процесса

3.2.1. Специфика тестирования бизнес-процесса -

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

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

  • в основе обеих объектов лежит понятие алгоритма;

  • обаобъекта имеют одинаковые этапы жизненного цикла;

  • оба объекта могут выполняться как последовательно, так и па­раллельно;

  • оба объекта адекватно моделируются с использованием графо­вых моделей.

В общем случае тестирование представляет собой набор про­цедур и действий, предназначенных для демонстрации коррект­ной работы объекта в заданных режимах и внешних условиях. Цель тестирования — выявить наличие ошибок или убедительно продемонстрировать ихотсутствие, что возможно лишь в отдель­ных тривиальных случаях.

v Важнейшим и наиболее часто применяемым на практике яв­ляется метод детерминированного тестирования. При этом в ка­честве эталонов (тестов) используются конкретные исходные данные, состоящие из взаимосвязанных входных и результирую­щих величин и правильных последовательностей их обработки. В процессе тестирования при заданных исходных величинах необ­ходимо установить соответствие результатов их обработки вели­чинам, используемым как эталонные/Для сложных объектов тре­буется большое количество тестов и возникает проблема оценки их необходимого количества и использования методов их сокра­щения. Поэтому тестирование (как и любой другой вид деятель­ности) целесообразно планировать. План тестирования должен

содержать:

  • формулировку целей тестирования;

  • критерии качества тестирования, позволяющие оценить его ре­зультаты;

  • стратегию проведения тестирования, обеспечивающую дости­жение заданных критериев качества;

  • потребности в ресурсах для достижения заданного критерия ка­чества при выбранной стратегии.

Для целей тестирования объект удобно представлять в виде ориентированного графа G — (N, £), где N = {Nx, N2, —, Nm) — множество узлов (вершин), соответствующих функционалу объ­екта; Е - (Еи Е2,..., Е„) - множество ребер (дуг), соответствую­щих передачам управления между функциями.

Путем (маршрутом) называется последовательность вершин и дуг Р= (Nh EU2, N2, £2 j,..., Ек.и, Nk), где каждая дуга Eii+l вы­ходит из Nt и входит в N't+b причем TV, не обязательно начальный узел. Ветвью называется путь Р, в котором Nx - либо начальный узел, либо узел ветвления, Nk — узел ветвления либо заверша­ющий узел, все остальные JV,- не являются узлами ветвления.

/Очевидно, что полное тестирование всех возможных маршру­ тов нереально в связи с огромными затратами труда и времени. Поэтому на практике применяются критерии выбора тестов, не гарантирующие полной проверки объекта. Общим требованием к этим критериям является достижение лишь определенной степе­ ни полноты покрытия объекта или его компонентов. Как прави­ ло, эти критерии устанавливают требование, по крайней мере, однократной проверки всех функций (критерий С0), всех его вет­ вей (критерий Сх) либо всех полпутей специального вида. Самым распространенным критерием тестирования является критерий, требующий по крайней мере однократной проверки каждой из ветвей объекта (критерий С,). Например, тестирование при при­ емке программного обеспечения для ВВС США производится на основании этого критерия. По ряду независимых оценок исполь- зование критерия С, обеспечивает обнаружение <я?61% до 90% ошибок. ■-.-■■

Однако бизнес-процесс является гораздо более сложным и непредсказуемым объектом, чем обычная компьютерная прог-. дамма, в том числе и параллельная. Если последняя содержит ряд управляющих параллелизмом механизмов, таких, как механизмы с?тхронизации ветвей, то выполнение бизнес-пдоцесса, вообще сребря, непредсказуемо. Например, любое ЛПР^южет приказать своему подчиненному изменить традиционный маршрут испол-аения би?нее-процесса (типичный пример приказа такого рода — «к этот Документ передайте не Ивану Ивановичу, как обычно, а Петру Петровичу»). В то же время даже для последовательных арограмм задача тестирования является трудноразрешимой. Из-эестно, что полное и исчерпывающее ее тестирование практичес­ки невозможно, так как требует огромных трудозатрат. Таким об­разом, перефразировав известное утверждение Дейкстры (касаю-чееся программного обеспечения), можно сказать, что любой 1нзнес-процесс содержит хотя бы одну ошибку - просто пока «ще небыли созданы условия для ее проявления.

В качестве примера можно привести реальный случай, прои­зошедший на одном из молокозаводов Москвы. Схема отгрузки ■олокопродуктов в магазины включала прием денежного залога зпару, принадлежащую молокозаводу. При возврате тары залог возвращался. Поскольку величина залога была незначительной, «однократно возвращалась сломанная тара, нередкими были вучая ее утери, что создавало определенные проблемы при

ежедневной отгрузке молокопродуктов. В связи с этим руковод­ство молокозавода приняло решение о почти двукратном увели­чении величины залога. Это привело к тому, что уже на следую­щий день склад был завален порожней тарой — водители быстро сориентировались и свезли на данный молокозавод тару со всех других заводов Москвы. Другими словами, изменились входные данные бизнес-процесса, и он не просто перестал работать, а начал работать со знаком «минус», принося вместо прибыли

убыток.

Безусловно, подобную ошибку нельзя обнаружить никаким, даже самым тщательным тестированием, поскольку еще никто не научился формализовать"людскую смекалку. Вообще говоря, существует два типа бизнес-процессов — планируемые и спон­танные, приведенный пример относится ко второй категории. Спонтанные процессы не подлежат тестированию и исключают­ся из рассмотрения.

Наиболее типичными для планируемых бизнес-процессов современного предприятия ошибками являются ошибки, связан­ные с информационными ресурсами (ошибки в потоках данных). Примерами таких ошибок являются:

  • создание информационных объектов (ИО) и/или их атрибутов, не используемых в дальнейшей деятельности;

  • отсутствие и/или неполнота ИО и/или их атрибутов;

  • дублирование ИО и/или их атрибутов и, как следствие, их не- „ согласованность и противоречивость и др.

Специфика данных ошибок для бизнес-процесса обуславли- , вается наличием регламентов доступа к атрибутам ИО, запреща­ющих или ограничивающих доступ при выполнении ряда биз­нес-операций. Например, такой атрибут сотрудника, как его зарплата, на ряде предприятий доступен только руководству и сотрудникам бухгалтерий.

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

17.1