The client is a leading software provider based in the US, specializing in security, compliance and control. They cater to businesses with private, hybrid and public cloud infrastructure and offer cutting-edge security controls for software-defined computing, networking, etc. Backed by a proven track record, they have been helping customers across the globe to achieve the highest levels of visibility and data protection. Their clientele includes large-sized banks and government agencies that rely on data security and compliance.
Der Kunde ist ein führender Softwareanbieter mit Sitz in den USA, der sich auf Sicherheit, Compliance und Kontrolle spezialisiert hat. Er betreut Unternehmen mit privaten, hybriden und öffentlichen Cloud-Infrastrukturen und bietet fortschrittliche Sicherheitskontrollen für softwaredefiniertes Computing, Netzwerke usw. Mit einer nachweislichen Erfolgsbilanz unterstützt er Kunden weltweit bei der Erreichung höchster Sichtbarkeits- und Datensicherheitsstandards. Zu seinen Kunden zählen große Banken und Regierungsbehörden, die auf Datensicherheit und Compliance angewiesen sind.
One of the client’s software provides encryption at rest for virtual machines in any cloud, along with easy-to-deploy key management control. This data security software enables data protection by helping encrypt the underlying storage.
It provides key management (using keys across any cloud - AWS, Azure, and GCP, along with HSM) and secrets management Furthermore, it supports all Linux distributions, such as Centos, Rhel, Ubuntu, Suse Linux, Amazon Linux2 and Windows OS (all server editions) on clouds like ESXi, AWS, Azure, etc.
So, undoubtedly there was an urgent need to speed up the test execution. However, considering the client’s limited labor force - shortening test execution cycles was challening.
Most test cases were executed manually.
A single test cycle lasted for about 35-50 business days.
The go-to-market time for any release could be upto 60 days.
Eine der Softwarelösungen des Kunden bietet Verschlüsselung im Ruhezustand für virtuelle Maschinen in jeder Cloud sowie eine leicht implementierbare Schlüsselverwaltungskontrolle. Diese Datensicherheitssoftware ermöglicht den Schutz von Daten, indem sie die zugrunde liegende Speicherung verschlüsselt.
Sie bietet Schlüsselmanagement (mit Schlüsseln über jede Cloud hinweg – AWS, Azure und GCP sowie HSM) und Geheimnismanagement (im Wesentlichen die „Mutterschiff“-Verwaltung von unternehmenskritischen Geheimnissen). Darüber hinaus unterstützt sie alle Linux-Distributionen wie Centos, Rhel, Ubuntu, Suse Linux, Amazon Linux und Windows-Betriebssysteme (alle Server-Editionen) auf Clouds wie ESXi, AWS, Azure usw.
Daher bestand zweifellos ein dringender Bedarf, die Testdurchführung zu beschleunigen. Angesichts der begrenzten Arbeitskräfte des Kunden war es jedoch eine Herausforderung, die Testdurchführungszyklen zu verkürzen.
Die meisten Testfälle wurden manuell ausgeführt.
Ein einzelner Testzyklus dauerte etwa 35–50 Werktage.
Die Markteinführungszeit für jede Version konnte bis zu 60 Tage betragen.
Coriolis empowered the client to reduce manual efforts by enabling the automation of critical testing processes with the PyTest framework, along with Python scripting.
Coriolis ermöglichte dem Kunden die Reduzierung des manuellen Aufwands durch die Automatisierung kritischer Testprozesse mit dem PyTest-Framework zusammen mit Python-Skripting.
The data control workflow automation covered test areas, such as:
API testing
Policy agent testing
Command line interface testing
Encryption & decryption operation testing.
Firstly, Jenkins fired deployments for the key management server – with the representative VMs protected by a security solution. The VMs of all the supported platforms were deployed in parallel.
One of the deployed machines - used as the test driver - remotely fired API-driven test cases across the deployed machines, spanning all flavors of the supported platforms.
Then, the test machines sent test logs to the Jenkins’ parent node to create the system’s final health report.
Die Automatisierung des Datenkontroll-Workflows umfasste Testbereiche wie:
API-Tests
Policy-Agent-Tests
Tests der Befehlszeilenschnittstelle
Tests von Verschlüsselungs- und Entschlüsselungsvorgängen
Zunächst hat Jenkins die Bereitstellungen für den Schlüsselverwaltungsserver ausgelöst – mit den repräsentativen virtuellen Maschinen, die durch eine Sicherheitslösung geschützt wurden.
Die virtuellen Maschinen aller unterstützten Plattformen wurden parallel bereitgestellt. Eine der bereitgestellten Maschinen – als Testtreiber verwendet – hat API-gesteuerte Testfälle auf die bereitgestellten Maschinen ferngesteuert ausgeführt, die alle Plattformvarianten abdeckten.
Anschließend übermittelten die Testmaschinen die Testprotokolle an den Jenkins-Hauptknoten, um den endgültigen Systemgesundheitsbericht zu erstellen.
We helped the client save 50% of their time in every upgrade cycle. A single upgrade cycle consumed around two days on the configured setup, which automation can now manage asynchronously.
We ensured that automation contributed to more than 90% of regression testing. So, all the heavy lifting related to testing gets automated for every subsequent release.
We provided massive scalability and performance improvements – including data population and configuration for 10,000 objects. Even though it is generally challenging, given the enormity of manual work involved, our test automation suite could perform 100% of the job seamlessly.
Our ‘nightly run’ automation feature enabled reproducibility after every major change in the code. Sanity checks were routinely conducted – enabling the client to be 70% more efficient in identifying stability. It proved to be very crucial, as the software supported data protection on clouds like AWS and Azure.
Our test automation suite unearthed critical issues early in the development cycle, ensuring they couldn’t snowball into bigger issues.
Wir halfen dem Kunden, bei jedem Upgrade-Zyklus 50 % seiner Zeit zu sparen. Ein einzelner Upgrade-Zyklus verbrauchte etwa zwei Tage im konfigurierten Setup, was die Automatisierung jetzt asynchron verwalten kann.
Wir stellten sicher, dass die Automatisierung mehr als 90 % der Regressionstests abdeckt. Somit wird die gesamte schwere Arbeit im Zusammenhang mit Tests für jede nachfolgende Veröffentlichung automatisiert.
Wir lieferten massive Skalierbarkeits- und Leistungsverbesserungen – einschließlich Datenpopulation und Konfiguration für 10.000 Objekte. Obwohl dies in der Regel eine Herausforderung darstellt, angesichts des Umfangs der manuellen Arbeit, konnte unsere Testautomatisierungslösung 100 % der Arbeit nahtlos erledigen.
Unsere „Nightly-Run“-Automatisierungsfunktion ermöglichte Reproduzierbarkeit nach jeder größeren Codeänderung. Sanity-Checks wurden routinemäßig durchgeführt – wodurch der Kunde 70 % effizienter bei der Identifizierung von Stabilitätsproblemen war. Dies erwies sich als äußerst wichtig, da die Software den Datenschutz auf Clouds wie AWS und Azure unterstützte.
Unsere Testautomatisierungslösung deckte kritische Probleme frühzeitig im Entwicklungszyklus auf und stellte sicher, dass sie sich nicht zu größeren Problemen entwickelten.