4

I would like to understand Data Validation for Automation in case of (Weekly/ Frequent Builds)

  • In the case of frequent code changes (Weekly builds) since the code base would change frequently Automation need to be updated with the recent DB Developer query?, Do we do automate data validation for such short cycles or is it verified manually?
  • Do we write custom DB Queries for validation?, Since it is frequent build releases does queries get updated with every build. How was the experience in maintaining the automation suite with frequent changes?
  • I would like to understand to formulate a better strategy for my automation plan
2
  • Are you changing the database tables every week as well? Otherwise, I don't see the need for a new query. Jan 12, 2012 at 4:05
  • The filters, conditions might get changed weekly basis. Major schema changes once in a quarter you can expect.
    – Siva
    Jan 12, 2012 at 6:42

3 Answers 3

4

Siva,

If your database structure is changing this often, I'd be cautious about automating validation until the structure stabilizes.

Typically, early in a development process, the database structures will change frequently (sometimes daily with a large application undergoing rapid development with multiple development projects). During this period, it doesn't make sense to automate the areas changing frequently because you'll drive yourself insane trying to get all the rework completed.

Where data structures are stable, automation serves to verify that the changes haven't had a negative impact on existing structures. Similarly, as long as you've got a known set of stable data, automation acts as your regression validation regardless of the queries you're using. If the data that you're validating is changing frequently, you don't want to validate via automation until it stabilizes.

I'd say as a thumbnail measurement that if maintaining automation to handle changes takes more than an hour out of your day, it's probably something that's not stable enough for automation, and taking your focus away from the core of verifying that the application is doing the correct things (Caveat: if there's a lot of development happening around something that was previously stable, you could easily get spikes of large amounts of maintenance to update for that particular upgraded feature. This shouldn't affect more than that one feature).

1
  • 1
    Great comment Kate. When I first read "dB structure changing every quarter" I thought either this team needs some better up-front planning, or it would likely be some wasted cycles trying to hit a moving target and he would likely spend more time maintaining the automation than any perceived value he got from it. Jan 12, 2012 at 21:33
2

(Full Disclosure.... I work for Pragmatic Works)

Pragmatic Works' LegiTest allows for automated Data Validation to quickly verify your data is accurate, error-free, and up-to-date between any two systems with an OLEDB/ODBC/ADO.Net connection (including databases, applications, and web services).

Users are instantly notified with data validation results, allowing for error remediation before the impacts of the data error can be felt by the business.

http://pragmaticworks.com/Products/LegiTest/Feature/Reconcile-Your-Production-Data

0

In Agile Development development schema changes are quite frequent. At my last 3 companies the frequency is at least weekly. The contrasts greatly to development I did 20 years ago where schema changes were very infrequent, e.g. monthly or quarterly

This doesn't mean the application is under to much 'churn' to automate.

Most of the database changes will likely not affect existing tests. Those that do affect changes will need to have their tests updated. Updating tests as the db and code changes should be SOP.

Summary: Yes write automated validation tests now. 'Tomorrow will be more stable' is not a good way to approach it'. It's true for a few days or a week or two but not much longer than that. The greater danger I have seen is that they are put off and not written and then it is 'too late' to devote resources to it cos 'we just want to get the feature out this week due to business reasons x,y,z'

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.