{"id":419,"date":"2013-05-29T11:06:38","date_gmt":"2013-05-29T11:06:38","guid":{"rendered":"https:\/\/www.genrocket.com\/?p=419"},"modified":"2022-09-05T16:41:51","modified_gmt":"2022-09-05T16:41:51","slug":"choosing-the-right-test-data-generation-tool","status":"publish","type":"post","link":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/","title":{"rendered":"Choosing The Right Test Data Generation Tool"},"content":{"rendered":"<p>In our<a title=\"What Is Test Data Generation And Why You Should Care\" href=\"#\"> last blog post<\/a> I talked about what test data generation is and why every engineering team should care about it. \u00a0I closed that article with 5 questions to ask yourself about your test data. \u00a0I\u2019d like to expand on these 5 questions a bit. \u00a0Test Data Generation is a relatively new market, especially when talking about the tools and platforms being developed to make the process better. \u00a0These 5 questions can help you determine what the best tool might be for your needs.<\/p>\n<p><strong>Does my test data take up gigabytes of space when unused?<\/strong><\/p>\n<p>No matter what your current test data generation strategy currently is, if you even have one, chances are the test data gets created and then stored on a server somewhere. \u00a0This might be a database or a file server filled with xml files, csv files, or any number of other formats. \u00a0And there it sits. \u00a0Waiting to be used, waiting to be copied, just waiting. \u00a0Sure, storage is cheap. \u00a0But consider wading through the gigabytes of data trying to find exactly what you need for your test. \u00a0What if your offshore team needs the data on a different server? \u00a0How long are they waiting for transfers to complete?<\/p>\n<p>Your Test Data Generation tool should provide you with test data on demand. \u00a0It should create the data when you need it, then be disposable when you\u2019re done. \u00a0This cycle should be repeatable any number of times for any number of scenarios.<\/p>\n<p><strong>Does my test data become stale when the rules change?<\/strong><\/p>\n<p>You\u2019ve just spent a week creating thousands of rows of XML data in hundreds of files. \u00a0You\u2019ve copied all the data to the test server. \u00a0Feeling accomplished and, quite honestly, relieved that you\u2019re finally finished, you go for some coffee. \u00a0Just as you begin to relax you receive an email describing a change to the structure of the relationships of your data. \u00a0It\u2019s been 10 minutes and you\u2019re test data is already out of date!<\/p>\n<p>Your Test Data Generation tool should provide you with an easy way of modifying the rules of your data. \u00a0And since you\u2019re tool should also be generating your data on demand it\u2019s as simple as running your tests with the new rules in place.<\/p>\n<p><strong>Do I write foreach loops and conditional statements to create my test data?<\/strong><\/p>\n<p>Remember all the XML you spent a week writing? \u00a0How many conditional statements did you have to write to get all the rules working correctly? \u00a0How many iteration loops did you have to write to get the number of Users, Addresses, Companies, Roles, and Departments for your test? \u00a0Worse yet, did you have to update those iterations depending on the test?<\/p>\n<p>Your Test Data Generation tool should provide you the means to model and generate your data without the need to write any code. \u00a0It should provide features that allow you to control iterations based on conditional logic specific for each scenario which in turn allows great autonomy and fine grained control over the data generated for each test.<\/p>\n<p><strong>Am I the only one with access to the test data?<\/strong><\/p>\n<p>Bill needs your test data for some functional testing. \u00a0Nancy needs your test data for some integration testing. \u00a0It\u2019s all sitting on your computer. \u00a0Gigabytes of it. \u00a0Its brittle. \u00a0It only works for your tests. \u00a0It took you weeks to produce. \u00a0It\u2019s your prized possession.<\/p>\n<p>Your Test Data Generation tool should provide you with the ability to easily share test data with anyone, anywhere. \u00a0Since your tool is cloud based and anyone with the right credentials can simply log in, download a scenario, and generate test data when running their tests, it\u2019s as easy as telling Nancy which Scenario she needs. \u00a0Nancy should even be able to create her own test scenario specific to her needs, if she is using the right tool.<\/p>\n<p><strong>Do product releases create havoc for my test data?<\/strong><\/p>\n<p>Release 1.0 is out the door. \u00a0It was difficult getting here, but you did it! \u00a0Now you can finally start on all those cool features for 1.5. \u00a0And then the bugs start coming in. \u00a0You need your gigabytes of test data to be modified to support Release 1.5 but you have to run these tests to fix 1.0. \u00a0Copy this data over here, modify it over there. \u00a0This folder is for Release 1.1 and this folder is for Release 1.2. \u00a0But you need some of the changes from Release 1.3 in Release 1.1.<\/p>\n<p>Your Test Data Generation tool should provide you with an easy way to version your test data. \u00a0The data shouldn\u2019t matter. \u00a0The only thing that matters is if the rules for how the data gets generated. \u00a0The tool should provide an easy way to switch from one version to the other so its easy to maintain previous releases while continuing to move forward with new releases.<\/p>\n<p>Choosing the right Test Data Generation tool is as important to your team as choosing the right IDE, framework, database, or language. \u00a0The right tool should assist you in creating as close to bug free software as possible. \u00a0It should allow you to completely test your system. \u00a0If you can answer \u201cNo\u201d to all 5 questions above, you\u2019ve chosen the right Test Data Generation tool.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our last blog post I talked about what test data generation is and why every engineering team should care about it. \u00a0I closed that article with 5 questions to ask yourself about your test data. \u00a0I\u2019d like to expand [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-419","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Choosing the Right Test Data Generation Tool.<\/title>\n<meta name=\"description\" content=\"In our last blog post I talked about what test data generation is and why every engineering team should care about\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Choosing the Right Test Data Generation Tool.\" \/>\n<meta property=\"og:description\" content=\"In our last blog post I talked about what test data generation is and why every engineering team should care about\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/\" \/>\n<meta property=\"og:site_name\" content=\"GenRocket Blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-05-29T11:06:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-05T16:41:51+00:00\" \/>\n<meta name=\"author\" content=\"Gregg Bolinger\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gregg Bolinger\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/\"},\"author\":{\"name\":\"Gregg Bolinger\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/d080d5f4f0360a599587cad7a67254df\"},\"headline\":\"Choosing The Right Test Data Generation Tool\",\"datePublished\":\"2013-05-29T11:06:38+00:00\",\"dateModified\":\"2022-09-05T16:41:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/\"},\"wordCount\":882,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/\",\"url\":\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/\",\"name\":\"Choosing the Right Test Data Generation Tool.\",\"isPartOf\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/#website\"},\"datePublished\":\"2013-05-29T11:06:38+00:00\",\"dateModified\":\"2022-09-05T16:41:51+00:00\",\"description\":\"In our last blog post I talked about what test data generation is and why every engineering team should care about\",\"breadcrumb\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.genrocket.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Choosing The Right Test Data Generation Tool\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#website\",\"url\":\"https:\/\/www.genrocket.com\/blog\/\",\"name\":\"GenRocket Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.genrocket.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#organization\",\"name\":\"GenRocket Blog\",\"url\":\"https:\/\/www.genrocket.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2024\/03\/favicon.png\",\"contentUrl\":\"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2024\/03\/favicon.png\",\"width\":32,\"height\":32,\"caption\":\"GenRocket Blog\"},\"image\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/d080d5f4f0360a599587cad7a67254df\",\"name\":\"Gregg Bolinger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c2986240127c520e001c65f540feb1bd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c2986240127c520e001c65f540feb1bd?s=96&d=mm&r=g\",\"caption\":\"Gregg Bolinger\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Choosing the Right Test Data Generation Tool.","description":"In our last blog post I talked about what test data generation is and why every engineering team should care about","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/","og_locale":"en_US","og_type":"article","og_title":"Choosing the Right Test Data Generation Tool.","og_description":"In our last blog post I talked about what test data generation is and why every engineering team should care about","og_url":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/","og_site_name":"GenRocket Blog","article_published_time":"2013-05-29T11:06:38+00:00","article_modified_time":"2022-09-05T16:41:51+00:00","author":"Gregg Bolinger","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Gregg Bolinger","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#article","isPartOf":{"@id":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/"},"author":{"name":"Gregg Bolinger","@id":"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/d080d5f4f0360a599587cad7a67254df"},"headline":"Choosing The Right Test Data Generation Tool","datePublished":"2013-05-29T11:06:38+00:00","dateModified":"2022-09-05T16:41:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/"},"wordCount":882,"commentCount":0,"publisher":{"@id":"https:\/\/www.genrocket.com\/blog\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/","url":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/","name":"Choosing the Right Test Data Generation Tool.","isPartOf":{"@id":"https:\/\/www.genrocket.com\/blog\/#website"},"datePublished":"2013-05-29T11:06:38+00:00","dateModified":"2022-09-05T16:41:51+00:00","description":"In our last blog post I talked about what test data generation is and why every engineering team should care about","breadcrumb":{"@id":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.genrocket.com\/blog\/choosing-the-right-test-data-generation-tool\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.genrocket.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Choosing The Right Test Data Generation Tool"}]},{"@type":"WebSite","@id":"https:\/\/www.genrocket.com\/blog\/#website","url":"https:\/\/www.genrocket.com\/blog\/","name":"GenRocket Blog","description":"","publisher":{"@id":"https:\/\/www.genrocket.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.genrocket.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.genrocket.com\/blog\/#organization","name":"GenRocket Blog","url":"https:\/\/www.genrocket.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.genrocket.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2024\/03\/favicon.png","contentUrl":"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2024\/03\/favicon.png","width":32,"height":32,"caption":"GenRocket Blog"},"image":{"@id":"https:\/\/www.genrocket.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/d080d5f4f0360a599587cad7a67254df","name":"Gregg Bolinger","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c2986240127c520e001c65f540feb1bd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c2986240127c520e001c65f540feb1bd?s=96&d=mm&r=g","caption":"Gregg Bolinger"}}]}},"_links":{"self":[{"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/posts\/419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/comments?post=419"}],"version-history":[{"count":2,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/posts\/419\/revisions"}],"predecessor-version":[{"id":10959,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/posts\/419\/revisions\/10959"}],"wp:attachment":[{"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/media?parent=419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/categories?post=419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/tags?post=419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}