In the ever-evolving world of software development, where codebases grow in size and complexity, developers face an ongoing struggle to comprehend the consequences of seemingly minor changes. Whether it's a routine change request or a bug fix, accurately evaluating the impact on the complete application source code has become a formidable challenge. This predicament arises from the interdependencies and interconnections within the software ecosystem, rendering even seemingly innocuous modifications capable of causing unforeseen ripple effects throughout the entire codebase.
Using the new “Get Start and Endpoint” feature in CAST Imaging, development and tester teams now have a powerful tool at their disposal to assess the impact on the global application scope.
By simply selecting a modified component or function, users gain immediate visibility into all the entry points, including web pages, APIs, and more, as well as the corresponding endpoints, such as database tables or files storage. This novel capability allows the development team to quickly visualize the system's architecture, facilitating efficient testing for non-regression.
The “Get Start and End Points” feature is now accessible from any selected object, be it a method, class, program, or function, regardless of technology or layer. it opens in a dedicated view, providing a comprehensive overview of Start Points (web pages, batch processes) and End Points (tables, files), along with the aggregated paths between them and the selected component. Complex paths are condensed into simple "References" links.
With a glance, you can identify whether the impact is significant or localized to a specific area, such as a few FrontEnd pages. Retesting becomes a breeze, as you know exactly which parts require attention. Without this invaluable information, you're left with two options: blindly assuming the changes will work based on successful compilation in the IDE, or resorting to extensive testing to mitigate any potential risks. Unfortunately, these approaches often lead to frustration between business and development, resulting in costly delays of weeks or even months for seemingly simple feature requests.
Accessing the feature
To access the "Get Start and End Points" feature, you must be working on a specific component of your application that you identified using the search feature or from a specific investigation into a transaction or architecture drill-down. It can be a java or .NET method, a class, a function, a cobol program, an xml config file of your favorite framework, a complex sql procedure that you modified for improvement or bug fix. From this element in the view, right click on it on the node and select Get Start and End points from the contextual menu.
Using the feature
When you click Get Start and End points the following pop-up screen is displayed indicating that the process of identifying the objects has started:
The following screen will display the results. The TaxCalculation algorithm modified in the method is shown in the middle of the screen and is highlighted (blue circle). All Start Points that correspond to web pages or APIs access to taxCalculation method. End Points that correspond to Tables are accessed by the selected method. You can see the first level of components calling or called by the selected method. It gives a good understanding of how the component interacts with rest of the system. Then each detailed path is summarized in a “References” link (dashed link) to remove the complexity which is not required in the first approach.
Want to get more details?
When the initial results are displayed, there are two options to get more details if required.
1 – Horizontal investigation
A dialog box is displayed indicating that it is possible to update the results to get more details regarding all “references links” by changing the number of hops. This dialog can be toggled using the ‘I’ button.
Clicking the update in the dialog box will display a configuration panel on the right-hand side enabling you to change the number of hops. You can then load the view with more details or if you consider the number of objects is too high, you can download all the result in a csv format.
2 – Vertical investigation
Doing step-by-step using the references link details. A “References” link with a dashed grey line between two components indicates that there is an indirect link between two objects. Clicking this type of link will give you a way to focus on a specific path in a dedicated view to understand the details of an access if it’s required.
This approach gives a simple to review the impact step by step without getting all the complexity of the impact on the rest of your application. When the investigation is done and validated, you can decide to remove this path and to focus on the next one.
The "Get Start and End Point" feature will simplify the Impact analysis part. The analysis examines the proposed change to identify components that might have to be created, modified, or discarded and to estimate the effort associated with implementing the change, and give a good perspective on how to test modifications done.
The aim is not to skip a difficult task that you may decide not to do. Not doing it will turn the size of the change request or bug fix task into a surprise, which is not good news. Making this analysis simple and confident will enforce the accuracy of the development team's work.