We are aware of the continuous monitoring of various data intensive systems and services across cloud platforms and on-premise settings. However, when it comes to continuous monitoring in alignment with continuous software testing in a DevOps context of visually heavy live-streaming applications, we are left with the fewer options especially in the open source space.
In an attempt to address the challenges around these areas, we’ve had to build ImageVision for detecting various types of visual anomalies for the sensor and time-series based live streaming applications. In the context of Agile and DevOps centric delivery models, the purpose and premise of ImageVision gains significance.
Code based conventional open-source automation tools are not sufficient to address the deeper challenges of modern hi-tech digital transformation systems that include, but not limited to Edge, cloud and container computing and plenty of visual plotting of sensor data streaming in real-time among others.
Based on my research and exploration, I observed that it’s unlikely to find even off-the-shelf commercial tools to address the complex automation requirements of detection of visual anomalies in real-time plotting of sensor data streaming that I’ve addressed in my projects with ImageVision.
Also, the open source automation tools can be better complemented and extended with the integration of visual automation tool like ImageVision to add more flexibility and versatility.
ImageVision is a multi-purpose in-house visual automation tool. It’s not meant for replacement of code based automation tools, but it’s definitely extending and complementing greatly the traditional code based automation approaches. Even it has proved to be an absolute mandatory in fulfilling the needs of extremely complex visual anomaly detection scenarios and also in many of the complex and tricky UI interactions where the code based automation approaches have been failing to meet the expectations disgracefully.
Listed below various purposes and the features of the tool.
- Detect various types of anomalies in visual plotting of stream of sensor data points in real time in a fast paced agile delivery model, which otherwise would be impossible to detect.
- Continuous testing combined with continuous monitoring for tracking anomalies in dev/test/staging envs.
- Perform any type of complex automation interactions as if a real human user would do within the visual plotting regions/widgets or on any part of the target region of the screen/image
- Capture any web element as an image for further automation actions
- Compare sets of baseline and runtime images with each other using sophisticated computer vision algorithms
- Plenty of configurations that offer degrees of flexibility to apply the algorithms as a group or individually and in any order of applying them
- Potentially offering UI and platform agnostic E2E visual automation capabilities
- Apply image processing techniques on the basis of configurations including ignoring certain regions of images during grab and compare operations
- Comprising three core modules : Image Grab, Image Compare, and Image Interact. Image Interact module is internally named Actionize
- Currently, addressing three major anomalous conditions in real time mode: I. data gap in the plotting of data or no plotting for certain amount of time or no plotting continuously or intermittently, II. occurrence of hang issue in the plotting – again continuously or intermittently, III. occurrence of visually flickering effect in the plotting
- Pretty easy to integrate and use within automation test flows – just one single API call with configurations would carry out all the required tasks and actions
- Modules can either be run independently or as a sequence of dependent chain based on the tasks or workflows
- Json format reports each for image grab, compare, interactions, and each anomalous condition
- The user API set or TDK(Test Development Kit) that invokes the backend engine has been built with TypeScript and JavaScript. A group of backend engines each for unique purpose that carry out the actual tasks and actions has been built with python and computer vision libraries
Video producer: https://agileindia.org
It is Helpful post