Functional testing is for verifying that a change that was made is precisely as intended. The scope of testing is narrow, focused on just the changes that were made. This is a different approach from regression testing, which is a complementary testing approach to verify if other related features that were not directly changed were not negatively impacted in some way.
This could be completed by analysts on a quality assurance team. Some teams will have their business or technical analysts complete testing. Generally, having this kind of testing completed by someone other than the developer of the code is ideal to ensure there is a fresh set of eyes on the changes and the expectations of how a change works.
Remember that the scope of testing should hone in on what exactly was changed or created through the development work at hand. Ideally, there is a clear way to test these changes in isolation, whether through a specific non-prod environment or a testing sandbox, or any number of other options that isolate changes from other developer’s work.
The following is a simple template for small, well-defined changes. The User Acceptance Testing template is another option that can be applied here as well.
Test Objective: [What I hope to verify by doing the below test plan]
Test Steps:
- [Do the first thing.]
- [Then the second.]
- [Link to a page or proof that the right thing happened, or note what failed and at what step.]
[Clearly state whether the test plan has passed or failed.]