In an application that is currently in production, one module of code is being modified. Is it necessary to re-test the whole application or is it enough to just test functionality associated with that module?
I would say there is no concrete answer to this. Sure there are idealistic 'regression test everytime', but we are rarely afforded the luxury.
So it then comes down to risk management.
- Is this module critical - ie worst case scenario what can it break. Ex:
Is it a change in how a profile is being saved? Is the profile being used as part of the whole system or is it just a side page that doesn't have any critical parts?
- How much time do you have?
- Is this module known to be very complicated? or is it super straightforward?
These are sort of basic questions that come down to estimation of any type of testing but becomes more important in the 'just one change'. You want to make sure you cover the worst case scenario and know what can be the fallout from not having regression tested it. And make sure the team knows about the risks. It might be worth it to just test the code change itself, or you might be shooting yourself in the foot. It really depends on system and feature complexity (and in developer skill as well).
This is the simplest of question which is handled by a simple google search.
I am assuming you are not a part of QA team.
Nevertheless, it is always better to test whole application- not every thing but only the critical parts, to ensure after the change, nothing is broken. This is called Regression testing.
Please read about it here
Not necessarily, if you can clearly understand the impact of the changes and how the underlying code effects other parts of the system. I would do a risk analyses with the developers and decide which parts need re-testing.
If you build the application on top of something like micro services and each part has a clear interface it should be very doable to locate all the elements the change has impact on and only test those.
Even better automate all of the testing and let the build server do the work for you.
As Niels wrote you do not need to test the entire application but you can limit your test to the part of the software affected by the code changes. I would even add that if the output of the modified software is the input of another module (e.g. your software produce a csv file that you load with another module for plotting the csv data) you have also to test that module.