Multi-cloud adoption is real and is happening at a fast rate. By offering the industry’s first and only multi-cloud network as a service solution to connect on-premise networks and public clouds, Alkira is proving to be a premier innovator and pioneer in this space.
From the early adopters to the current production customers and partners, following feedback has been consistent:
- Using Alkira, multi-cloud provisioning is quick and easy
- User experience is excellent with rich northbound APIs
- Top notch quality, the solution is very robust and very stable
The last point evokes considerable enthusiasm and excitement within Alkira. As a customer obsessed organization, our conviction is that customer success is directly tied to our solution’s superior quality. In this blog, we will exclusively focus on our test principles and how we get it done at Alkira.
TEST APPROACH
In traditional software design and test methodology, following diagram (or its variant) is a well known perception,
The three vertices add up to the same number, any change on one vertex impacts the other two vertices. This is because development and testing happens one after another; any changes to scope delays development and delayed code drop leads to compressed testing impacting quality.
We understood this problem on day one and decided to take a completely different and holistic approach to testing. At Alkira, development and testing go hand in hand; by starting testing early in the release cycle we
- Identify design flaws immediately
- Detect and fix issues early
- Avoid bug explosion near release deadline
- Manage evolving customer expectations efficiently
But for this model to work effectively, the testing paradigm should be of potent automation and regression of all test cases.
TEST AUTOMATION
The benefits of test automation are well known by now, but it is important to note that the quality of test code directly affects the quality of the solution. It then becomes imperative that the test code be built with the same attention and detail as the solution code. At Alkira, the same processes, tools, rules and the best practices for software code are applied to test code as well.
- The Infrastructure layer
- The Test Case layer
TEST INFRASTRUCTURE
The test infrastructure is like the operating system of any software platform, it abstracts out the lower level system complexity and provides services through well defined APIs and libraries. Just like how a well known kernel (say Linux) is used and customized for software development, a robust open source automation framework is leveraged and modified to fit the testing requirements. Here are some of the salient features:
- Homogeneous API models (for example, same API structure for different cloud providers)
- Implicit detection of system anomalies and catastrophic events
- Control plane consistency checks across all cloud exchange endpoints
- Management plane configuration and validation
- Multi-tenant session management
TEST CASE
With a very modular, stable and robust infrastructure code in place, writing quality test cases now becomes easy. It is akin to writing apps on a mobile operating system, just like how different apps have different purposes and are self contained, test cases do their job and do not derail the overall stability of the test code.
Also by coupling specific validation of test case code with system wide validation of infra code, tests are always on the prowl hunting for issues in the solution. Given the distributed nature of the architecture and the many moving parts associated with it, multiple level checks become even more critical.
As more customers deploy and defects are found, existing tests are either enhanced or new tests created; common validations are added to infrastructure and specific validations to test code to plug the coverage gap.
TEST REGRESSIONS
Albeit being a young company, Alkira boasts a comprehensive array of test suites. Multiple dedicated regression clusters run tests 24*7, quality is monitored closely every day. Several thousand hours of regressions are executed on different environments before the code makes it to production.
Extrapolative testing is not an option, .i.e., if a feature (or API) works fine in a region R1, it is not assumed to work in region R2. Every possible combination is put to test, the feature should work under any and all circumstances.
CONCLUSION
In summary, every person breathes quality at every moment in Alkira. With our agile, nimble and get it done mindset married with test early and test often strategy, top quality is guaranteed with every release.
Read Alkira CTO whitepaper at https://www.alkira.com/multi-cloud-networking-reinvented-cto-whitepaper/
Request demo at https://www.alkira.com/demo