August 31, 2017 // By Jason Edstrom
So you have a well-designed automation framework that fulfills your current needs, but there is a feeling that something is missing that could take your automation strategy to the next level. You would be correct. The fact that the organization has an automation framework in practice is a significant benefit to delivering a quality product with speed. It allows your Quality Assurance team to focus on testing new features while a computer pushes through the redundant tasks involved with regression testing. With that initial step taken, we should look at four key aspects of the QA process.
You have a well-designed framework, but the method of execution is by emailing a QA engineer to start running the tests. We can make this entire process much simpler by using the concept of Continuous Testing. By adding the automation execution to the Continuous Integration pipeline, we take the middle man out of the interaction and automatically start the testing when the application’s build process and unit testing is successful. Another benefit is that this allows the engineer to continue work on writing and maintaining the current test suite instead of a forced lunch break via test execution.
When the automation completes a test run, how does that information make it back to the different teams? Does the QA engineer type out the results in an email or a document gets passed around? Solid reporting practices can allow your automation to provide information about your software’s current state. By utilizing build ecosystems, such as Visual Studio Team Services, Jenkins, and TeamCity, you can have centralized reporting that can fit the level of detail needed by different disciplines. This way, we maintain a single source of truth for the application’s quality and avoid confusion through old data.
The automation does its job like clock work. It works through each test case, one after another, but the execution takes a few hours to run the entire suite despite whether a person or a build system executes the automation. The next step in scaling the automation strategy would be achieving parallel execution of the test cases. What’s better than running automation one test at a time? Running four tests at a time. With modern computer hardware being capable of supporting multiple threads of work, it makes sense to utilize that hardware to its greatest potential. It is part of that ultimate quest for delivering quality with speed.
To build on the benefits of parallel execution, you need to be able to have access to multiple OS and browser combinations. Your build ecosystem can only offer what OS it is running locally, so you need more environments. You can implement an on premises testing lab with either physical or virtual hardware, taking on the burdens of overhead costs such as labor, maintenance, and license acquisition, or you can make use of cloud environments services. Such services, like Sauce Labs, tend to be cheaper and more stable. The migration only requires simple configuration changes in most cases. This approach allows you to focus on more impactful tasks such as automation strategy and quality of your application.
When an organization’s QA practice has automation in place, it can still increase productivity. When adding these concepts to the current strategy, we can enhance the process by increasing the speed of feedback, the quality of the information provided and the consistency of the testing.
Magenic’s Automation Quick Start or MAQS (pronounced Max) was designed to incorporate these concepts. It jump-starts your infrastructure, enabling it to continually integrate, deploy and test your digital products using a methodology that can incorporate multiple platforms. Give us a call to see how you can start implementing MAQS.