{"id":853,"date":"2016-01-27T09:35:47","date_gmt":"2016-01-27T17:35:47","guid":{"rendered":"https:\/\/www.genrocket.com\/?p=853"},"modified":"2022-09-05T16:41:49","modified_gmt":"2022-09-05T16:41:49","slug":"better-software-testing-with-conditioned-test-data","status":"publish","type":"post","link":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/","title":{"rendered":"Better Software Testing with Conditioned Test Data"},"content":{"rendered":"<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">One of the most important aspects of <a href=\"https:\/\/www.genrocket.com\/software-testing-solutions\/\">software testing<\/a> is being able to\u00a0condition the test data you require to fully run a\u00a0given test.<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Conditioned test data gives you the ability to test for a specific outcome within a given <strong>unit<\/strong>,\u00a0<strong>integration<\/strong>, <strong>load<\/strong> test or\u00a0<strong>functionally<\/strong> test a specific workflow or control the test data presented in a demo application.<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">The MultiWeightGen Generator is one of GenRocket\u2019s best Generators for controlling the frequency (on a percentage basis) of how one or more values are generated within a finite set of generated test data.<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Let\u2019s take the following example to see the MultiWeightGen Generator in action.<\/span><\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif; font-size: 24pt;\">The Test Data Challenge<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">A tester needs to run an integration test to produce a very specific set of test data to assert that the business logic within a given service method is working correctly. The service method takes a code name, a set of data, and returns the percentage of time the specific code name was found within the set of data.<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">In order to thoroughly test the business logic, the tester needs to generate a specific percentage of different code names for a finite set of data:<\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\"><strong>\u00a0 <\/strong><em>40% of the time, generate either code Blue or code Green<\/em><\/span><br \/>\n<span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\"><em> \u00a0 \u00a0 \u00a0Within the 40%, 80% should generate code Blue<\/em><\/span><br \/>\n<span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\"><em> \u00a0 \u00a0 \u00a0Within the 40%, 20% should generate code Green<\/em><\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\"><em>\u00a0 60% of the time, generate either code Red or code Yellow<\/em><\/span><br \/>\n<span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\"><em>\u00a0 \u00a0 \u00a0Within the 60%, 70% should generate code Red<\/em><\/span><br \/>\n<span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\"><em>\u00a0 \u00a0 \u00a0Within the 60%, 30% should generate code Yellow<\/em><\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Believe it or not, with the GenRocket MultiWeightGen Generator, this test data can be generated with only three Attributes and you can be generating the data you require in only a few minutes.<\/span><\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif; font-size: 24pt;\">Attribute\u00a0codeBlueGreen<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">First, create an Attribute called, codeBlueGreen, and assigned it the MultiWeightGen Generator and set Blue at 80% and Green at 20%. I also set the Attributes visible parameter to false.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-864 size-large\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658.png\" alt=\"MultiWeightGenCodeBlueGreen\" width=\"660\" height=\"424\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif; font-size: 24pt;\">Attribute\u00a0codeRedYellow<\/span><\/h2>\n<p><span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\">Second, create an Attribute called, codeRedYellow, and assigned it the MultiWeightGen Generator and set Red at 70% and Yellow at 30%. I also set the Attributes visible parameter to false.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeRedYellow.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-867 size-large\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeRedYellow-1024x656.png\" alt=\"MultiWeightGenCodeRedYellow\" width=\"660\" height=\"423\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif; font-size: 24pt;\">Attribute\u00a0code<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Third, create an Attribute called, code, and assigned it the MultiWeightGen Generator. Then I reference Attribute codeBlueGreen at 40% and reference Attribute codeRedYellow at 60%.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeighGenCode.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-870 size-large\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeighGenCode-1024x655.png\" alt=\"MultiWeighGenCode\" width=\"660\" height=\"422\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif; font-size: 24pt;\">Attribute category<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">So that we can query our data quickly to produce the statistics we want to review, I also added an attribute called, category, assign to it the GenRocket SwitchGen Generator and gave it the parameters as you see in the image below.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeighGenCategory.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-873\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeighGenCategory-1024x684.png\" alt=\"MultiWeighGenCategory\" width=\"660\" height=\"441\" \/><\/a><\/span><\/p>\n<h1><span style=\"font-size: 24pt; font-family: helvetica, arial, sans-serif;\">Preview The Results<\/span><\/h1>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Click on the Domain\u2019s box icon and you can preview your results. And since Attributes codeBlueGreen and codeRedYellow have their visible parameter set to false, only Attribute\u2019s id, code and category will show visible results, which is what we want.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPreview.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-876\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPreview-1024x683.png\" alt=\"MultiWeightGenPreview\" width=\"660\" height=\"440\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-size: 24pt; font-family: helvetica, arial, sans-serif;\">Testing your results<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Here\u2019s one cool way to see the how well the percentages turn out by populating a MySQL database table with test data and checking your results.<\/span><\/p>\n<h2><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Generate 5000 rows to an SQL file called, stats.sql.<\/span><\/h2>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenSQLPreview.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-878\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenSQLPreview-1024x683.png\" alt=\"MultiWeightGenSQLPreview\" width=\"660\" height=\"440\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Create Demo Database<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Login into MySQL and run the following command to create a demo database<br \/>\n<\/span><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">create database demo;<\/span><\/p>\n<h2><span style=\"font-size: 18pt; line-height: 32.7273px; font-family: helvetica, arial, sans-serif;\">Create The Stats Table<\/span><\/h2>\n<p><span style=\"font-family: 'courier new', courier, monospace;\">DROP TABLE IF EXISTS stats;<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">CREATE TABLE stats (<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">\u00a0 id bigint NOT NULL AUTO_INCREMENT,<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">\u00a0 code VARCHAR(25) NOT NULL, <\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">\u00a0 category VARCHAR(25) NOT NULL, <\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">\u00a0 PRIMARY KEY (id)<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">) ENGINE=InnoDB;<\/span><\/p>\n<h2><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Load The Conditioned Test Data<\/span><\/h2>\n<p><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">At the command line, load the data into the table:<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">mysql -u username -p password -D databaseName &lt; stats.sql<\/span><\/p>\n<h1><span style=\"font-size: 24pt; font-family: helvetica, arial, sans-serif;\">Run the following SQL statements<\/span><\/h1>\n<h2><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Percentage Each of Blue &amp; Green<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">select code, count(code) as count, count(code)\/(<\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\"> select count(code) from stats where code in (&#8216;Blue&#8217;,&#8217;Green&#8217;)<\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">) * 100 as percent <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">from stats where code in (&#8216;Blue&#8217;,&#8217;Green&#8217;) group by code;<\/span><\/p>\n<h3><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Example Output:<\/span><\/h3>\n<p><span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">code count percent <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">&#8212;- &#8212;- \u00a0&#8212;&#8212;- <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">Blue 1609 \u00a080.8949 <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">Green 380 \u00a019.1051<\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPieBlueGreen.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-880\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPieBlueGreen-1024x768.png\" alt=\"MultiWeightGenPieBlueGreen\" width=\"660\" height=\"495\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Percentage Each of Red &amp; Yellow<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">select code, count(code) as count, count(code)\/(<\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\"> select count(code) from stats where code in (&#8216;Red&#8217;,&#8217;Yellow&#8217;)<\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">) * 100 as percent <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">from stats where code in (&#8216;Red&#8217;,&#8217;Yellow&#8217;) group by code;<\/span><\/p>\n<h3><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Example Output<\/span><\/h3>\n<p><span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">code \u00a0count percent <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">&#8212;&#8211; &#8212;&#8211; &#8212;&#8212;- <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">Red \u00a0 \u00a02083 69.1797 <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">Yellow \u00a0928 30.8203<\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPieRedYellow.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-883\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPieRedYellow-1024x768.png\" alt=\"MultiWeightGenPieRedYellow\" width=\"660\" height=\"495\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Percentage Grouped By Category<\/span><\/h2>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 14pt;\">select Category, count(code)\/( select count(*) from stats)<br \/>\n<\/span><span style=\"font-family: 'courier new', courier, monospace; font-size: 14pt;\">* 100 as &#8216;Percentage&#8217; from stats group by Category<\/span><\/p>\n<h3><span style=\"font-size: 18pt; font-family: helvetica, arial, sans-serif;\">Example Output<\/span><\/h3>\n<p><span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">Category \u00a0Percentage <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;- <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">BlueGreen 39.7800 <\/span><br \/>\n<span style=\"font-size: 14pt; font-family: 'courier new', courier, monospace;\">RedYellow 60.2200<\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><a href=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPieCategory.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-884\" src=\"https:\/\/www.genrocket.com\/wp-content\/uploads\/2016\/01\/MultiWeightGenPieCategory-1024x768.png\" alt=\"MultiWeightGenPieCategory\" width=\"660\" height=\"495\" \/><\/a><\/span><\/p>\n<h2><span style=\"font-size: 24pt; font-family: helvetica, arial, sans-serif;\">Why are the percentages not exact?<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">If you\u2019re wondering why the percentages did not come out as exact percentages but close approximation instead, it\u2019s because GenRocket Generators generate their data values on each iteration; a given iteration does not know about the sum of the whole. This way the percentages are realistic and any number of rows generated can be undetermined; in essence the number or rows generated could be 100 rows or 100,000,000 rows and the percentages would still come to a very close approximation of the exact percentages.<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Try producing 50,000 rows and see what results you get.<\/span><\/p>\n<h2><span style=\"font-size: 24pt; font-family: helvetica, arial, sans-serif;\">Why are there values set for\u00a0each\u00a0seed parameter?<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">If you look at the parameters set for codeBlueGreen, codeRedYellow &amp; code, you may notice that\u00a0the seed parameter has different values. Seeding the MultiWeightGen Generator gives you greater control of your test data because it guarantees the same random data will be generated each time you generate\u00a0your test data. \u00a0This is especially beneficial if you desire a test to always yield the exact same result each time the test is run.\u00a0<\/span><\/p>\n<h1><span style=\"font-family: helvetica, arial, sans-serif; font-size: 24pt;\">Checkout the MultiWeightGen In Action<\/span><\/h1>\n<p><span style=\"font-family: helvetica, arial, sans-serif; font-size: 14pt;\">To see the MultiWeightGen Generator IN ACTION; check out the video below.\u00a0<\/span><\/p>\n<p><iframe loading=\"lazy\" title=\"The GenRocket MultiWeightGen Generator\" src=\"https:\/\/player.vimeo.com\/video\/153206064?h=e0e3fa374e&amp;dnt=1&amp;app_id=122963\" width=\"1060\" height=\"676\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<h2><span style=\"font-size: 24pt; font-family: helvetica, arial, sans-serif;\">Conclusion<\/span><\/h2>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Having the ability to condition the test data you require\u00a0is one of the most important aspects\u00a0of\u00a0any type of testing.<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">Conditioned test data gives you the power and ability to run any\u00a0<strong>unit<\/strong>, <strong>integration<\/strong>, <strong>load<\/strong> or\u00a0<strong>functional<\/strong>\u00a0test you need\u00a0to fully and accurately test your code.<\/span><\/p>\n<p><span style=\"font-size: 14pt; font-family: helvetica, arial, sans-serif;\">In this post, I showed you how the GenRocket MultiWeightGen Generator is one of the best Generators for controlling the frequency (on a percentage basis) of how one or more values are generated within a finite set of generated test data.<\/span><\/p>\n<p><span style=\"font-size: 12pt; font-family: helvetica, arial, sans-serif;\">By Hycel Taylor<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: helvetica, arial, sans-serif;\">Founder &amp; Chief Architect<\/span><br \/>\n<span style=\"font-size: 12pt; font-family: helvetica, arial, sans-serif;\">GenRocket, Inc.<\/span><\/p>\n<p style=\"text-align: right;\">\n","protected":false},"excerpt":{"rendered":"<p>One of the most important aspects of software testing is being able to\u00a0condition the test data you require to fully run a\u00a0given test. Conditioned test data gives you the ability to test for a specific outcome within a given unit,\u00a0integration, [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":10403,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[358,359,346,360,361,348,351],"class_list":["post-853","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-conditioned-test-data","tag-functional-testing","tag-integration-testing","tag-load-testing","tag-multiweightgen","tag-software-testing","tag-test-data-generation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Better Software Testing with Conditioned Test Data.<\/title>\n<meta name=\"description\" content=\"One of the most important aspects of software testing is being able to condition the test data you require to fully run a given test.\" \/>\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\/better-software-testing-with-conditioned-test-data\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Better Software Testing with Conditioned Test Data.\" \/>\n<meta property=\"og:description\" content=\"One of the most important aspects of software testing is being able to condition the test data you require to fully run a given test.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/\" \/>\n<meta property=\"og:site_name\" content=\"GenRocket Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-27T17:35:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-05T16:41:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"658\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Hycel Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hycel Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/\"},\"author\":{\"name\":\"Hycel Taylor\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/7efce0dccc5685a50a0c0490d3b988f2\"},\"headline\":\"Better Software Testing with Conditioned Test Data\",\"datePublished\":\"2016-01-27T17:35:47+00:00\",\"dateModified\":\"2022-09-05T16:41:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/\"},\"wordCount\":1001,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png\",\"keywords\":[\"Conditioned Test Data\",\"Functional Testing\",\"Integration Testing\",\"Load Testing\",\"MultiWeightGen\",\"Software Testing\",\"Test Data Generation\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/\",\"url\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/\",\"name\":\"Better Software Testing with Conditioned Test Data.\",\"isPartOf\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png\",\"datePublished\":\"2016-01-27T17:35:47+00:00\",\"dateModified\":\"2022-09-05T16:41:49+00:00\",\"description\":\"One of the most important aspects of software testing is being able to condition the test data you require to fully run a given test.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage\",\"url\":\"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png\",\"contentUrl\":\"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png\",\"width\":1024,\"height\":658,\"caption\":\"Test Data Management - GenRocket\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.genrocket.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Better Software Testing with Conditioned Test Data\"}]},{\"@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\/7efce0dccc5685a50a0c0490d3b988f2\",\"name\":\"Hycel Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/aac44f3a4d967dc8121a4e16a45ab2bb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/aac44f3a4d967dc8121a4e16a45ab2bb?s=96&d=mm&r=g\",\"caption\":\"Hycel Taylor\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Better Software Testing with Conditioned Test Data.","description":"One of the most important aspects of software testing is being able to condition the test data you require to fully run a given test.","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\/better-software-testing-with-conditioned-test-data\/","og_locale":"en_US","og_type":"article","og_title":"Better Software Testing with Conditioned Test Data.","og_description":"One of the most important aspects of software testing is being able to condition the test data you require to fully run a given test.","og_url":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/","og_site_name":"GenRocket Blog","article_published_time":"2016-01-27T17:35:47+00:00","article_modified_time":"2022-09-05T16:41:49+00:00","og_image":[{"width":1024,"height":658,"url":"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png","type":"image\/png"}],"author":"Hycel Taylor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Hycel Taylor","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#article","isPartOf":{"@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/"},"author":{"name":"Hycel Taylor","@id":"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/7efce0dccc5685a50a0c0490d3b988f2"},"headline":"Better Software Testing with Conditioned Test Data","datePublished":"2016-01-27T17:35:47+00:00","dateModified":"2022-09-05T16:41:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/"},"wordCount":1001,"commentCount":0,"publisher":{"@id":"https:\/\/www.genrocket.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage"},"thumbnailUrl":"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png","keywords":["Conditioned Test Data","Functional Testing","Integration Testing","Load Testing","MultiWeightGen","Software Testing","Test Data Generation"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/","url":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/","name":"Better Software Testing with Conditioned Test Data.","isPartOf":{"@id":"https:\/\/www.genrocket.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage"},"image":{"@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage"},"thumbnailUrl":"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png","datePublished":"2016-01-27T17:35:47+00:00","dateModified":"2022-09-05T16:41:49+00:00","description":"One of the most important aspects of software testing is being able to condition the test data you require to fully run a given test.","breadcrumb":{"@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#primaryimage","url":"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png","contentUrl":"https:\/\/www.genrocket.com\/blog\/wp-content\/uploads\/2016\/01\/MultiWeightGenCodeBlueGreen-1024x658-1.png","width":1024,"height":658,"caption":"Test Data Management - GenRocket"},{"@type":"BreadcrumbList","@id":"https:\/\/www.genrocket.com\/blog\/better-software-testing-with-conditioned-test-data\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.genrocket.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Better Software Testing with Conditioned Test Data"}]},{"@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\/7efce0dccc5685a50a0c0490d3b988f2","name":"Hycel Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.genrocket.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/aac44f3a4d967dc8121a4e16a45ab2bb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aac44f3a4d967dc8121a4e16a45ab2bb?s=96&d=mm&r=g","caption":"Hycel Taylor"}}]}},"_links":{"self":[{"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/posts\/853","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\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/comments?post=853"}],"version-history":[{"count":6,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/posts\/853\/revisions"}],"predecessor-version":[{"id":10909,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/posts\/853\/revisions\/10909"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/media\/10403"}],"wp:attachment":[{"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/media?parent=853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/categories?post=853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.genrocket.com\/blog\/wp-json\/wp\/v2\/tags?post=853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}