About Client
Our Client provides a security platform for container workloads that harnesses the power of the cloud and advanced AI to defeat cyber threats. They provide a single agent solution to stop breaches, data theft, and cyber-attacks on containerized environments such as Docker and Kubernetes.
The ‘Ask’
- We have already been testing the sensors on different OSes -Windows, macOS, and Linux.
- Now the client wanted us to test a new sensor they developed on containerized environments like Docker, Local Kubernetes, AWS EKS, Google GKE, OpenShift, etc.
- The client wanted to verify that the sensor functions as designed in all possible setups.
- • The client has developed detailed GUI Dashboards and Splunk pages for Users to get an overview of their environment, so one other goal was to thoroughly verify that its functionality was working accurately.
Solution & Approach
We had to plan for-
- Setting up cluster environments (OpenShift, AWS EKS, Google GKE) with minimal human interaction using latest tools and technologies such as Terraform; this reduced the set up time considerably
- Generating, deploying and testing YAML files for various small and large applications
- Preparing complex Splunk queries to verify Dashboard is displaying content accurately
- Using of container images for applications from different registry providers like Docker, Quay, AWS ECR
The following approach was used to meet the client’s expectations-
- While the sensor was still in Development phase, the Engineers at our end started working on designing the test automation framework to test all the areas of the sensor thoroughly, so that once the sensor is ready for release, we could verify the functionality immediately and identify possible defects to make the release process efficient and seamless.
- Our Automation Engineers also developed a GUI using which, the manual testers could easily trigger tests and get the reports/data for the results.
- Generally, the sensor is deployed along with the applications running on containerized environments, so we prepared a large suite of various applications, which could be used to verify all the configurations that can be seen in various Enterprises.
Benefits to the Client
- We validated the sensor on different cluster environments to identify critical to low priority defects before the sensor was deployed to customers.
- We validated the sensor on different versions of Kubernetes to identify the sensor’s compatibility with them.
- We now maintain the automation framework and keep it up to date through periodically refactoring the code and adding all supported sensor features with latest tools/technologies.
- We also now ensure that we have test-cases related to newer features, execute the tests manually and automate those cases at earliest, so that newer releases can be tested quickly.
Testing Environment
- Docker, AWS EC2, and EKS, OpenShift, Red Hat Quay (Private container registry)
- Python, Terraform, PyTest, Flask, MySQL – for end-to-end test automation
- Git for version controlling and peer reviews
- Various enterprise applications – for compatibility validation