{"id":1395,"date":"2016-06-24T12:34:36","date_gmt":"2016-06-24T12:34:36","guid":{"rendered":"http:\/\/www.gallop.net\/blog\/?p=1395"},"modified":"2022-07-20T17:53:12","modified_gmt":"2022-07-20T12:23:12","slug":"5-approaches-for-automating-microservices-testing","status":"publish","type":"post","link":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/","title":{"rendered":"5 Approaches for Automating Microservices Testing"},"content":{"rendered":"

 <\/p>\n

Microservices is not a new concept. It has been in use for more than a decade now by giants such as Amazon, Google, and Facebook. When you search for something on Google, to retrieve the relevant results, Google calls out to almost 70 microservices.<\/p>\n

So what really is a Microservice?<\/strong><\/span><\/p>\n

“Microservices” is a yet another term added to the already crowded streets of software architecture. The microservice architectural style involves developing single applications that can work together as a suite of small services, each running in its individual process and communicating with lightweight mechanisms such as an HTTP resource API. These services require bare minimum centralized management, use different data storage technologies, and can be written in different programming languages. These services, built around business capabilities, can also be deployed independently by machinery that supports fully automated deployment.<\/p>\n

SOA vs. Microservices<\/span><\/strong><\/p>\n

The typical service oriented architecture (SOA) model usually has dependent enterprise service buses (ESBs), with microservices using faster messaging mechanisms. While SOA focuses on imperative programming, the microservices architecture uses a programming style that focuses on a responsive-actor as its base. While SOA models usually have an outsized RDBMS, microservices frequently use databases such as NoSQL or micro-SQL that can be connected to conventional databases. That said, the real difference lies in the architecture methods that are used for creating an integrated set of services.<\/p>\n

The practices that are used for the microservices architecture have been created based on the practices followed by developers for creating software applications for large enterprise organizations. The experience of developers comes in very handy to understand what are the expectations of today\u2019s end users, and helps create a consistent, yet dynamic experience across a wide range of devices. Cloud-based applications that are accessible, adaptable, modular, and scalable are in high demand. This has led many developers to change their approach.<\/p>\n

Testing Microservices<\/strong><\/span>
\nA microservices architecture consists of focused, small services that together create a complete application or task. Every instance of a microservice represents a single responsibility within your application. The real advantage is that, these services are independent of one another, which makes them independently deployable and testable.<\/p>\n

Let\u2019s look at some approaches for how to go about automated testing<\/a>.<\/p>\n

1. Unit Testing<\/strong><\/span>
\nThe scope of unit testing is internal to the service. In terms of volume of tests, they are the largest in number. Unit tests should ideally be automated, depending on the development language and the framework within the service.<\/p>\n

2. Contract Testing<\/strong><\/span>
\nContract testing should treat each service as a black box and all the services must be called independently and their responses must be verified. Any dependencies of the service must be stubs that allow the service to function but do not interact with any other services. This helps avoid any complicated behavior that may be caused by external calls and turn the focus on performing the tests on a single service.<\/p>\n

A \u201ccontract\u201d is how a service call (where a specific result or output is expected for certain inputs) is referred to by the consumer-contract testing. Every consumer must receive the same results from a service over time, even if the service changes. There should be the flexibility to add more functionality as required to the Responses later on. However, these additions must not break the service functionality. If the service is designed in this manner, it will stay robust over longer durations and the consumers will not be required to modify their code to take into account the changes made later on.<\/p>\n

3. Integration Testing<\/strong><\/span>
\nVerification of the services that have been individually tested must be performed. This critical part of microservice architecture testing relies on the proper functioning of inter-service communications. Service calls must be made with integration to external services, including error and success cases. Integration testing thus validates that the system is working together seamlessly and that the dependencies between the services are present as expected.<\/p>\n

4. End-To-End Testing<\/strong><\/span>
\nEnd-to-end testing verifies that the entire process flows work correctly, including all service and DB integration. Thorough testing of operations that affect multiple services ensures that the system works together as a whole and satisfies all requirements. Frameworks like JBehave help automate Functional testing by taking user stories and verifying that the system behaves as expected.<\/p>\n

5. UI\/Functional Testing<\/strong><\/span>
\nUser interface testing is the testing of the highest order as it tests the system as an end-user would use it. Testing of this level must feel like a user trying to interact with the system. All the databases, interfaces, internal and third-party services must work together seamlessly to produce the expected results.<\/p>\n

At Cigniti<\/a>, we cover all the bases and ensure that effective testing is performed by the right set of experts. We ensure the best quality for your product and that your customers are happy. Our tool agnostic test automation frameworks ensure accelerated testing so that you get higher productivity and an enviable time to market<\/p>\n\n\n\n
\"PeterAbout the Author<\/strong>:\u00a0Peter Anand Shah is an Assistant Manager at Gallop Solutions. He is a part of the Enterprise Solutions Group which primarily helps convert Leads to Deals by devising the best solutions. He has an overall experience of 10+ years having taken up the roles of a Kronos Consultant and Test Manager in his past engagements. Off work, Peter is a stand-up-comedian.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"

  Microservices is not a new concept. It has been in use for more than a decade now by giants such as Amazon, Google, and Facebook. When you search for something on Google, to retrieve the relevant results, Google calls out to almost 70 microservices. So what really is a Microservice? “Microservices” is a yet […]<\/p>\n","protected":false},"author":2,"featured_media":13016,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[735,2337],"tags":[226,411,99,413,1241,1242,1243,4189,1304,1545,1745,435],"ppma_author":[3736],"yoast_head":"\n5 Approaches for Automating Microservices Testing<\/title>\n<meta name=\"description\" content=\"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices 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:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"5 Approaches for Automating Microservices Testing\" \/>\n<meta property=\"og:description\" content=\"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices testing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog by Cigniti Technologies\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cignititechnologies\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/cignititechnologies\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-24T12:34:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-20T12:23:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/5-Approaches-for-Automating-Microservices-Testing.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"833\" \/>\n\t<meta property=\"og:image:height\" content=\"438\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cigniti Technologies\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"5 Approaches for Automating Microservices Testing\" \/>\n<meta name=\"twitter:description\" content=\"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices testing.\" \/>\n<meta name=\"twitter:creator\" content=\"@cigniti\" \/>\n<meta name=\"twitter:site\" content=\"@cigniti\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cigniti Technologies\" \/>\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.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/\"},\"author\":{\"name\":\"Cigniti Technologies\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/#\/schema\/person\/a965d3fab27015d7ad73effae1854c56\"},\"headline\":\"5 Approaches for Automating Microservices Testing\",\"datePublished\":\"2016-06-24T12:34:36+00:00\",\"dateModified\":\"2022-07-20T12:23:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/\"},\"wordCount\":889,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.cigniti.com\/blog\/#organization\"},\"keywords\":[\"Automated Testing\",\"end-to-end testing\",\"Functional Testing\",\"Integration testing\",\"microservice\",\"microservices architecture\",\"microservices testing\",\"microservices testing tools\",\"NoSQL\",\"SOA\",\"UI Testing\",\"Unit testing\"],\"articleSection\":[\"DevOps Testing\",\"Microservices Testing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/\",\"url\":\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/\",\"name\":\"5 Approaches for Automating Microservices Testing\",\"isPartOf\":{\"@id\":\"https:\/\/www.cigniti.com\/blog\/#website\"},\"datePublished\":\"2016-06-24T12:34:36+00:00\",\"dateModified\":\"2022-07-20T12:23:12+00:00\",\"description\":\"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices testing.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cigniti.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"5 Approaches for Automating Microservices Testing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/#website\",\"url\":\"https:\/\/www.cigniti.com\/blog\/\",\"name\":\"Blog by Cigniti Technologies\",\"description\":\"Digital Assurance & Digital Engineering Insights | Cigniti\",\"publisher\":{\"@id\":\"https:\/\/www.cigniti.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cigniti.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/#organization\",\"name\":\"Cigniti Technologies\",\"url\":\"https:\/\/www.cigniti.com\/blog\/\",\"sameAs\":[\"https:\/\/instagram.com\/cigniti\/\",\"https:\/\/www.linkedin.com\/company\/cigniti-inc\",\"https:\/\/www.pinterest.com\/cigniti\/\",\"https:\/\/www.youtube.com\/user\/Cignititechnologies\",\"https:\/\/www.facebook.com\/cignititechnologies\",\"https:\/\/twitter.com\/cigniti\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/Cigniti-logo.jpg\",\"contentUrl\":\"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/Cigniti-logo.jpg\",\"width\":500,\"height\":500,\"caption\":\"Cigniti Technologies\"},\"image\":{\"@id\":\"https:\/\/www.cigniti.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/#\/schema\/person\/a965d3fab27015d7ad73effae1854c56\",\"name\":\"Cigniti Technologies\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.cigniti.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/120X120-1.png\",\"contentUrl\":\"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/120X120-1.png\",\"caption\":\"Cigniti Technologies\"},\"description\":\"Cigniti is a Global Leader in Independent Quality Engineering & Software Testing Services with offices in US, UK, India, Australia, and Canada.\",\"sameAs\":[\"http:\/\/www.cigniti.com\/\",\"https:\/\/www.facebook.com\/cignititechnologies\",\"https:\/\/www.linkedin.com\/company\/cigniti-inc\",\"https:\/\/www.pinterest.com\/cigniti\",\"https:\/\/twitter.com\/cigniti\",\"https:\/\/www.youtube.com\/user\/Cignititechnologies\"],\"url\":\"https:\/\/www.cigniti.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"5 Approaches for Automating Microservices Testing","description":"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices 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:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/","og_locale":"en_US","og_type":"article","og_title":"5 Approaches for Automating Microservices Testing","og_description":"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices testing.","og_url":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/","og_site_name":"Blog by Cigniti Technologies","article_publisher":"https:\/\/www.facebook.com\/cignititechnologies","article_author":"https:\/\/www.facebook.com\/cignititechnologies","article_published_time":"2016-06-24T12:34:36+00:00","article_modified_time":"2022-07-20T12:23:12+00:00","og_image":[{"width":833,"height":438,"url":"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/5-Approaches-for-Automating-Microservices-Testing.jpg","type":"image\/jpeg"}],"author":"Cigniti Technologies","twitter_card":"summary_large_image","twitter_title":"5 Approaches for Automating Microservices Testing","twitter_description":"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices testing.","twitter_creator":"@cigniti","twitter_site":"@cigniti","twitter_misc":{"Written by":"Cigniti Technologies","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#article","isPartOf":{"@id":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/"},"author":{"name":"Cigniti Technologies","@id":"https:\/\/www.cigniti.com\/blog\/#\/schema\/person\/a965d3fab27015d7ad73effae1854c56"},"headline":"5 Approaches for Automating Microservices Testing","datePublished":"2016-06-24T12:34:36+00:00","dateModified":"2022-07-20T12:23:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/"},"wordCount":889,"commentCount":1,"publisher":{"@id":"https:\/\/www.cigniti.com\/blog\/#organization"},"keywords":["Automated Testing","end-to-end testing","Functional Testing","Integration testing","microservice","microservices architecture","microservices testing","microservices testing tools","NoSQL","SOA","UI Testing","Unit testing"],"articleSection":["DevOps Testing","Microservices Testing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/","url":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/","name":"5 Approaches for Automating Microservices Testing","isPartOf":{"@id":"https:\/\/www.cigniti.com\/blog\/#website"},"datePublished":"2016-06-24T12:34:36+00:00","dateModified":"2022-07-20T12:23:12+00:00","description":"Every microservice instance is independently deployable and testable. This blog introduces some approaches for how to go about automating microservices testing.","breadcrumb":{"@id":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.cigniti.com\/blog\/5-approaches-for-automating-microservices-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cigniti.com\/blog\/"},{"@type":"ListItem","position":2,"name":"5 Approaches for Automating Microservices Testing"}]},{"@type":"WebSite","@id":"https:\/\/www.cigniti.com\/blog\/#website","url":"https:\/\/www.cigniti.com\/blog\/","name":"Blog by Cigniti Technologies","description":"Digital Assurance & Digital Engineering Insights | Cigniti","publisher":{"@id":"https:\/\/www.cigniti.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cigniti.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.cigniti.com\/blog\/#organization","name":"Cigniti Technologies","url":"https:\/\/www.cigniti.com\/blog\/","sameAs":["https:\/\/instagram.com\/cigniti\/","https:\/\/www.linkedin.com\/company\/cigniti-inc","https:\/\/www.pinterest.com\/cigniti\/","https:\/\/www.youtube.com\/user\/Cignititechnologies","https:\/\/www.facebook.com\/cignititechnologies","https:\/\/twitter.com\/cigniti"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cigniti.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/Cigniti-logo.jpg","contentUrl":"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/Cigniti-logo.jpg","width":500,"height":500,"caption":"Cigniti Technologies"},"image":{"@id":"https:\/\/www.cigniti.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.cigniti.com\/blog\/#\/schema\/person\/a965d3fab27015d7ad73effae1854c56","name":"Cigniti Technologies","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cigniti.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/120X120-1.png","contentUrl":"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/120X120-1.png","caption":"Cigniti Technologies"},"description":"Cigniti is a Global Leader in Independent Quality Engineering & Software Testing Services with offices in US, UK, India, Australia, and Canada.","sameAs":["http:\/\/www.cigniti.com\/","https:\/\/www.facebook.com\/cignititechnologies","https:\/\/www.linkedin.com\/company\/cigniti-inc","https:\/\/www.pinterest.com\/cigniti","https:\/\/twitter.com\/cigniti","https:\/\/www.youtube.com\/user\/Cignititechnologies"],"url":"https:\/\/www.cigniti.com\/blog\/author\/admin\/"}]}},"authors":[{"term_id":3736,"user_id":2,"is_guest":0,"slug":"admin","display_name":"Cigniti Technologies","avatar_url":{"url":"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/120X120-1.png","url2x":"https:\/\/www.cigniti.com\/blog\/wp-content\/uploads\/120X120-1.png"},"first_name":"Cigniti","last_name":"Technologies","user_url":"http:\/\/www.cigniti.com\/","description":"Cigniti is the world\u2019s leading AI & IP-led Digital Assurance and Digital Engineering services company with offices in India, the USA, Canada, the UK, the UAE, Australia, South Africa, the Czech Republic, and Singapore. We help companies accelerate their digital transformation journey across various stages of digital adoption and help them achieve market leadership."}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/posts\/1395"}],"collection":[{"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/comments?post=1395"}],"version-history":[{"count":0,"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/posts\/1395\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/media\/13016"}],"wp:attachment":[{"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/media?parent=1395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/categories?post=1395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/tags?post=1395"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.cigniti.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=1395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}