{"id":31725,"date":"2018-08-01T09:00:48","date_gmt":"2018-08-01T13:00:48","guid":{"rendered":"https:\/\/sdtimes.com\/?p=31725"},"modified":"2018-07-30T16:50:19","modified_gmt":"2018-07-30T20:50:19","slug":"variations-on-test-driven-development","status":"publish","type":"post","link":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/","title":{"rendered":"Variations on test-driven development"},"content":{"rendered":"<p>Despite the invention of so many different types of software testing methodologies, many in the industry are still sticking to the tried-and-true method of test-driven development, or at least some form of it.<\/p>\n<p>\u201cLike any other methodology, I think there seems to be some pretty significant variations between TDD as it\u2019s described in books and what\u2019s actually practiced,\u201d said Rex Black, president of RBCS, a software, hardware, and system testing consulting group.<\/p>\n<p>According to Black, the textbook definition of TDD is that it is the process of writing small tests that express some sort of functionality that you expect the software to accomplish. You then run that test before writing code to confirm that it fails, then you write software to make the test pass. As soon as the test passes, you move on and repeat that step again, Black explained.<\/p>\n<p>That definition is the one advocated by Kent Beck and Martin Fowler, proponents of TDD. But not everyone who says they do TDD is doing it the textbook way, Black explained.<\/p>\n<p>\u201cI see some of that with clients, but not a lot, to be honest with you,\u201d said Black. \u201cSome of my clients will talk about doing TDD and sometimes, some of the people, some of the developers say that they mean they are doing exactly what Beck and Fowler and some of the other advocates of TDD recognize as TDD. A lot of the time, they\u2019re doing things a little differently.\u201d<\/p>\n<p>According to Black, another one of the variations in definition has to do with the size of the test. In Beck\u2019s description of how TDD should work, the tests are very, very small. But often what people do is write a test for a number of different functions all at once. \u201cI think what Beck and Fowler would say if they saw that would be \u2018no, that\u2019s not right. You should break it down into single tests or steps and write the tests and the code step-by-step,\u2019\u201d Black said.<\/p>\n<p>Arthur Hicken, chief evangelist at Parasoft, explained that while TDD is often interpreted as code-based unit testing, it is also sometimes viewed as something akin to a service API in that you have something that does a service and you have a definition file. \u201cBefore you ever write code, you write this definition of what it\u2019s supposed to do, and then you can use tools against that definition to instantly generate tests,\u201d said Hicken.<\/p>\n<p>Another variant that gets confused with true TDD is people who write unit tests after they write the code.<\/p>\n<p>Even if people are mislabeling something as TDD when it is not, maybe that\u2019s not such a bad thing, Black explained. \u201cFrom my point of view if I see developers producing automated unit tests and achieving 100 percent state and branch coverage and including those unit tests in their automated build and deployment systems, then I\u2019m happy,\u201d said Black.<\/p>\n<p>Hicken sees TDD as a broad spectrum. The pure side of the spectrum is where people are coming up with requirements first, coming up with a unit test, writing the code, and writing exactly the right amount of code, he explained. On the other side of the spectrum are people who write unit tests at the same time as writing the code, said Hicken.<\/p>\n<p>At the pure end of the spectrum, one of the benefits TDD provides is that it prevents people from over-writing code. \u201cWhen you write code you\u2019re supposed to write exactly how much code you need to pass the test and not a single line more,\u201d said Hicken. \u201cAnd so it keeps people from polishing the code or other things like that. You write what you\u2019re supposed to and you move on.\u201d<\/p>\n<p>According to Black, developers can go back in and polish the code after it has been written and the test has passed.<\/p>\n<p>According to Hicken, another benefit of TDD is that it forces developers to think about the outcome before developing. The code ends up being more maintainable and testable because they are thinking about what is supposed to happen when writing the test. \u201cIt kind of changes the mindset of people because they have the end in mind when they\u2019re programming,\u201d he said.<\/p>\n<p>Hicken explained that the testing methodology TDD is most often compared to is behavior-driven development. The main difference is that TDD is focused on developers, while BDD is focused on the testers and the requirements.<\/p>\n<p>With TDD, the main question should be whether the code was built right, whereas with BDD the question is whether they built the right thing, Hicken explained.<\/p>\n<p>Even as more companies seem to place their focus on building for their users, which aligns more closely with BDD, TDD is not going away. \u201cI would say that almost every client I\u2019ve encountered this year that was interested in the one, was also doing the other,\u201d said Hickens.<\/p>\n<p>Hicken explained that companies may do BDD first if they are finding that they\u2019re not building what people want or not getting functionality fast enough, but he does not expect people to throw away one for the other.<\/p>\n<p>Like any new methodology or technology being brought into an organization, it needs to have buy-in from the top in order to work, Hicken explained. It\u2019s crucial to have management on board and to be able to train people to write good unit tests. \u201cI\u2019d argue that over the long haul, the cost of creating a unit test is much less than the cost of maintaining a unit test,\u201d Hicken said.<\/p>\n<p>\u201cIt\u2019s easy to create a unit test, but to create one that really answers the question, \u2018what does this code do? If the test passes, what does it mean? If it fails, what does it mean? And if it fails, what went wrong?\u2019\u201d Hicken said. Training developers to be able to answer these questions is key.<\/p>\n<p><b>Arthur Hicken, chief evangelist at Parasoft, details the benefits that Parasoft brings to test-driven development<br \/>\n<\/b><\/p>\n<p>\u201cThere are couple of big areas that we help at. And at the purest unit test level, we\u2019re looking at code unit testing. If people are doing new code, they won\u2019t use us as much as if they\u2019re looking at legacy code. Suddenly if I\u2019ve got a TDD initiative, I\u2019ve got some code that\u2019s new and I\u2019ve wrote the test first, I can execute those tests inside of Parasoft\u2019s environment. But with that legacy code, we can use our unit test assistant to help create\u2014very rapidly\u2014unit tests that are actually good, maintainable, have a good set of stubs and mocks around them, are very easy to execute so they\u2019re meaningful and maintainable all at the same time. Now again as I mentioned earlier, I like to think about the service API as a unit, and in that case we can take our SOAtest product and read the definition and quickly produce a sequence of tests without any effort at all really. And then the developers can just take that and start coding until the APIs work. I would argue that as an API programmer, API is probably a more meaningful unit than a random individual file is. Those are probably the biggest benefits that we have there.\u201d<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Despite the invention of so many different types of software testing methodologies, many in the industry are still sticking to the tried-and-true method of test-driven development, or at least some form of it. \u201cLike any other methodology, I think there seems to be some pretty significant variations between TDD as it\u2019s described in books and  &hellip; <a class=\"read-more\" href=\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\">continue reading<\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":752,"featured_media":31726,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"cybocfi_hide_featured_image":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[2398,1],"tags":[10699,3028,4890,2690,4],"coauthors":[11687],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Variations on test-driven development - SD Times<\/title>\n<meta name=\"description\" content=\"A look into the definitions of test-driven development and why it is important in software testing.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Variations on test-driven development - SD Times\" \/>\n<meta property=\"og:description\" content=\"A look into the definitions of test-driven development and why it is important in software testing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\" \/>\n<meta property=\"og:site_name\" content=\"SD Times\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SDTimesD2\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-01T13:00:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-07-30T20:50:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"660\" \/>\n\t<meta property=\"og:image:height\" content=\"371\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jenna Barron\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sdtimes\" \/>\n<meta name=\"twitter:site\" content=\"@sdtimes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jenna Barron\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\"},\"author\":{\"name\":\"Jenna Barron\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/person\/f2524e55ae19da07ea3613577da9f786\"},\"headline\":\"Variations on test-driven development\",\"datePublished\":\"2018-08-01T13:00:48+00:00\",\"dateModified\":\"2018-07-30T20:50:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\"},\"wordCount\":1231,\"publisher\":{\"@id\":\"https:\/\/sdtimes.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg\",\"keywords\":[\"BDD\",\"behavior-driven development\",\"TDD\",\"Test-Driven Development\",\"testing\"],\"articleSection\":[\"Buyers Guide\",\"Latest News\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\",\"url\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\",\"name\":\"Variations on test-driven development - SD Times\",\"isPartOf\":{\"@id\":\"https:\/\/sdtimes.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg\",\"datePublished\":\"2018-08-01T13:00:48+00:00\",\"dateModified\":\"2018-07-30T20:50:19+00:00\",\"description\":\"A look into the definitions of test-driven development and why it is important in software testing.\",\"breadcrumb\":{\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage\",\"url\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg\",\"contentUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg\",\"width\":660,\"height\":371,\"caption\":\"School Quiz - Stock Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sdtimes.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Variations on test-driven development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sdtimes.com\/#website\",\"url\":\"https:\/\/sdtimes.com\/\",\"name\":\"SD Times\",\"description\":\"Software Development News\",\"publisher\":{\"@id\":\"https:\/\/sdtimes.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sdtimes.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sdtimes.com\/#organization\",\"name\":\"SD Times\",\"url\":\"https:\/\/sdtimes.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png\",\"contentUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png\",\"width\":225,\"height\":90,\"caption\":\"SD Times\"},\"image\":{\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SDTimesD2\",\"https:\/\/x.com\/sdtimes\",\"https:\/\/www.linkedin.com\/company\/sdtimes\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/person\/f2524e55ae19da07ea3613577da9f786\",\"name\":\"Jenna Barron\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/person\/image\/b4be3423b187642936e62f121111345e\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b128943929626cdcafccbac86bd306f9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b128943929626cdcafccbac86bd306f9?s=96&d=mm&r=g\",\"caption\":\"Jenna Barron\"},\"description\":\"Jenna Barron is News Editor of SD Times.\",\"url\":\"https:\/\/sdtimes.com\/author\/jennifer-sargent\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Variations on test-driven development - SD Times","description":"A look into the definitions of test-driven development and why it is important in software testing.","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:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/","og_locale":"en_US","og_type":"article","og_title":"Variations on test-driven development - SD Times","og_description":"A look into the definitions of test-driven development and why it is important in software testing.","og_url":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/","og_site_name":"SD Times","article_publisher":"https:\/\/www.facebook.com\/SDTimesD2","article_published_time":"2018-08-01T13:00:48+00:00","article_modified_time":"2018-07-30T20:50:19+00:00","og_image":[{"width":660,"height":371,"url":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg","type":"image\/jpeg"}],"author":"Jenna Barron","twitter_card":"summary_large_image","twitter_creator":"@sdtimes","twitter_site":"@sdtimes","twitter_misc":{"Written by":"Jenna Barron","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#article","isPartOf":{"@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/"},"author":{"name":"Jenna Barron","@id":"https:\/\/sdtimes.com\/#\/schema\/person\/f2524e55ae19da07ea3613577da9f786"},"headline":"Variations on test-driven development","datePublished":"2018-08-01T13:00:48+00:00","dateModified":"2018-07-30T20:50:19+00:00","mainEntityOfPage":{"@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/"},"wordCount":1231,"publisher":{"@id":"https:\/\/sdtimes.com\/#organization"},"image":{"@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage"},"thumbnailUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg","keywords":["BDD","behavior-driven development","TDD","Test-Driven Development","testing"],"articleSection":["Buyers Guide","Latest News"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/","url":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/","name":"Variations on test-driven development - SD Times","isPartOf":{"@id":"https:\/\/sdtimes.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage"},"image":{"@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage"},"thumbnailUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg","datePublished":"2018-08-01T13:00:48+00:00","dateModified":"2018-07-30T20:50:19+00:00","description":"A look into the definitions of test-driven development and why it is important in software testing.","breadcrumb":{"@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#primaryimage","url":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg","contentUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/07\/BGscantron.jpg","width":660,"height":371,"caption":"School Quiz - Stock Image"},{"@type":"BreadcrumbList","@id":"https:\/\/sdtimes.com\/test\/variations-on-test-driven-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sdtimes.com\/"},{"@type":"ListItem","position":2,"name":"Variations on test-driven development"}]},{"@type":"WebSite","@id":"https:\/\/sdtimes.com\/#website","url":"https:\/\/sdtimes.com\/","name":"SD Times","description":"Software Development News","publisher":{"@id":"https:\/\/sdtimes.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sdtimes.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/sdtimes.com\/#organization","name":"SD Times","url":"https:\/\/sdtimes.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/","url":"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png","contentUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png","width":225,"height":90,"caption":"SD Times"},"image":{"@id":"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SDTimesD2","https:\/\/x.com\/sdtimes","https:\/\/www.linkedin.com\/company\/sdtimes\/"]},{"@type":"Person","@id":"https:\/\/sdtimes.com\/#\/schema\/person\/f2524e55ae19da07ea3613577da9f786","name":"Jenna Barron","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sdtimes.com\/#\/schema\/person\/image\/b4be3423b187642936e62f121111345e","url":"https:\/\/secure.gravatar.com\/avatar\/b128943929626cdcafccbac86bd306f9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b128943929626cdcafccbac86bd306f9?s=96&d=mm&r=g","caption":"Jenna Barron"},"description":"Jenna Barron is News Editor of SD Times.","url":"https:\/\/sdtimes.com\/author\/jennifer-sargent\/"}]}},"_links":{"self":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts\/31725"}],"collection":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/users\/752"}],"replies":[{"embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/comments?post=31725"}],"version-history":[{"count":1,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts\/31725\/revisions"}],"predecessor-version":[{"id":31727,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts\/31725\/revisions\/31727"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/media\/31726"}],"wp:attachment":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/media?parent=31725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/categories?post=31725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/tags?post=31725"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/coauthors?post=31725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}