Impact Analysis in Software Testing
Impact Analysis is defined as analyzing the impact of changes in the deployed product or application. It gives the information about the areas of the system that may be affected due to the change in the particular section or features of the application.
The impact is analyzed on Requirements, Design & Architecture, impact on Test and impact on schedule.
With the incorporation of new features into application or product, it becomes imperative to check the influence of these new features or changes on the performance of the system. For this reason, Impact Analysis is done.
Why is Change Impact Analysis is done?
- It is done to understand the possible outcome of implementing the change. Inducing too much functionality into a product can reduce the overall performance of the product.
- To identify all the files, documents and models that might have to be modified if a team decides to implement the change in product
- To estimate the effort needed behind implementing the change
- To identify the task required to implement the change
- It will list the dependencies on a specific element
1 JIRA Software
On Jira Software Website
Time Tracking
Drag & Drop
Free Trial
Forever Free Plan
2 Monday
On Monday Website
Time Tracking
Drag & Drop
Free Trial
Forever Free Plan
3 Zoho Assist
On Zoho Assist Website
File Sharing
Screen Sharing
Free Trial
What is Impact Analysis Document?
Impact Analysis document can be used as a checklist. It is used to evaluate change request before working on them. The Impact Analysis document should give details like
- Brief description of an issue
- Explain or show an example of how the defect is causing failure and/or inefficiency
- Include an estimate of complexity
- Include an estimate of cost and time for a fix
- Functionality to be tested
- List down the new test cases created for the change
- Reference document- Mention the reference document, technical specification, etc.
Example:
Impact Analysis Document.
- Change Request ID:
- Title:
- Description:
- Date Prepare:
- Prioritization estimate:
- Relative Benefit
- Relative Penalty
- Relative cost
- Relative risk
- Estimated total effort: …..hours
- Estimated lost effort: ……..hours
- Estimated schedule Impact:……days
- Quality Impacted;
- Other Requirement affected:
- Other tasks affected:
- Integration issues:
How to present Impact Analysis influence level
Impact Analysis can be marked as per the color code to represent the criticality of the changes or impact of the changes over the system. The color code could be anything as shown below.
The above table explains the impact of the implemented changes
- Features that are marked with red indicates the main features which are changed, those with yellow are the features that are less influenced by the change and those with the green are the least one.
- Features mentioned vertically resembles those features that are changed while horizontally those features are mentioned which performed changes can influence. For example, in above example the change in feature 1 influence the feature3
- For a larger project where features and functionalities are more then above table may not be of any use. In such case, another approach is adopted, where developer straightaway marks the level of influence due to the changes in main features. As shown below where the impact of the Main feature is marked for respective sub-features.
Sample Questions to be addressed for performing Impact Analysis
- What are the adverse side effects or risks of making the proposed change?
- Does any tool be acquired in order to implement and test the change?
- If the change is accepted how much effort will be lost that is already been invested?
- Does proposed changes adversely affect performance requirements?
- To verify the proposed change does other user input be required?
- Does the change increase the product cost?
- Does the proposed change is something the current staff has knowledge and skills?
- Does the proposed change place any unacceptable demand on any computer resource?
Best practices for change Impact Analysis
- Before initiating with Impact Analysis, make sure testing request contained no information about those part of the project that was influenced by changes
- Continue communication between developer and tester is must, not to miss any change needed to implement in the final product
- Identify if any user interface changes, deletions or additions are required.
- Estimate the number of acceptance, system or integration test cases that will be required
- Identify any impact of the proposed change to another project plan, configuration management plan or quality assurance plan.
Summary
- The impact analysis will assure what part of an application need to be changed
- The impact on the system is analyzed on Requirements, Design & Architecture, impact on Test, etc.
- It helps to analyze what level of regression testing is required