Abstract:
With the fast-paced development such as DevOps and other agile development
methodologies, the code is rapidly changing with the incoming requirements and it
is really hard to maintain the quality of a software. Unit tests are the first step that a
developer takes to ensure everything is according to the requirements. Tracing
which test case is associated to a code artifact (method or class), is a hard task if
done manually. A traceability link is a way to maintain and trace the links between
different software artifacts. Test-to-code traceability links help a developer to keep
track of the test cases that are related to a specific piece of code. These links restrict
a developer to remain consistent with the existing architecture when a change is
made to the code. These links also reduce the risk of missed or unseen faults in the
code. But most of times, the development processes do not adopt this approach due
to the extra burden it puts on the developer. Manually creating these traceability
links is a hectic routine for the developer and maintaining these links is another big
ask. Also, doing all of these manually makes it prone to the errors. In this research, I
am introducing an approach and a tool to automatically develop the test-to-code
traceability links using static and dynamic approaches for the C# applications
(Libraries, ASP.NET Core application). There are many tools built for the JAVA
application, but there’s not much work done for the C# applications solely. C#
language has been around for many years. It is constantly gaining popularity over
the time and many large-scale applications are being developed on it. Especially
with the introduction .NET Core (which is an open-source and platform-independent
framework), it is getting better and better with respect to performance, and more
developers are inclined to it. This tool will help these developers in creating these
traceability links.