{"id":3976,"date":"2015-12-07T09:00:39","date_gmt":"2015-12-07T09:00:39","guid":{"rendered":"http:\/\/www.abstracta.us\/?p=3976"},"modified":"2025-05-05T21:21:26","modified_gmt":"2025-05-05T21:21:26","slug":"validating-modified-data-in-test-automation","status":"publish","type":"post","link":"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/","title":{"rendered":"Validating Modified Data in Test Automation"},"content":{"rendered":"<p><!-- Go to www.addthis.com\/dashboard to customize your tools --><script src=\"\/\/s7.addthis.com\/js\/300\/addthis_widget.js#pubid=ra-58d80a50fc4f926d\" type=\"text\/javascript\"><\/script><\/p>\n<h1><span style=\"font-weight: 400; color: #333333;\">The importance of validating modified data in automation<\/span><\/h1>\n<p><span style=\"font-weight: 400; color: #333333;\">In test automation of any kind, we end up automatically simulating (with a tool or with a fragment of code) the action that a user would execute on the system (in the broadest meaning of the word &#8220;user&#8221;). Therefore, a very important thing is to make sure that our automation, that is, our testing artifact, actually does what it is supposed to do in simulating the user\u2019s actions. We have to test it!\u00a0<\/span><\/p>\n<p><span style=\"color: #333333;\">[tweet_box design=&#8221;default&#8221; float=&#8221;none&#8221;]As we always say: Testware is software, and as such, we must test it as well.[\/tweet_box]<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">One way to check that our automation is working properly is to <strong>validate modified data<\/strong>.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">Something that has proven quite important in one of our recent performance testing projects relates to this: <strong>we must validate test scripts at the data level, more specifically, at the database level. <\/strong>This is particularly important when we don\u2019t execute at the graphic interface level.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\"> When we execute a test at the graphic interface level of the system subject to testing, such as with GXtest, Selenium or WatiN, we are certain to a degree, that we will do the same thing that a user would do by clicking buttons, entering data in inputs and so on. This is quite different in performance tests, where, for example, we attack the application at the protocol level. So, in the case of a web system, we will be sending invocations at the http protocol level. In this case, it is most important to verify that a script does what it is expected to do and that there are no differences with what is done manually.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\"><strong>Validating modified data<\/strong> is quite easy to do with <strong>the aid of a developer. <\/strong>When we show an expert on the application that we are executing a script that uses <strong>certain data, <\/strong>such as: A specific user enters an invoice with products issued to a specific customer. The developer will easily know which tables to check in the database to verify that the data is consistent and correctly updated so that the difference between that data being processed by an actual user or by a test script will not be noticed. It is important to validate that the different variables and attributes used in each event have been parameterized. Having the system\u2019s KB or requesting this information from the developer can be helpful for that.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">What\u2019s important here is that, if the script is parameterized incorrectly and we send wrong data, we could be generating erroneous situations, and the simulation of reality would not be the right one. Imagine that we record a script where we indicate the creation of an invoice. This will surely require that we parameterize the client and the products. But, what happens if there was an error made in parameterizing the script and the product was not parameterized, so the same product is used every time that an invoice is processed? We would first think that it is not such a big deal and that in simulating hundreds of users processing invoices, we will just have numerous invoices with the same product. However, this could have negative consequences in the test: if the system must verify the existence of stock and update it after every purchase, we will be generating more locks at the database level than the locks there would be in reality. So, we would not be simulating the user behavior as we planned, but rather a situation that is much worse.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">It is clear, that, if we\u2019re not careful with <strong>validating modified data<\/strong>, we could arrive at incorrect conclusions, showing the importance of tests and of testing artifacts as well!!<\/span><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h2><strong>Recommended for You<\/strong><\/h2>\n<p><a href=\"http:\/\/abstracta.us\/blog\/test-automation\/avoid-false-positives-false-negatives-test-automation\/\">How to Avoid False Positives and False Negatives in Test Automation<\/a><br \/>\n<a href=\"http:\/\/abstracta.us\/blog\/test-automation\/4-common-test-automation-challenges-overcome\/\">The 4 Most Common Challenges of Test Automation (And How to Overcome Them)<\/a><\/p>\n<div class=\"_form_9\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The importance of validating modified data in automation In test automation of any kind, we end up automatically simulating (with a tool or with a fragment of code) the action that a user would execute on the system (in the broadest meaning of the word&#8230;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.0.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Validating Modified Data in Test Automation | Abstracta<\/title>\n<meta name=\"description\" content=\"Before running any automated checks, never skip the step of validating modified data\u00a0in order to be able to trust the results of your tests.\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validating Modified Data in Test Automation | Abstracta\" \/>\n<meta property=\"og:description\" content=\"Before running any automated checks, never skip the step of validating modified data\u00a0in order to be able to trust the results of your tests.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaQA\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-07T09:00:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-05T21:21:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/abstracta.us\/wp-content\/uploads\/2015\/12\/Test_automation-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"420\" \/>\n\t<meta property=\"og:image:height\" content=\"236\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fltoledo\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaUS\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/abstracta.us\/blog\/#website\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\",\"description\":\"AI-powered quality engineering\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/abstracta.us\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/#webpage\",\"url\":\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/\",\"name\":\"Validating Modified Data in Test Automation | Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#website\"},\"datePublished\":\"2015-12-07T09:00:39+00:00\",\"dateModified\":\"2025-05-05T21:21:26+00:00\",\"author\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/7421e539de0357d3adb0c69ed469a1c2\"},\"description\":\"Before running any automated checks, never skip the step of validating modified data\\u00a0in order to be able to trust the results of your tests.\",\"breadcrumb\":{\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/\",\"url\":\"https:\/\/abstracta.us\/blog\/test-automation\/\",\"name\":\"Test Automation\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/\",\"url\":\"https:\/\/abstracta.us\/blog\/test-automation\/validating-modified-data-in-test-automation\/\",\"name\":\"Validating Modified Data in Test Automation\"}}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/7421e539de0357d3adb0c69ed469a1c2\",\"name\":\"Federico Toledo, Chief Quality Officer at Abstracta\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/abstracta.us\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6de7ec6536c4028b5c02ad4ec1b9af0d?s=96&d=blank&r=g\",\"caption\":\"Federico Toledo, Chief Quality Officer at Abstracta\"},\"description\":\"Co-founder and COO of Abstracta\",\"sameAs\":[\"https:\/\/twitter.com\/fltoledo\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/3976"}],"collection":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=3976"}],"version-history":[{"count":9,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/3976\/revisions"}],"predecessor-version":[{"id":11096,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/3976\/revisions\/11096"}],"wp:attachment":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=3976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=3976"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=3976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}