The QuerySurge integration with Azure DevOps allows you to automate data validation in your DevOps CI/CD pipelines. Using QuerySurge throughout the development cycle ensures that data changes, whether it be database migrations or full data warehouse compares, perform as expected throughout development and their corresponding releases.
QuerySurge is the smart data testing solution that automates the data validation of data warehouses, big data, BI reports and enterprise apps with full DevOps functionality for continuous testing.
QuerySurge ensures that the data extracted from sources remains intact in the target systems by analyzing and pinpointing up to 100% of all data differences quickly.
- Data Warehouse/ETL testing
- DevOps for Data / Continuous Testing
- Data Migration testing
- Business Intelligence Report testing
- Big Data testing
- Enterprise App / ERP Testing
Challenges we Solve:
- Providing data quality at speed. Validate up to 100% of all data up to 1,000 x faster than traditional testing.
- Automate your testing. Automate your data testing from the kickoff of tests to performing the validation to automated emailing of the results and updating your test management system.
- Your ability to test across platforms. Whether a big data lake, data warehouse, traditional database, NoSQL document store, BI reports, flat files, JSON files, SOAP or restful web services, xml, Excel, mainframe files, or any other data store.
- Integrate into your DevOps for Data pipeline. Integrate with most data integration/ETL solutions, build/configuration solutions, and QA/test management solutions.
- Your ability to analyze your data. Deep dive with our Data Analytics dashboard & Data Intelligence reports.
Benefits of QuerySurge:
- Improve your data quality & data governance
- Accelerate your data testing cycles in your delivery pipeline
- Dramatically increase your data validation coverage
- Leverage analytics to optimize your critical data
- Improve your data quality at speed
Install the extension
- Click the Get it free button above
- Select your Azure DevOps organization (if more than one organization is listed, ensure the correct one is chosen here).
- Click Install.
- After installation completes, click Proceed to organization. You can verify installation by navigating to Organization Settings -> Extensions.
Add QuerySurge tasks to YAML pipelines
Run Test Suite Task
Start with adding the QuerySurge Run Test Suite task to your YAML pipeline:
- Open your pipeline for editing online in Azure DevOps
- If the task list on the right-hand side is not visible, click Show Assistant to open it.
QuerySurge in the search box, then click the QuerySurge Run Test Suite task.
- Fill out these values in the Server/Login Details section:
QuerySurge hostname: Hostname/FQDN/IP address of QuerySurge server, such that it is accessible from build agent(s) (ex. qs.mycorp.com)
QuerySurge port: HTTP Port of QuerySurge server (ex. 80, 8080, 443, 8443)
Note: To connect to the QuerySurge server via HTTPS (TLS/SSL), additional configuration is required; see our Knowledge Base article for details.
- Create two secure variables:
qs_username for your QuerySurge username
qs_password for your QuerySurge password
- Fill in the remaining fields in the Server/Login Details section with references to the variables:
QuerySurge username: Enter
QuerySurge password: Enter
- Populate the Execution Options section as follows (leave the remaining options as default for now):
Project ID #: ID number of the QuerySurge project where the test suite to be executed resides (a Global Admin user can find this value in Global Administration -> Projects)
Test Suite ID #: ID number of the test suite to execute (can be found in the Scheduling Dashboard, underneath the test suite's name in the left-hand side list)
Scenario Name: Name of scenario (to identify the scenario in the Run Dashboard)
- Place the cursor in the pipeline editor on a new line in the
steps: section, and click Add. You'll see a new
querysurge-run-suite-task step added to the YAML code.
- Add a new line before
inputs: and add the text
Get Scenario Results Task
Now add the QuerySurge Get Scenario Results task to retrive detailed results:
- Above the tasks list, again search for
QuerySurge, then click the QuerySurge Get Scenario Results task.
- Fill in the Server/Login Details section as done in Part 2.
- Populate the Execution Options section as follows:
Project ID #: ID number of the QuerySurge project where the executed test suite and scenario reside (a Global Admin user can find this value in Global Administration -> Projects)
Scenario Execution ID: Enter the text
$(runTestSuiteTask.execId). This expression references an output variable named execId set by the Run Test Suite task, which we named
- In the pipeline editor, ensure the cursor is placed on a new line after the previous task, and then click Add. You'll see a new
querysurge-scenario-results-task step added to the YAML code.
Publish Test Results Tasks
The previous task added to the pipeline retrieves results from QuerySurge in a format that Azure Pipelines can understand, but it is not yet processed. Now we will use the built-in Publish Test Results task to instruct the pipeline to publish the results for display in the build results.
- Again, above the tasks list, search for
Publish Test Results, then click that task in the results.
- Fill in the configuration as follows (leave all other fields at their default values):
Test result format: Select JUnit
Test results files: Enter the text
Search folder: Enter the text
- In the pipeline editor, ensure the cursor is placed on a new line after the last task, and then click Add. You'll see a new
PublishTestResults step added to the YAML code.
- Save the pipeline YAML and run the pipeline. On completion, if the scenario completed successfully, you will see under the Tests and Coverage heading the percentage of passing QueryPairs. Clicking on either the percentage or the Tests tab will bring you to the test summary and list of tests. You can explore the tests and drill in to failures, and use the other available tools for test and failure analysis.
- If errors occur, see the Troubleshooting section in our Knowledge Base article.