Fundamentals of Test Data Management

2 Day Classroom  •  2 Day Live Online
2 Day Training at your location.
Adjustable to meet your needs.
Individual:
$1795.00
Group Rate:
$1595.00
GSA Discount:
$1310.35
When training eight or more people, onsite team training offers a more affordable and convenient option.
Register Now
Request Quote
Individual
Onsite
Overview

Organizations deliver software increasingly fast using DevOps principles and practices. In this new world, testing plays a big role. Without tests, there’s not much value in automating application deployments.

You might have been able to break the silos of development and operations. But if you’re still doing manual testing and requesting help from other teams to gather data for testing, you’re not taking full advantage of delivering continuously.

In this course, we’ll talk about why preparing data for testing is crucial in all organizations and why historically this has been so difficult to do. Test data management solves this problem in different ways by letting you have copies of production data, with the exception that sensitive information like credit card numbers or social security numbers can be masked.

After you’ve been able to stop requesting data from the DBAs, there’s still a problem: you still need them to review and apply schema changes. Usually, that happens just before doing it in production, adding more time to deployments—especially when there are problems with the scripts.

That’s why in, this course, we’ll also talk about schema changes and how can they be injected into your DevOps implementation. We’ll talk about the principles, practices, and tools that will help you achieve it.

Finally, we’ll put that into practice by doing a workshop using a real-world scenario.

In this Course, You will Learn How to:

Prepare data for different testing environments
Incorporate test data management into you DevOps Practice
Make test data management a self-service process
Mask data for security compliance
Create non-production databases using test data management
Running a set of test cases using test data management
Use Liquibase to Promote database Changes
Create a Deployment Pipeline using Jenkins and Liquibase
Upcoming Dates and Locations
Guaranteed To Run

There aren’t any public sessions currently scheduled for this course, but if you fill out the form below, we can tell you about how we can bring this course to you!

Course Outline

Part 1: Why Is Testing Data Important?

Part 2: Why Is Testing Data Hard?

Preparing data for different environments is not an easy task. As the database and complexity grow, it’s more and more difficult to do. Plus, it can be expensive when databases are too big.

  1. Compliance, Regulations, and Data Protection
  2. The Impact That It Has In Cost Storage

Part 3: The Testing Pyramid

We’ll talk not only about the different type of tests but also about when they’re needed and how many of them are needed to reduce lead time to deliver.

  1. Manual Tests
  2. System or APIs Tests
  3. Integration Tests
  4. Component Tests
  5. Unit Tests

Part 4: Test Data Management

We’ll cover all the aspects of test data management and its role in DevOps.

  1. What Is It?
  2. Doing the Discovery of Data
  3. Making TDM A Self-Service Process
  4. Masking Data For Security and Compliance
  5. Working With Subsetting Data
  6. Working With Synthetic Generation
  7. Including Data Virtualization
  8. Commercial Tools

Part 5: Using Test Data Management For Testing

  1. How to create non-production databases?
  2. Exercise: Creating non-production databases using TDM
  3. Working with different test environments like dev, QA, staging
  4. Tips & Tricks to use TDM for Testing
  5. Exercise: Running a set of test cases using TDM

Part 6: Continuous Integration and Continuous Delivery Overview

A brief recap of CI/CD. We will cover the basics, specifically how this applies to databases

  1. What Is CI/CD?
  2. How does a CI/CD workflow look like?
  3. How to include DB changes?

Part 7: Database Release Automation

Automation is king. But how can DevOps help you to not just deliver code changes but also changes in the database?

  1. Database Versioning
  2. Database Migration Scripts
  3. Immutable Data For Test Cases
  4. Forward and Backwards Compatible
  5. Rolling Back Databases
  6. Commercial and Noncommercial Tools

Part 8: Working with Liquibase

Liquibase is the open source project used to automate the database release changes. We’ll discover what it is, how to use it and how to integrate it in any delivery pipeline.

  1. Liquibase: What is and How it Works
  2. Liquibase Concepts
  3. How to Use Liquibase?
  4. Using Liquibase With New Projects
  5. Using Liquibase With Existing Projects
  6. Incremental Migrations
  7. Generating SQL Scripts
  8. Managing Rollbacks
  9. Liquibase Best Practices
  10. Commercial Support: Datical
  11. Setting Up a Local Environment
  12. Exercise: Creating Initial Database Schema

Part 9: Database Release Automation Project

  1. Install the Software
  2. Creating Initial Database Schema
  3. Workflow to Promote DB Changes
  4. Using Liquibase to Promote DB Changes
  5. Putting Everything Under Version Control
  6. Creating a Deployment Pipeline using Jenkins and Liquibase

Part 10: Database Release Automation Using Containers

Using containers will help you to reduce costs and time to deliver. So we’ll talk about why this is important and discuss some tips that will help you implement containers to promote database changes in your delivery pipeline.

  1. Prerequisites
  2. What are containers?
  3. What are containers capabilities?

Part 11: Containers Project - .NET Core + Entity Framework + Containers

  1. Preparing the Environment
  2. Choosing a .NET project
  3. Dockerizing the .NET app
  4. Migrations with Entity Framework
  5. Creating a deployment pipeline with Jenkins
  6. Including migrations scripts into the pipeline
  7. Applying database changes using containers
  8. Introduction to Kubernetes
  9. Deploying containers to Kubernetes
Who should attend
  • Software Developers and Programmers
  • Software Engineers
  • Technical-Oriented Testers
  • Test Automation Engineers
  • Software Testers
  • IT Managers
  • Quality Assurance Professionals

Download the brochure