especially when the product you're developing exists at an offshore location, as in our case. How do you test a product that most of the team of developers and testers haven't even seen except in a training video and pictures? The product has numerous motor controls, more than 300 sensors and Input /Outputs and measures approximately thirteen feet wide and stands at more than a meter in height. For us, building a hardware simulator seemed like the most logical solution. Benefits of the hardware simulator approach as envisaged by the project leadership were:
- Infrastructure and resources, such as physical space and skilled testers, are often scarce. A simulated machine takes up no more space than a regular PC and can be operated offshore by a small team of skilled software engineers.
- Cost of procuring and conducting testing using a full-fledged, hardware trial machine can be prohibitive. This type of testing should be reserved for the final pre-production launch or acceptance testing phase.
- Using a trial machine for integration and system testing is inefficient and adversely impacts the schedule.
- Due to the high costs of such industrial automation machines, dedicating even a unit for full-time testing may not be feasible for many vendors.
What seemed like an overwhelming, uphill task at the beginning of the project was accomplished with relatively high confidence thanks to a robust process model that was adopted for the requirements phase. The methodology, though fraught with risks about not being able to elicit all required information before design and coding, used a top-down approach that proved to be extremely practical when analyzed in hindsight. The repeatability and structure that this hybrid model based on Six Sigma and organizational best practices brought in to our requirements gathering initiative, is unmatched from what we have seen during the course of this project's execution.
The views expressed in this article are that of the author. Wipro Technologies does not subscribe to the substance, veracity, or truthfulness of the said opinion.