{"id":50282,"date":"2019-03-13T07:00:24","date_gmt":"2019-03-13T06:00:24","guid":{"rendered":"http:\/\/smeupnew.it\/magazine\/blog\/test-funzionali-web-up\/"},"modified":"2021-03-30T11:29:23","modified_gmt":"2021-03-30T09:29:23","slug":"test-funzionali-web-up","status":"publish","type":"post","link":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/","title":{"rendered":"Le diverse tipologie di test funzionali del software Web.UP"},"content":{"rendered":"<p>I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l&#8217;obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.<\/p>\n<p>Il software pu\u00f2 essere valutato secondo differenti aspetti e quindi si possono riconoscere diverse tipologie di test, tra le quali si citano ad esempio:<\/p>\n<ul>\n<li>i test di funzionalit\u00e0, i quali puntano a controllare che ogni funzionalit\u00e0 del prodotto sia stata realizzata correttamente<\/li>\n<li>i test di performance, i quali assicurano che il sistema rispetti i tempi di elaborazione e di risposta attesi<\/li>\n<li>i test di usabilit\u00e0, i quali valutano la facilit\u00e0 d\u2019utilizzo del prodotto da parte dell\u2019utente finale<\/li>\n<li>i test di sicurezza, i quali controllano l&#8217;efficacia dei meccanismi di sicurezza del sistema cercando di accedere a funzionalit\u00e0 o aree riservate<\/li>\n<li>i test di compatibilit\u00e0, i quali controllano la compatibilit\u00e0 del sistema con versioni precedenti dello stesso prodotto o con altri software con cui il prodotto deve interagire<\/li>\n<\/ul>\n<p>In questa serie di articoli ci concentreremo sui test funzionali dell&#8217;applicazione Web.UP.<\/p>\n<h2>Test funzionali di unit\u00e0 e test e2e in Web.UP<\/h2>\n<p>All&#8217;interno della categoria dei test di funzionalit\u00e0 si possono riconoscere le seguenti sottocategorie:<\/p>\n<ul>\n<li>test di unit\u00e0: i quali hanno come obiettivo quello di testare una piccola porzione di codice, come una classe o un metodo. In questi casi le dipendenze esterne verso altre classi sono rimosse e sostituite con dei mock o stub ovvero delle classi fittizie con un comportamento predeterminato che simula quello delle classi che sostituiscono.<\/li>\n<li>test di integrazione: i quali testano l&#8217;interazione tra pi\u00f9 componenti (ad esempio tra un database e un layer di accesso al database)<\/li>\n<li>test di sistema: chiamati anche e2e testing (e a volte anche test funzionali) che testano il sistema nel suo complesso<\/li>\n<\/ul>\n<p>Spesso la distinzione tra e2e e test di integrazione viene eliminata e i test di integrazione vengono equiparati ai test e2e. Anche in questo articolo li considereremo sinonimi. Si possono pertanto riconoscere due tipologie di test funzionali in Web.UP: i test unitari e i test e2e.<\/p>\n<p>I test funzionali in Web.UP sono automatici. Il test del software pu\u00f2 essere svolto manualmente o in maniera automatica, ovvero attraverso altro software. I test automatici garantiscono uno sviluppo del software pi\u00f9 sicuro in quanto il pacchetto di test automatici pu\u00f2 essere eseguito in maniera completa ogni volta che si desidera, ad esempio ad ogni modifica del codice, riducendo l&#8217;introduzione di regressioni ed errori.<\/p>\n<p>Attualmente esistono quasi 1000 test automatici dell&#8217;applicazione Web.UP.<\/p>\n<p>Una parte di tali test sono test unitari. Per i test unitari \u00e8 stato utilizzato il framework Junit, associato a Mockito e PowerMock per la creazione di mock e stub.<\/p>\n<p>La stragrande maggioranza dei test automatici sono test e2e, scritti utilizzando il framework Arquillian. Arquillian \u00e8 un framework di integration testing per applicazioni Java EE, quali lo \u00e8 Web.UP. Grazie alle estensioni Drone e Graphene permette l&#8217;integrazione con Selenium Web Driver, un software in grado di simulare automaticamente i click di un utente su un browser. Un e2e test in Web.UP pertanto non \u00e8 altro che una classe Java in cui \u00e8 presente del codice che effettua dei click predeterminati su una versione di test dell&#8217;applicazione in esame. Oltre al codice per simulare i click ciascun test contiene del codice di verifica di una o pi\u00f9 condizioni. Se le condizioni non sono verificate, ad esempio se cliccando su un data combo box non vengono mostrate le voci attese, il test fallir\u00e0.<\/p>\n<p><strong>Chiara Zambelli<br \/>\n<\/strong><em>Responsabile CI\/CD &#8211; smeup<br \/>\n<\/em><a href=\"https:\/\/it.linkedin.com\/in\/chiara-zambelli\" target=\"_blank\" rel=\"noopener\">My LinkedIn Profile<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l&#8217;obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.<\/p>\n","protected":false},"author":1,"featured_media":52024,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7144],"tags":[5843,5844,4700,5845,5846,5847,5848,5849,4431],"class_list":["post-50282","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-erp","tag-e2e-testing","tag-quality-assurance","tag-test-di-performance","tag-test-e2e","tag-test-funzionali","tag-test-funzionali-del-software","tag-test-funzionali-in-web-up","tag-test-unitari","tag-web-up"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Le diverse tipologie di test funzionali del software Web.UP<\/title>\n<meta name=\"description\" content=\"I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l&#039;obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.\" \/>\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.smeup.com\/magazine\/blog\/test-funzionali-web-up\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Le diverse tipologie di test funzionali del software Web.UP\" \/>\n<meta property=\"og:description\" content=\"I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l&#039;obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/\" \/>\n<meta property=\"og:site_name\" content=\"Magazine\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-13T06:00:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-30T09:29:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/03\/test-funzionali-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"smeup\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"smeup\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/\"},\"author\":{\"name\":\"smeup\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"headline\":\"Le diverse tipologie di test funzionali del software Web.UP\",\"datePublished\":\"2019-03-13T06:00:24+00:00\",\"dateModified\":\"2021-03-30T09:29:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/\"},\"wordCount\":618,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/03\\\/test-funzionali-1.jpg\",\"keywords\":[\"e2e testing\",\"quality assurance\",\"test di performance\",\"test e2e\",\"test funzionali\",\"test funzionali del software\",\"test funzionali in Web.UP\",\"test unitari\",\"Web.UP\"],\"articleSection\":[\"ERP\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/\",\"name\":\"Le diverse tipologie di test funzionali del software Web.UP\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/03\\\/test-funzionali-1.jpg\",\"datePublished\":\"2019-03-13T06:00:24+00:00\",\"dateModified\":\"2021-03-30T09:29:23+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"description\":\"I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l'obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/03\\\/test-funzionali-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/03\\\/test-funzionali-1.jpg\",\"width\":1600,\"height\":800,\"caption\":\"smeup test funzionali\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/test-funzionali-web-up\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Le diverse tipologie di test funzionali del software Web.UP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/\",\"name\":\"Magazine\",\"description\":\"smeup\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\",\"name\":\"smeup\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"caption\":\"smeup\"},\"sameAs\":[\"https:\\\/\\\/www.smeup.com\"],\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Le diverse tipologie di test funzionali del software Web.UP","description":"I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l'obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.","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.smeup.com\/magazine\/blog\/test-funzionali-web-up\/","og_locale":"it_IT","og_type":"article","og_title":"Le diverse tipologie di test funzionali del software Web.UP","og_description":"I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l'obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.","og_url":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/","og_site_name":"Magazine","article_published_time":"2019-03-13T06:00:24+00:00","article_modified_time":"2021-03-30T09:29:23+00:00","og_image":[{"width":1600,"height":800,"url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/03\/test-funzionali-1.jpg","type":"image\/jpeg"}],"author":"smeup","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"smeup","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#article","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/"},"author":{"name":"smeup","@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"headline":"Le diverse tipologie di test funzionali del software Web.UP","datePublished":"2019-03-13T06:00:24+00:00","dateModified":"2021-03-30T09:29:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/"},"wordCount":618,"commentCount":0,"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/03\/test-funzionali-1.jpg","keywords":["e2e testing","quality assurance","test di performance","test e2e","test funzionali","test funzionali del software","test funzionali in Web.UP","test unitari","Web.UP"],"articleSection":["ERP"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/","url":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/","name":"Le diverse tipologie di test funzionali del software Web.UP","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#primaryimage"},"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/03\/test-funzionali-1.jpg","datePublished":"2019-03-13T06:00:24+00:00","dateModified":"2021-03-30T09:29:23+00:00","author":{"@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"description":"I test funzionali di un software sono costituiti da un procedimento che fa parte del ciclo di vita del software e in particolare delle procedure di QA (Quality Assurance). Essi hanno l'obiettivo di valutare se il comportamento del software rispetta i requisiti attesi.","breadcrumb":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#primaryimage","url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/03\/test-funzionali-1.jpg","contentUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/03\/test-funzionali-1.jpg","width":1600,"height":800,"caption":"smeup test funzionali"},{"@type":"BreadcrumbList","@id":"https:\/\/www.smeup.com\/magazine\/blog\/test-funzionali-web-up\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.smeup.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Le diverse tipologie di test funzionali del software Web.UP"}]},{"@type":"WebSite","@id":"https:\/\/www.smeup.com\/magazine\/#website","url":"https:\/\/www.smeup.com\/magazine\/","name":"Magazine","description":"smeup","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.smeup.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7","name":"smeup","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","caption":"smeup"},"sameAs":["https:\/\/www.smeup.com"],"url":"https:\/\/www.smeup.com\/magazine\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/comments?post=50282"}],"version-history":[{"count":3,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50282\/revisions"}],"predecessor-version":[{"id":52292,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50282\/revisions\/52292"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media\/52024"}],"wp:attachment":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media?parent=50282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/categories?post=50282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/tags?post=50282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}