Skip to main content

A feature of a product was working in one of the previous releases, but it is not working now.


Problem: A feature of a product was working in one of the previous releases, but it is not working now. We might have come across this problem statement many times in software development. Due to some correction of issue or enhancement of the product might lead to this kind of issue. And sometimes this broken functionality issue gets missed from the organization and it comes back as a customer reported issue.
Analysis: This kind of issue is not uncommon. Some products have a life cycle of more than 10 years like Windows. In such cases, the code would have been written long back by some developer and fix would be done by some one else. So the impact of changes on the existing functionality may not be fully known by the new developer who is working on that code. With busy schedule and manual testing, even the testers some time miss to test all the scenarios or features of the product.
Solution: Impact analysis of both major and minor changes should be conducted thoroughly. Code review also can detect this kind of issues. Automated testing of the features is another way of catching this kind of bugs early. Let’s takes a scenario, where the issue has been reported of some broken functionality in the product. How do we easily find out the reason for the same?
Ø First understand the problem, the workflow and trigger to repeat the problem.
Ø Target the area in the repository where the change history is maintained. Check the difference between the newer code and the older code (where the issue is not there).
Ø The feature that is not working, get the User Interface that was supposed to do the work. For example, if it’s a menu item or button click. Then search for that item in the code of the identified project. Check all the reference of the item, where we are writing the controller logic for that user interface.
Ø Get all the places where the code that has changed due to new fix.
Ø Replace it with the older version code in those places one by one and try to identify the reason of the issue.
Ø Then finally merge the older and new code so that both the newer and older functionality of the product is maintained.

Comments

Popular posts from this blog

Real time data to web application using Microsoft Signal R and Razor Pages

Today we are going to learn how to create razor pages and how to send run time value to the razor page using Signal R Create a new .NET core web application Add Signal R library by,  Add Client-Side Library dialog in the project, for Provider select "unpkg" and select the latest version from the drop down For Library, enter @aspnet/signalr@1, Add a new folder to the project named as Hubs The chat hub class inherits from HUb class that manages connections and messaging The send message is called to send the message to all the clients. MyHub.cs file contains the following code using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.SignalR; //using System.Threading.Tasks; namespace SignalRSample.Hubs {     public class MyHub : Hub     {         public async Task SendMessage(string user, string message)         {       ...

CRUD operation with WCF service and WPF client

 The database restored on local server WCF Service is talking to the database. Used Visual Studio 2019, entity framework 6 for data base operations from the service. The service exposes the following API’s.  The WCF contracts has both synchronous and asynchronous API's The client is in WPF. It has three windows, main window, customer window and order window as follows. The client uses the WCF service for database operations. When customer button is clicked, the customer window is displayed as below. We can perform CRUD operation from it. The customer can be searched based on ID. New customer window The order button launched order window. It has combo box to choose the customer ID. On selecting the ID, the order details are displayed in the data grid as follows. The source code is available in the GIT hub, URL below: https://github.com/SwagatikaGoswami/WPF_WCF_CRUD.git

Online Exam App with .NET Core Web API and Blazor Client

 We will develop an app that can host online exam. It will have the feature to register user, allow the user to log in. Dashboard for creating sample tests.  The code is shared in GIT hub repository https://github.com/ SwagatikaGoswami/ OnlineExamApp.git The database is MySQL database. The server is a WEB API .NET Core service that uses entity framework for DB operations. The client is a web assembly blazor application. The password stored in the database is encrypted. Register window is as follows. It checks for the mandatory fields. The log in page is as follows: The admin dashboard after logging in  The admin dashboard when new test button is clicked. It uses a Blazor component for adding new test samples.