For the past 25 years, I have been involved in hardware and software projects that often encompass extensive system renewals or hardware implementations. In hindsight, I can confidently say that the better and more thorough the planning of preparatory testing measures, the smoother the introduction of a new system has been.
Generally, there is not just one test and subsequent implementation. There are various tests that scrutinize the system to be tested from various perspectives. And this is crucial. To provide you with a better understanding, I will explain the necessary testing procedures and implementation phases in detail, in the order they should occur.
Reviews of Requirements, Design, and Other Specifications
During the implementation planning, it is crucial to assess feasibility. This involves close collaboration with the system service provider/supplier, your IT department, and possibly data center operators. I mention this step because it can be considered the first feasibility test. Any obstacles that might jeopardize implementation later on can be identified at this stage.
Component Testing: Developers test their individual components
Component testing is typically carried out solely by the service provider/system supplier and aims to ensure the error-free provision of all hardware and software components required in the future system landscape. This includes servers, databases, hardware components, end devices, and more.
(Component) Integration Testing: The interaction of components is tested step by step (similar to Continuous Integration)
Once the new components are available, such as pre-installed servers, it is crucial to test all necessary communication pathways within your IT landscape. Typically, the new components are set up in your data center by your service provider. Now, all necessary communication pathways are tested, including network functionalities, firewall configurations, databases, central services such as DHCP, DNS, NTP, access for administrators, supervisors, and initial test users. Only after this test is it ensured that your system service provider can fully test all functions of the new environment (see System Testing).
System Testing: The system to be delivered is tested as a whole. A comprehensive test of all involved components takes place.
This phase is indispensable because it allows your system service provider to deliver a finished product to you as the customer. From this point, you can start using the system, access the necessary frontend, and the required administrator interfaces.
Acceptance Testing: The delivered system is tested for applicability/usability by users, often referred to as acceptance testing
Now, as the client for the new system environment, your involvement is crucial. Collaboratively with the system service provider, an intensive testing phase takes place to gain an overall impression of the new solution and identify any missing features that were expected. This phase is often referred to as a proof of concept. Usually, a small test group comprising users from various areas is needed to conduct the test with the highest level of expertise. Properly prepared test documentation containing all necessary test cases is crucial at this stage. This guide serves as the basis for your test participants to conduct tests in a highly structured and efficient manner.
(System) Integration Testing: The system must prove itself in the entire application landscape. Some business processes or load scenarios can only be tested here.
Now, we find ourselves in an exciting phase that I like to call the pilot phase. Even if everything has been carefully prepared, all functions are available, and you are confident that you can finally fully utilize the new system environment, you should not rush into a roll-out. An extended user group (the size depends on the total number of users and may vary; typically recommended is 10% of users, with a maximum of around 100 users) is transitioned into live operation during this phase. Only now will you see how the new system works under load conditions. Keep in mind that during this pilot phase, errors and limitations can still occur (and are even expected). Error correction can take place within the designated pilot phase. Only after this can you proceed with the roll-out (live operation for all users).
Following a successful pilot phase (where a portion of your employees are already using the new system), you can proceed with the roll-out. Depending on the size of your company, I recommend multiple roll-out phases to ensure a smooth transition from the old to the new system. Training and acclimatization to the new system result in productivity losses, which can be minimized with several roll-out phases.
Take your time to implement a new system landscape and integrate it into your operations. After a successful introduction, you will be grateful for every test you have conducted, as each step is crucial for the successful implementation of the new system landscape. The better an implementation works, the higher the acceptance among your employees and the satisfaction in using it.
Udo Ociepka – Senior Consultant