{"id":3702,"date":"2013-12-19T14:30:11","date_gmt":"2013-12-19T19:30:11","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=3702"},"modified":"2026-02-23T14:15:54","modified_gmt":"2026-02-23T19:15:54","slug":"rowgen-v3-automates-database-test-data-generation","status":"publish","type":"post","link":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/","title":{"rendered":"RowGen v3 Automates Database Test Data Generation"},"content":{"rendered":"<p>The value of good <a title=\"Test Data Solutions Page\" href=\"http:\/\/www.iri.com\/solutions\/test-data\" target=\"_blank\" rel=\"noopener\">test data<\/a> to DBAs is well known:<\/p>\n<blockquote><p>&#8220;Testing of database-intensive applications has unique challenges that stem from hidden dependencies, subtle differences in data semantics, target database schemes, and implicit business rules. These challenges become even more difficult when the application involves integrated and heterogeneous databases or confidential data. Proper test data that simulate real-world data problems are critical to achieving reasonable quality benchmarks for functional input-validation, load, performance, and stress testing. &#8221; &#8211; Ali Raza &amp; Stephen Clyde, abstract from <span style=\"text-decoration: underline;\">Creating Datasets for Testing Relational Databases<\/span><\/p><\/blockquote>\n<p>Testing database operations, prototyping data warehouse and ETL\/ELT jobs, safely outsourcing file samples and reports, and running performance benchmarks on DB appliances all require test data with the look and feel of the production database so that the applications using that <a title=\"Test Data Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/Test_data\" target=\"_blank\" rel=\"noopener\">test data<\/a> now will perform successfully with real data later. In their 2012 book, Raza and Clyde compare test data generation against test data extraction.<\/p>\n<p>IRI and its users know that using real data for testing is undesirable. The most obvious reason today is that real data risk exposing personally identifiable information (PII) that needs to be kept confidential. A developer or tester does not want to run processes, or test a database system and risk sharing customer information like social security numbers, credit card information, birth dates, etc. during this phase. Currently available real data may also not be robust or realistic enough to stress-test applications or databases which will have to handle larger volumes and\/or value ranges.<\/p>\n<p>Unfortunately, Raza and Clyde wrote their book before RowGen v3 was released, when they may have observed it generates test data that:<\/p>\n<p>1) does not expose PII because it contains new, or randomized real, column values<br \/>\n2) maintains the structural and referential integrity defined in the original DDL<br \/>\n3) is not limited to the original database&#8217;s data volumes or value ranges<br \/>\n4) can be customized through the generation of scripts to address complex requirements<br \/>\n5) is pre-sorted and automatically bulk-loaded for the fastest population possible<br \/>\n6) are defined in batch scripts that have diverse flexibility and can be exported, re-used, and modified as needed<\/p>\n<p><a href=\"http:\/\/www.iri.com\/products\/rowgen\" target=\"_blank\" rel=\"noopener\">IRI RowGen<\/a> v3 is the\u00a0latest release of the world&#8217;s fastest and most robust high-volume\u00a0test data generator for relational databases. RowGen will run from the IRI Workbench GUI built on Eclipse, on the command line, or from batch programs, to produce the quality and quantity of test data necessary to accurately reflect the scope, layouts, and relationships within production databases, and in turn, data warehouses and operational data stores.<\/p>\n<p>RowGen v3&#8217;s new <a href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-generate-db-test-data-2\/\">DB Test Data wizard<\/a>, when launched from the IRI Workbench GUI, guides users through the specification and automation of:<\/p>\n<p><strong>Parsing<\/strong> &#8211; by selecting the schema and tables to populate, RowGen translates the database table descriptions and integrity constraints into .rcl scripts that specify the source structure, dependent sets, and data creation, in the order necessary to populate the tables in the right format, and with all primary keys, unique indexes, and foreign key relationships respected.<\/p>\n<p><strong>Generation <\/strong>&#8211; by building and running the .rcl scripts to create one test file per table that can be bulk loaded, and\/or saved for future use.<\/p>\n<p><strong>Population<\/strong> &#8211; by bulk-loading the target tables in the right order with pre-sorted test data that is structurally and referentially correct.<\/p>\n<p>The process can rapidly load huge test databases and comply with both business rules and data privacy laws. \u00a0The data generated are realistic and robust enough to stress-test database operations and query applications.<\/p>\n<p>RowGen v3 also supports rule- and script-based options to control specific field values and value range distributions that accommodates specific database constraints, and best represent the appearance and occurrence rates of data in production. Users can also graph and visually substantiate that the test values conform to linear, normalized, weighted, or standard distributions.<\/p>\n<p>For more information on RowGen v3, see <a title=\"RowGen product page\" href=\"http:\/\/www.iri.com\/products\/rowgen\" target=\"_blank\" rel=\"noopener\">www.iri.com\/products\/rowgen<\/a>,\u00a0 <a title=\"RowGen GUI product page\" href=\"http:\/\/www.iri.com\/products\/rowgen\/gui\" target=\"_blank\" rel=\"noopener\">www.iri.com\/products\/rowgen\/gui\u00a0<\/a>\u00a0or read\u00a0the other articles in the <a title=\"Test Data Section of the IRI Blog\" href=\"http:\/\/www.iri.com\/blog\/category\/test-data\/\" target=\"_blank\" rel=\"noopener\">Test Data<\/a> section of the IRI blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The value of good test data to DBAs is well known: &#8220;Testing of database-intensive applications has unique challenges that stem from hidden dependencies, subtle differences in data semantics, target database schemes, and implicit business rules. These challenges become even more difficult when the application involves integrated and heterogeneous databases or confidential data. Proper test data<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\" title=\"RowGen v3 Automates Database Test Data Generation\">Read More<\/a><\/div>\n","protected":false},"author":47,"featured_media":4969,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[29,3,2255],"tags":[201,101,196,200,71,106,219,92,850,199,149,195,197,190,49,88,191,169,198,192,194,193],"class_list":["post-3702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-test-data","category-vldb-operations","category-archived-articles","tag-automate-database-test-data-generation","tag-data-warehouse","tag-database-sample-records","tag-db-appliances","tag-eclipse","tag-elt","tag-etl-jobs","tag-gui","tag-iri-workbench","tag-performance-benchmarks-on-database","tag-pii","tag-prototyping-database","tag-real-data-for-testing","tag-realistic-test-data","tag-rowgen","tag-test-data-2","tag-test-data-generation","tag-test-data-warehouse","tag-test-data-wizard","tag-testing-database-operations","tag-testing-elt","tag-testing-etl"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.4 (Yoast SEO v23.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RowGen v3 Automates Database Test Data Generation - IRI<\/title>\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.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RowGen v3 Automates Database Test Data Generation\" \/>\n<meta property=\"og:description\" content=\"The value of good test data to DBAs is well known: &#8220;Testing of database-intensive applications has unique challenges that stem from hidden dependencies, subtle differences in data semantics, target database schemes, and implicit business rules. These challenges become even more difficult when the application involves integrated and heterogeneous databases or confidential data. Proper test dataRead More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2013-12-19T19:30:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-23T19:15:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"435\" \/>\n\t<meta property=\"og:image:height\" content=\"306\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Andrew Allen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrew Allen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\"},\"author\":{\"name\":\"Andrew Allen\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/bdb93d076f9e616c3bea471924ff61db\"},\"headline\":\"RowGen v3 Automates Database Test Data Generation\",\"datePublished\":\"2013-12-19T19:30:11+00:00\",\"dateModified\":\"2026-02-23T19:15:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\"},\"wordCount\":672,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg\",\"keywords\":[\"automate database test data generation\",\"data warehouse\",\"database sample records\",\"DB appliances\",\"Eclipse\",\"ELT\",\"ETL jobs\",\"GUI\",\"IRI Workbench\",\"performance benchmarks on database\",\"PII\",\"prototyping database\",\"real data for testing\",\"realistic test data\",\"RowGen\",\"test data\",\"test data generation\",\"test data warehouse\",\"test data wizard\",\"testing database operations\",\"testing ELT\",\"testing ETL\"],\"articleSection\":[\"Test Data\",\"VLDB\",\"Archived Articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\",\"url\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\",\"name\":\"RowGen v3 Automates Database Test Data Generation - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg\",\"datePublished\":\"2013-12-19T19:30:11+00:00\",\"dateModified\":\"2026-02-23T19:15:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg\",\"width\":435,\"height\":306},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RowGen v3 Automates Database Test Data Generation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.iri.com\/blog\/#website\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"width\":750,\"height\":206,\"caption\":\"IRI\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/bdb93d076f9e616c3bea471924ff61db\",\"name\":\"Andrew Allen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6696bb959eab0d374227fb22694f287a?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6696bb959eab0d374227fb22694f287a?s=96&d=blank&r=g\",\"caption\":\"Andrew Allen\"},\"url\":\"https:\/\/www.iri.com\/blog\/author\/andrewa\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"RowGen v3 Automates Database Test Data Generation - IRI","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.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/","og_locale":"en_US","og_type":"article","og_title":"RowGen v3 Automates Database Test Data Generation","og_description":"The value of good test data to DBAs is well known: &#8220;Testing of database-intensive applications has unique challenges that stem from hidden dependencies, subtle differences in data semantics, target database schemes, and implicit business rules. These challenges become even more difficult when the application involves integrated and heterogeneous databases or confidential data. Proper test dataRead More","og_url":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/","og_site_name":"IRI","article_published_time":"2013-12-19T19:30:11+00:00","article_modified_time":"2026-02-23T19:15:54+00:00","og_image":[{"width":435,"height":306,"url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg","type":"image\/jpeg"}],"author":"Andrew Allen","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andrew Allen","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#article","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/"},"author":{"name":"Andrew Allen","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/bdb93d076f9e616c3bea471924ff61db"},"headline":"RowGen v3 Automates Database Test Data Generation","datePublished":"2013-12-19T19:30:11+00:00","dateModified":"2026-02-23T19:15:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/"},"wordCount":672,"commentCount":0,"publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg","keywords":["automate database test data generation","data warehouse","database sample records","DB appliances","Eclipse","ELT","ETL jobs","GUI","IRI Workbench","performance benchmarks on database","PII","prototyping database","real data for testing","realistic test data","RowGen","test data","test data generation","test data warehouse","test data wizard","testing database operations","testing ELT","testing ETL"],"articleSection":["Test Data","VLDB","Archived Articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/","url":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/","name":"RowGen v3 Automates Database Test Data Generation - IRI","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage"},"image":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg","datePublished":"2013-12-19T19:30:11+00:00","dateModified":"2026-02-23T19:15:54+00:00","breadcrumb":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#primaryimage","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg","width":435,"height":306},{"@type":"BreadcrumbList","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/rowgen-v3-automates-database-test-data-generation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"RowGen v3 Automates Database Test Data Generation"}]},{"@type":"WebSite","@id":"https:\/\/www.iri.com\/blog\/#website","url":"https:\/\/www.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iri.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/www.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","width":750,"height":206,"caption":"IRI"},"image":{"@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/bdb93d076f9e616c3bea471924ff61db","name":"Andrew Allen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6696bb959eab0d374227fb22694f287a?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6696bb959eab0d374227fb22694f287a?s=96&d=blank&r=g","caption":"Andrew Allen"},"url":"https:\/\/www.iri.com\/blog\/author\/andrewa\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2012\/12\/automate-test-data.jpg","_links":{"self":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/3702"}],"collection":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=3702"}],"version-history":[{"count":37,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/3702\/revisions"}],"predecessor-version":[{"id":13933,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/3702\/revisions\/13933"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media\/4969"}],"wp:attachment":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=3702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=3702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=3702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}