Tagged in

end-to-end testing

Rubrik -  - Using Automation to Validate Applications and Services in Rubrik Backups

Product

Using Automation to Validate Applications and Services in Rubrik Backups

The ability to restore files, folders, applications, and entire servers is the ultimate goal of data protection. With that in mind, there are a lot of checks in place to validate that all source data has been correctly stored within the Rubrik Cloud Data Management (CDM) fabric. This includes CRCs to ward against corruption, over-the-wire encryption to prevent tampering, and the use of erasure coding to opportunistically place data across hardware components to avoid single points of failure. In addition, it’s a good idea to validate that a backup can be restored. The best method is to perform a restore of the data to ensure that whatever is required – be it files, folders, applications, or entire servers – can be presented back to the users. Traditionally, this has been clunky. Solutions that offer such workflows are often quite slow to complete and limited in scope. Plus, they operate in a closed-source orchestration engine that is tightly coupled to the solution itself. Wouldn’t it be great if you could perform backup validation using your existing configuration management engines instead? With Rubrik, validating is easy. Because the entire CDM fabric is designed to operate at scale across any on-premises or cloud…
Rubrik -  - How We Built a Suite of Automated End-to-End Tests

Architecture

How We Built a Suite of Automated End-to-End Tests

Last week, I covered the importance of quality and why we employed automated end-to-end testing. In this post, I explain how we implement this approach. We do so through a release pipeline orchestrated by Jenkins to efficiently run a large suite of end-to-end tests. These tests leverage our custom testing framework which integrates with support tooling. As we receive customer feedback, we continuously update the framework and test cases to keep up with the latest requirements. Below, I describe in more detail our release pipeline, testing framework, and product support functions that ensure our testing is faster, more efficient, and always high quality. Jenkins Continuous Integration Like many engineering organizations, we use Jenkins as our continuous integration tool. As engineers check in new code, Jenkins is continuously running the suite of tests we built, including both unit tests and end-to-end tests. This allows us to quickly detect and correct issues. Release Pipeline If we ran every full test for every code check in, we would quickly exhaust all our test resources and file duplicate bugs. Although we can easily add more test resources, duplicate bugs waste engineering time by requiring extra triage and diagnosis work. Instead, we define a release…
Rubrik -  - Automation Rules the Kingdom: Why Quality is Important For You

Architecture

Automation Rules the Kingdom: Why Quality is Important For You

Automated End-to-End Testing: Ensuring Quality We take quality seriously. For both our customers and developers’ satisfaction, it is essential to provide consistent product performance and speed of development with confidence that existing use cases are not broken. To ensure agile development, here’s why quality is essential to your organization and how our strategy makes automated end-to-end testing fast, reliable, and responsive. Importance of Quality For Customers: Every company claims to deliver high quality to their customers, but this is especially critical for Rubrik. Our product is responsible for managing highly valuable data that powers our customers’ businesses. In the backup and recovery industry, our solution needs to be on active duty at the exact moment our customers experience trouble within systems protected by us. Given that these problems are complex, providing an extremely simple user experience alleviates troubleshooting. Of course, this simple user experience can only be simple as long as all the underlying pieces are performing reliably. For Engineers: Engineers want to innovate without breaking existing functionality that customers depend on. If the fundamentals fail, customers cannot upgrade without losing data. It’s often difficult to innovate without affecting the interoperating pieces. In Rubrik’s case, we integrate at all levels…