Abstract

Modern IT systems become more and more distributed, both in literal sense - as business logic spreads across applications running in several different network domains, and in a metaphorical sense - as expert knowledge about system's inner working spreads across different outsource companies and hundreds of documents. In this paper we are discussing regression testing as one of the issues related to that trend. When it comes to testing, quality of specifications is a major issue. They are either unmanageably big and outdated, or very much fragmented - each specifying its own module, but lacking perspective on how system works as a whole. In our practice, it often comes down to reverse engineering to discover what exactly different parts of the system are expecting from each other, but such ad hoc techniques are not welcome in the domain of testing. Different approach relies on analyzing system's events trace that is provided either by business activity monitoring tools, transaction logs or, simply, log files. There is a lot of different data mining techniques already developed; we are mostly interested in process mining as a way of discovering system's decision model. A key factor of any process mining application is the algorithm of discovering events relation. It can be either generic algorithm like Alpha-algorithm or a specific algorithm tailored for a particular set of possible events. In this paper we provide an outline for a specific algorithm that we use to discover events relation in a special environment. The environment we are using is specifically designed for the goal and has central part in the process. It is used for mediating interactions happening between system's modules in run-time as a discrete process thus providing us with a very straightforward way of determining events causality.

Highlights

  • In this paper we are discussing regression testing as one of the issues related to that trend

  • There is a lot of different data mining techniques already developed; we are mostly interested in process mining as a way of discovering system's decision model

  • A key factor of any process mining application is the algorithm of discovering events relation

Read more

Summary

Введение

Одним из трендов развития современных информационных систем является переход к большей распределенности компонентов этих систем. С точки зрения разработки, такие компоненты легче поддерживать, так как их код относительно тривиален и не превышает объемом 1 kloc. С одной стороны юнит-тестирование теряет значимость, так как каждый компонент в отдельность тривиален. С другой стороны, интеграционное и системное тестирование приобретают особую важность, так как именно проблемы взаимодействия компонентов являются наиболее критическими для работы распределенной системы. Другим следствием распределенности системы является то, что документация также становится все более «распределенной». Например, строки 'aaaa' и 'bbbb' могут представлять различные классы экививалентности для вызываающей системы в зависимости от того, какие атрибуты связаны с ними в вызываемой системе. Функциональные спецификации зачастую не содержат описания семантических связей данных или описывают их как «корректные» и «некорректные», не раскрывая смысл этих понятий

Data-mining в целях тестирования
Process-mining событий в ESB
Свойства сообщений
Корелляция сообщений
Интеракции
Свойства интеракций
Алгоритм формирования модели интеракций
Расширяемость моделей
Генерация тестов
Предположения и ограничения
Заключение
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call