Warehouse Management System (WMS) "System test" automation
A warehouse management system, or WMS, is a key part of the supply chain and primarily aims to control the movement and storage of materials within a warehouse and process the associated transactions, including shipping, receiving, putaway and picking. Most of the Retailers use third party products like Manhattan, Redpraire etc to handle the WMS business process flows.
Automation is a key activity to consider to reduce the regression testing effort and improves the test coverage thus improves the quality.
It is a well-known fact that automation methods are Data driven, Key word driven and Hybrid. In a traditional data driven approach, the input data file contains standard data consumed by the automation scripts either from environment configuration parameters or the standard look up parameters.
In WMS third party products, there are a plethora of application configurable parameters and they keep changing and hence a need arises to ensure that the automation scripts do not fail frequently and cost of maintenance is low.
Key considerations to build Automation;
1. Selecting an Automation Framework:
· Approach: Selecting an automation framework is the key. Use Modular approach. Divide the test scenario into multiple components and functions. Use descriptive language to address frequently changing objects.
· How it helps: Particular component / function pertaining to a change will be modified and the automation scripts are ready to execute. Object names are used at run time to minimize the impact
2. Configuring the Automated WMS application Parameters: The application configuration parameters like Inventory adjustment reason code, Policy for BR code, Policy for RR code etc will change frequently with in DC or across DCs. There is a need to ensure that the automation scripts do not fail when the parameter value does not exist as an input parameter.
· Approach: Maintain the configuration parameters required for an automation script to run in an input file. Automate the retrieval of configuration parameters from WMS system and compare with the input file. Assuming that the application config parameter is updated such that any of the available options for a parameter in the dropdown gets changed or removed. In such a situation, the config parameters are refreshed by the script and data sheet is updated with the appropriate test data. The scenario execution done after the above mentioned process will ensure successful run.
· How it helps: Reduces the Automation script failures and improves the availability for frequent runs
3. Automated Test Data Management approach:
· Approach: Use Test Data Sheets as Data inputs to Automation Scripts. Automate the retrieval of Master and Transactional Data Required for the Automation scripts by directly connecting WMS System database before the each run.
· How it helps: Speeds up the Transactional Test data creation process, avoids failures due to incorrect Test Data and Restricts the need for Data Architects
· Last but not least, domain knowledge is critical for an automation expert or bring in Automation expert and domain expert together for successful WMS system test automation.
In conclusion, a well define WMS Automation framework considering the automated test data management and automated application configuration parameters ensures no script failures due to data inconsistencies but also reduces the maintenance cost and improves the test coverage.




Comments
Very insightful and agree on WMS aspects , would like to extend this to Integrationtest and automation ...sice most of these have to be integrated to the mainstream ERP or biz applications..any thoughts?
Posted by: Hitesh | September 24, 2012 3:00 PM
Absolutely. The approach can easily be extended to integration scenarios as well.
Posted by: Bhagi | September 26, 2012 1:24 AM