Testing cloud services – Test management aspects
The use and development of software continually changes, and that affects the activities and position of the test manager, as seen in projects where Agile methods are applied. The rise of cloud computing provides a new impetus to the role of the test manager. What is striking in Agile, as well as in cloud computing, is a shifting and broadening of focus. Managing functional software testing, originally the core of testing, is just one of the many tasks of the modern test manager. On one hand, this is because less and less traditional testing is done under the supervision of the test manager; instead it is done in Agile teams or by the service supplier. On the other hand, it is because nonfunctional requirements are claiming an increasing role. A documented test basis (requirements and specifications) is no longer the starting point for testing. The test manager increasingly bases measures on the desires and needs of the operation and users.
Thus, the test manager, as it were, climbs in the V-model and gets a broader responsibility: a process is successful when the business process and the users are supported properly.
Testing starts earlier
Testing cloud services gives substance to this broadening of the role and offers test managers plenty of room to further develop themselves in the testing profession. The test manager, for instance, needs to be involved during the selection of services. In this stage, it becomes clear which requirements can be met and which cannot be met. After making a choice, one is stuck with the quality and options of the selected services, and their accompanying risks. However, this is not completely new: selecting a service is similar to selecting software packages. Here the test manager also provides a valuable contribution to the selection process.
Testing continues in production
The involvement of the test manager in the production phase is entering a new stage with cloud computing. In an IT landscape of connected systems, an increasing need for continuous system integration emerges. This is comparable to continuous component integration, where regularly (often daily) a new soft- ware build is compiled. An automated regression test in this case needs to ensure the continuity of the development process. With continuous system integration, something similar is going on: systems in production are updated all the time (patches, upgrades, new releases), which requires a more or less permanent regressive system integration test to ensure continuity in production. Where there is knowledge of the exact changes to the customer’s own software, in cloud computing the customer can be confronted with unannounced and hardly documented changes. The continuous system integration test will be necessary as a backstop. The situation might even arise in production that makes choosing another service or service supplier necessary—for example, because testing shows that guarantees in continuity are not met.
Testing during implementation
In addition to a role during service selection and in production, there is a job that needs to be done during service implementation. This is like the traditional role of the test manager: testing and giving advice on getting information systems into production (operation). All in all, the role of the test manager has broadened (see figure).