Test Challenges in the Cloud
Traditionally, software was deployed on an in-house server, so the test environments were relatively easy to mock up: the Development team could make precise specification requirements and often the test environments had been in place for quite some time.
As a result, environment related issues were not always a primary concern for Quality Assurance (QA) engineers. However, of late, companies have been increasingly adopting the cloud business models like SaaS. These business models are new and require novel approaches to testing; no longer should we only test product functionality in its local environment, but we should also test in the Cloud.
Since the product managers are not generally fully engaged with the minute details of the technical implementation, we might expect that the cloud operations team would be able to identify the (test) environment requirements and bring them to the notice of the development team. However, the cloud operations teams are usually overloaded and also, come very late into the picture. This only aggravates the problem. Often, it is the QA members of the organization who are potentially in the best place to ensure the environment requirements are understood and to test the compatibility of the applications with the cloud infrastructure.
However, most QA job profiles do not demand strong technical skills. Specifically, coding skills, debugging ability and cloud infrastructure are not demanded. This seems to have created a shortage of QA engineers who can decipher problems related to the cloud. In addition, a perceived hierarchy and stereotype exists in the industry where software testing is seen as a supplementary job to development and not as a complementary one. It is not uncommon to see good candidates turn down jobs when offered a QA role since they feel it would not look good on their resumes.
This leads us back to the point where we started, because testing Cloud software and Cloud infrastructure needs to be carried out on a technically sound environment and done by technically skilled people. But, the stereotypes generated by older models of testing are acting as a barrier to getting in new, more technical people to help ensure the delivery of a quality product/service. For example, bugs need to be found and removed during the integration with the cloud, as well as in the application itself. The role of the QA engineer will include testing software in the cloud, testing the cloud environment and software/cloud integration. This will only get more complex as time passes.
As a result, there is a critical need to promote and elevate the role of the QA engineer as a technical expert / software engineer, working as an equal with other software engineers to deliver technical excellence for our customers.