How to Mitigate Risk with a Production System Smoke Test
Modifications, code fixes and configuration changes to production systems are a necessity on a software implementation project. A formal testing procedure is recommended when major changes are made, but sometimes testing is minimized for smaller changes. Unfortunately, small changes can also lead to system outages and user frustration if not properly vetted or if key startup procedures are missed. Systems today are so complicated that even simple fixes can break existing functionality due to a relationship not documented or not completely understood.
One way of mitigating the risk of outages caused by minor changes is to develop a standard production system Smoke Test. This smoke test should be performed after any change is made, but before all the users are given general access to the system. It would be ideal if the person performing this smoke test was independent of the group that had made the change or was not the group that stayed up all night long resolving the problem.
Generally, smoke testing happens after formal testing, but in the case of minor system changes, formal testing may be considered unnecessary. The use of a "smoke test" in this case gives the systems group an early warning to issues that might easily be addressed before full production is resumed. Provided below are some examples of the tasks to be included in the standard smoke test.
Standard Smoke Test Tasks:
1. Validate essential business processes
For example:
- Perform a sales order from Quote to Cash
- Perform the procure to pay cycle
- Do an inventory transaction
2. Validate essential system interfaces
For example:
- Run a sample credit card transaction
- Test out a transaction using the tax interface
- Test out EDI interfaces
- Run a workflow
- Test an alert
- Run a batch job and have it send out an email
- Verify the help functionality works
- Test the enterprise portal
3. Validate essential peripheral devices
For example:
- Run reports in batch and print them
- Check inventory using a hand-held device
In summary, a Smoke Test is a good practice to ensure that essential system functionality is validated after any change. The result should be more productive users and less system frustration.
Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.
Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.