Configuration Testing 101

Updated on August 3, 2016 by Sam Lee

Before delivery to the intended party, a system should be tested to figure out whether the requirements set forth in the contract have been met. Configuration acceptance testing is the fundamental means to assuage all doubts that the system will fall short of its intended purposes. It is an essential part of the testing phase of the Software Development Life-Cycle (SDLC), and perhaps the most vital in its category. The way in which the components of the system interact is the sure fire means of determining the susceptibility of the system to frequent errors and ultimately the strength of resistance to its implementation. Configuration acceptance testing is pivotal to the SDLC, and as such will be an integral part of the Application Life-cycle Management (ALM) policy of any firm. It reveals any available bugs and inadequacies in the system, enhancing the process of error correction and formulation of a suitable plan of action in the event undiscovered errors manifest and affect the system after it has been implemented.

Remarkable emphasis has been laid on the concept, and in this regard, it is just as important that it be carried out with the highest degree of possible accuracy. Failure of any of the components will more often than not lead to disastrous effects on a system's functionality, and may necessitate a total overhaul. The impact of this will be adverse on the running of the systems, leading to unwarranted and unprecedented lags and shut downs. Unit testing for infrastructure involves the evaluation of individual components of the system, and should be the first step towards configuration acceptance testing. The conformance of the means of testing to the various components of the system is as important as the test itself. With this in mind, a relative means of maintaining control over the testing will play a large part in ensuring a successful test.

The ITIL (Information Technology Infrastructure Library) process is a stepping stone towards the creation of a framework for the provision of Information technology services in a cost effective and client friendly manner. It entails the application of a clearly defined set of benchmarks that are useful in determining the success of a system, inculcating a mindset of continuous improvement that cuts across all aspects of the system. They have become the industrial standard IT services provision management approach. ITILs also comprise a KPI based means of evaluating the system. With regard to configuration and acceptance, it considers the incidents related to false Configuration Management System Errors, errors related to CMS verifications as well as the number of express errors uncovered in the wake of a Configuration Management System audit. The number of failed release component acceptance tests is also a vital Key Performance Index, directly correlating to configuration acceptance tests. All these are carried out with a view towards ensuring the components are perfectly configured and geared towards enhancement of the system's functioning.

The implementation of the ITIL process heralded the concept of the Configuration Management Database, which is essentially a record of the entire system in question, containing a detailed layout of all the components, their relationships, and interconnections. These link together perfectly to enable successful implementation of configuration management procedures, whose ramifications surpass organizational efficiency, to include various other nerve centers, such as security, contingency, and financial management. ITIL compliant configuration management is the best bet against the consequences of configuration drift. In most systems, it's a natural condition which may be attributed to ninety percent of failure of data recovery in high availability systems. Identifying configuration drift involves the manual reviewing of primary configurations and comparing them with their secondary counterparts. The process, however, may face a number of problems that are related to flexibility of the schedules and susceptibility of the processes to errors. With this in mind, configuration and acceptance testing should be conducted by reputable firms, as there is essentially no room for error.

Testing may be carried out either manually or automatically. While the application of manual techniques bring the ergonomics and user friendly angle into systems, the process is plagued by tedium, increasing the susceptibility of the entire undertaking to erroneous implementation. The repercussions of such a condition are inestimable. Bearing this in mind, the consideration of the consistencies and capacities, advanced by automation of configuration and acceptance testing, should not be far from the realms of organizational policymaking. The acquisition and use of well known platforms such as Chef and Puppet, renowned for their unparalleled contributions to the Information Systems Technologies, should be included into every budget in an attempt to ensure the processes and components are seamlessly configured.

Puppet's capabilities supersede the creation of systems, and may as such be applied to testing as well. It offers the developer extended abilities with regard to testing the capabilities of the system at the relevant stakeholder's requirements. In addition, it accommodates a client and server distribution network for distributing configuration data, organizing it into a detailed library for reference. It advocates for a test driven development agenda for subsequent releases. The platform has been found to be very effective, and should ensure the system adheres to the required user standards.

UpGuard, as well, is a marquee platform for configuration and acceptance testing. It offers an aspect of testing that is unique in comparison to other players in the industry, that of collaboration. Collaboration entails the pulling together of ideals, sharing of ideas and fostering of an atmosphere of continued improvement. This makes the testing process a responsibility of all stakeholders, enabling the definition and running of configuration tests in a secure and efficient manner. Although it is a commercial application, it is guaranteed to give a wonderful return on investment, as its efficacy is unmatched.

Configuration acceptance testing of a system is the barometer of the environment in which the system will exist as soon as roll-out is implemented. The results of the test will play a large part in determining the amount of resistance the system will face. Every project manager understands that inertia is among the biggest problems facing system changeover, and as such will attempt to manage this phenomenon at every level of change. The implementation of the process to the highest degree of exactitude is the initial step, and as such should be done under the most stringent controls to ensure the intended success comes to fruition.

Follow UpGuard on Twitter