{"id":312,"date":"2017-05-13T17:09:06","date_gmt":"2017-05-13T17:09:06","guid":{"rendered":"http:\/\/imalogic.com\/blog\/?p=312"},"modified":"2017-05-14T08:28:20","modified_gmt":"2017-05-14T08:28:20","slug":"mise-en-place-dun-plan-de-test","status":"publish","type":"post","link":"https:\/\/imalogic.com\/blog\/2017\/05\/13\/mise-en-place-dun-plan-de-test\/","title":{"rendered":"Mise en place d&#8217;un plan de test"},"content":{"rendered":"<body><p><\/p>\n<h1><a href=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"315\" data-permalink=\"https:\/\/imalogic.com\/blog\/2017\/05\/13\/mise-en-place-dun-plan-de-test\/test-plan1\/\" data-orig-file=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?fit=1280%2C960&amp;ssl=1\" data-orig-size=\"1280,960\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"test-plan1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?fit=810%2C608&amp;ssl=1\" class=\"size-medium wp-image-315 alignleft\" src=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?resize=300%2C225&#038;ssl=1\" alt=\"\" width=\"300\" height=\"225\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?resize=1200%2C900&amp;ssl=1 1200w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Introduction<\/h1>\n<p>Il m\u2019a souvent \u00e9t\u00e9 demand\u00e9 de \u201ctester\u201d un application ou un projet durant mes missions de consultance.<\/p>\n<p>J\u2019ai rarement eu l\u2019occasion de recevoir un plan de test de la part du client.<\/p>\n<p>Aussi je me suis d\u00e9cid\u00e9 \u00e0 \u00e9crire ce petit post. Celui-ci a pour but de d\u00e9finir les diff\u00e9rents \u00e9l\u00e9ments n\u00e9cessaires \u00e0 la mise en place d\u2019un plan de test.<\/p>\n<p>Ces \u00e9l\u00e9ments se composent d\u2019exigence \u00e0 tester, de strat\u00e9gies \u00e0 appliquer pour les tester incluant les types de test \u00e0 impl\u00e9menter, ainsi que les outils \u00e0 utiliser et les d\u00e9livrables \u00e0 recevoir.<\/p>\n<ul>\n<li><span lang=\"fr-BE\">Les strat\u00e9gies de test \u00e0 employer sont essentiellement bas\u00e9es sur des tests fonctionnels de haut niveau. Et des tests fonctionnels unitaires (bas-niveau). <\/span><\/li>\n<li>Les biens livrables pour les tests sont\u00a0: un rapport d\u00e9crivant la mise en place et le d\u00e9roulement des tests et les r\u00e9sultats qui doivent \u00eatre obtenus.<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>Dans la pratique on retrouvera dans un plan de test une structure suivante :<\/p>\n<ul>\n<li>Introduction<\/li>\n<li><span lang=\"fr-CA\">Exigences \u00e0 tester<\/span><\/li>\n<li><span lang=\"fr-CA\">Strat\u00e9gie de tests<\/span><span lang=\"\">\u00a0<\/span><\/li>\n<li><span lang=\"fr-CA\">Types de tests<\/span><\/li>\n<li><span lang=\"fr-BE\">Liste des tests propos\u00e9s<\/span>\n<ul>\n<li><span lang=\"fr-CA\">Tests fonctionnels\u00a0<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests d\u2019interface utilisateur<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests de donn\u00e9es et d\u2019int\u00e9grit\u00e9 de base de donn\u00e9es\u00a0<\/span><\/li>\n<li><span lang=\"fr-CA\">Profilage de performance<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests de charge\u00a0<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests de stress<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests de volum\u00e9trie<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests de s\u00e9curit\u00e9 et de contr\u00f4le d\u2019acc\u00e8s<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests de basculement et de r\u00e9cup\u00e9ration<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests de configuration<\/span><\/li>\n<li><span lang=\"fr-CA\">Tests d\u2019installation<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h1>Exigence \u00e0 tester<\/h1>\n<p><span lang=\"fr-CA\">La liste suivante identifie les items, cas d\u2019utilisation, exigences fonctionnelles et exigences non-fonctionnelles, qui ont \u00e9t\u00e9 d\u00e9sign\u00e9s comme cibles de test. Cette liste repr\u00e9sente ce qui sera test\u00e9.<\/span><\/p>\n<p><span lang=\"fr-CA\">On \u00e9num\u00e9rera les principales exigences \u00e0 tester.<\/span><\/p>\n<h1 lang=\"fr-BE\">Strat\u00e9gie de tests<\/h1>\n<p><span lang=\"fr-CA\">La strat\u00e9gie de tests pr\u00e9sente l\u2019approche recommand\u00e9e d\u2019\u00e9valuation des cibles des tests. La pr\u00e9c\u00e9dente section, Exigences \u00e0 tester, d\u00e9crit de qui sera test\u00e9 et cette section comment cela sera test\u00e9.<\/span><\/p>\n<p lang=\"fr-CA\">Fournir, pour chaque type de test, une description du test et comment il sera impl\u00e9ment\u00e9 et ex\u00e9cut\u00e9.<\/p>\n<p lang=\"fr-CA\">Lorsque les tests ne sont pas impl\u00e9ment\u00e9s et ex\u00e9cut\u00e9s, expliquer en une phrase pourquoi.<\/p>\n<p><span lang=\"fr-CA\">La strat\u00e9gie de tests consiste d\u2019abord \u00e0 identifier les techniques de tests et \u00e0 identifier les crit\u00e8res de compl\u00e9tion des tests.<\/span><\/p>\n<p><span lang=\"fr-CA\">Les tests doivent \u00eatre ex\u00e9cut\u00e9s dans des environnements s\u00e9curis\u00e9s avec des donn\u00e9es connues et contr\u00f4l\u00e9es.<\/span><\/p>\n<h1 lang=\"fr-BE\">Type de tests<\/h1>\n<p lang=\"fr-BE\">Ce graphique repr\u00e9sente le type de test que l\u2019on peut retrouver lors d\u2019un d\u00e9veloppement logiciel. Un test sera donc d\u00e9finit par son niveau de d\u00e9tail, son niveau d\u2019accessibilit\u00e9 et ses caract\u00e9ristiques.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"313\" data-permalink=\"https:\/\/imalogic.com\/blog\/2017\/05\/13\/mise-en-place-dun-plan-de-test\/testplan\/\" data-orig-file=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?fit=1273%2C865&amp;ssl=1\" data-orig-size=\"1273,865\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"testplan\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?fit=810%2C551&amp;ssl=1\" class=\"alignnone wp-image-313 \" src=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?resize=810%2C551&#038;ssl=1\" alt=\"\" width=\"810\" height=\"551\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?resize=1024%2C696&amp;ssl=1 1024w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?resize=300%2C204&amp;ssl=1 300w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?resize=768%2C522&amp;ssl=1 768w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?resize=1200%2C815&amp;ssl=1 1200w, https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/testplan.jpg?w=1273&amp;ssl=1 1273w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/a><\/p>\n<p>\u00a0<\/p>\n<h1>Les tests fonctionnels<\/h1>\n<p><span lang=\"fr-CA\">Les tests fonctionnels portent sur les exigences fonctionnelles qui peuvent \u00eatre retrac\u00e9es dans les cas d\u2019utilisation ou les fonctions d\u2019affaire et dans les r\u00e8gles d\u2019affaire. Le but de ces tests est de v\u00e9rifier la validit\u00e9 des donn\u00e9es, de leur traitement et de leur r\u00e9cup\u00e9ration ainsi que des r\u00e8gles d\u2019affaire. Ce type d\u2019\u00e9valuation repose sur la technique de la bo\u00eete noire, c\u2019est-\u00e0-dire, une v\u00e9rification de l\u2019application et de ses processus internes en l\u2019utilisant avec l\u2019interface utilisateur et en en analysant les r\u00e9sultats. Voici un exemple de strat\u00e9gie propos\u00e9e<\/span><\/p>\n<h1>Les tests d\u2019interfaces utilisateur<\/h1>\n<p><span lang=\"fr-CA\">Les tests d\u2019interfaces utilisateur \u00e9valuent l\u2019interaction de l\u2019utilisateur avec le logiciel. Le but de ces tests est de v\u00e9rifier que l\u2019interface utilisateur donne l\u2019acc\u00e8s appropri\u00e9 aux fonctions des cibles de test. De plus, ces tests permettent de v\u00e9rifier que les objets de l\u2019interface utilisateur se comporte tel qu\u2019attendu et qu\u2019ils sont conformes aux normes du client ou de l\u2019industrie.<\/span><\/p>\n<h1><span lang=\"fr-CA\">Tests de donn\u00e9es et d\u2019int\u00e9grit\u00e9 de base de donn\u00e9es<\/span><\/h1>\n<p><span lang=\"fr-CA\">Les bases de donn\u00e9es et les processus de base de donn\u00e9es doivent \u00eatre test\u00e9s comme sous-syst\u00e8mes \u00e0 l\u2019int\u00e9rieur du projet. Ces sous-syst\u00e8mes doivent \u00eatre test\u00e9s sans utiliser l\u2019interface utilisateur comme interface des donn\u00e9es. L\u2019identification des outils et techniques pour effectuer les tests repose sur la nature du syst\u00e8me de gestion de base de donn\u00e9es (SGBD).<\/span><\/p>\n<h1><span lang=\"fr-CA\">Profilage de performance<\/span><\/h1>\n<p><span lang=\"fr-CA\">Le profilage de la performance est un test de performance o\u00f9 les temps de r\u00e9ponses, les taux de transaction et les autres exigences temporelles sont mesur\u00e9es et \u00e9valu\u00e9es. Le but du profilage de performance est de v\u00e9rifier si les exigences de performances ont \u00e9t\u00e9 atteintes. Il est impl\u00e9ment\u00e9 et ex\u00e9cut\u00e9 profiler et ajuster la performance des cibles de test en fonction de conditions comme la charge de travail et les configurations mat\u00e9rielles.<\/span><\/p>\n<h1><span lang=\"fr-CA\">Tests de charge<\/span><\/h1>\n<p><span lang=\"fr-CA\">Les tests de charges sont des tests de performance o\u00f9 les cibles de test sont soumis \u00e0 diff\u00e9rentes charges de travail afin d\u2019\u00e9valuer leur performance et de s\u2019assurer que leur fonction s\u2019ex\u00e9cute normalement malgr\u00e9 les variations de charge. Le but des tests de charge est de d\u00e9terminer et de s\u2019assurer que le syst\u00e8me fonctionne normalement par del\u00e0 la charge de travail maximale. De plus, les tests de charge \u00e9valuent les caract\u00e9ristiques de performance comme les temps de r\u00e9ponse, les taux de transaction et autres comportements pertinents.<\/span><\/p>\n<h1>T<span lang=\"fr-CA\">ests de stress<\/span><\/h1>\n<p><span lang=\"fr-CA\">Les tests de stress sont un type de test de performance qui sont impl\u00e9ment\u00e9s et ex\u00e9cut\u00e9s pour trouver des erreurs imputables \u00e0 un manque de ressources. Une anomalie de la cible de test peut \u00eatre identifi\u00e9e \u00e0 cause d\u2019une m\u00e9moire vive ou d\u2019un espace disque insuffisants. D\u2019autres anomalies peuvent \u00eatre imputables \u00e0 une concurrence d\u2019acc\u00e8s \u00e0 des ressources comme, par exemple, une largeur de bande r\u00e9seau ou un acc\u00e8s concurrent \u00e0 une base de donn\u00e9es. Les stress tests peuvent aussi \u00eatre utilis\u00e9s pour identifier la pointe qu\u2019une charge de travail peut atteindre.<\/span><\/p>\n<h1 class=\"western\"><span lang=\"fr-CA\">Tests de volum\u00e9trie<\/span><\/h1>\n<p><i><span lang=\"fr-CA\">Les tests de volum\u00e9trie soumettent les cibles de test \u00e0 d\u2019important volume de donn\u00e9es afin de d\u00e9terminer quelles sont les limites du logiciel avant qu\u2019il y ait d\u00e9faillance. Les tests de volum\u00e9trie permettent aussi d\u2019identifier la charge maximum ou le volume que les cibles de tests peuvent supporter pour une p\u00e9riode de temps donn\u00e9e. Ainsi, par exemple, pour la publication d\u2019un rapport qui n\u00e9cessite le traitement d\u2019enregistrement de la base de donn\u00e9es, le test de volum\u00e9trie devrait utiliser une base de donn\u00e9es de grande taille et devra v\u00e9rifier si le logiciel se comporte normalement et produit correctement le rapport.<\/span><\/i><\/p>\n<h1>T<span lang=\"fr-CA\">ests de s\u00e9curit\u00e9 et de contr\u00f4le d\u2019acc\u00e8s<\/span><\/h1>\n<p><span lang=\"fr-CA\">Les tests de s\u00e9curit\u00e9 et de contr\u00f4le d\u2019acc\u00e8s portent sur deux domaines cl\u00e9s de la s\u00e9curit\u00e9\u00a0:<\/span><\/p>\n<ol>\n<li><span lang=\"fr-CA\">La s\u00e9curit\u00e9 au niveau de l\u2019application incluant l\u2019acc\u00e8s aux fonctions de traitement de donn\u00e9es.<\/span><\/li>\n<li><span lang=\"fr-CA\">La s\u00e9curit\u00e9 au niveau du syst\u00e8me, incluant la connexion \u00e0 distance au syst\u00e8me.<\/span><\/li>\n<\/ol>\n<p><span lang=\"fr-CA\">La s\u00e9curit\u00e9 au niveau de l\u2019application contr\u00f4le l\u2019acc\u00e8s des acteurs aux fonctions ou cas d\u2019utilisation ou donn\u00e9es qui leur sont rendues disponibles. Par exemple, tous les acteurs peuvent saisir des donn\u00e9es et cr\u00e9er de nouveaux comptes, mais seuls les administrateurs peut les d\u00e9truire. La s\u00e9curit\u00e9 au niveau des donn\u00e9es est test\u00e9e en s\u2019assurant qu\u2019un type d\u2019utilisateur peut voir toutes les informations d\u2019un client, incluant les donn\u00e9es financi\u00e8res, alors qu\u2019un autre type ne peut voir que les donn\u00e9es d\u00e9mographiques pour le m\u00eame client..<\/span><\/p>\n<p><span lang=\"fr-CA\">La s\u00e9curit\u00e9 au niveau du syst\u00e8me permet aux seuls acteurs dont l\u2019acc\u00e8s est autoris\u00e9, d\u2019acc\u00e9der aux applications par les seules passerelles appropri\u00e9es.<\/span><\/p>\n<h1 class=\"western\"><span lang=\"fr-CA\">Tests de basculement et de r\u00e9cup\u00e9ration\u00a0<\/span><\/h1>\n<p><span lang=\"fr-CA\">Les tests de basculement et de r\u00e9cup\u00e9ration v\u00e9rifient que la cible de test peut r\u00e9ussir \u00e0 basculer et \u00e0 r\u00e9cup\u00e9rer pour diff\u00e9rents dysfonctionnements mat\u00e9riels, logiciels ou de r\u00e9seau sans qu\u2019il y ait perte de donn\u00e9es ou corruption de sonn\u00e9es.<\/span><\/p>\n<p><span lang=\"fr-CA\">Les tests de basculement v\u00e9rifient que, pour les syst\u00e8mes qui doivent demeurer en op\u00e9ration, lorsqu\u2019une d\u00e9faillance survient, un syst\u00e8me alternatif ou un syst\u00e8me de sauvegarde prend le relais correctement sans perte de donn\u00e9es ou de transactions.<\/span><\/p>\n<p><span lang=\"fr-CA\">Les tests de r\u00e9cup\u00e9ration est un test o\u00f9 le syst\u00e8me est expos\u00e9 \u00e0 des conditions extr\u00eames, ou des conditions simul\u00e9es pour provoquer une d\u00e9faillance, telle qu\u2019une panne d\u2019un dispositif d\u2019entr\u00e9e-sortie ou des pointeurs de base de donn\u00e9es invalides Les processus de r\u00e9cup\u00e9ration sont alors invoqu\u00e9s et l\u2019application ou le syst\u00e8me est alors suivi ou inspect\u00e9 pour v\u00e9rifier si la r\u00e9cup\u00e9ration des donn\u00e9es, de l\u2019application ou du syst\u00e8me a \u00e9t\u00e9 bien effectu\u00e9e.<\/span><\/p>\n<h1 class=\"western\"><span lang=\"fr-CA\">Tests de configuration<\/span><\/h1>\n<p><span lang=\"fr-CA\">Les tests de configuration valident les op\u00e9rations pour des cibles de test pour diff\u00e9rentes configurations logicielles et mat\u00e9rielles. Les sp\u00e9cifications mat\u00e9rielles des postes de travail, des r\u00e9seaux et des serveurs de base de donn\u00e9es, en environnement de production, varient d\u2019un client \u00e0 l\u2019autre. Les postes de travail peuvent avoir diff\u00e9rents logiciels en op\u00e9ration selon diff\u00e9rentes combinaisons et utilisant diff\u00e9rentes ressources.<\/span><\/p>\n<h1 class=\"western\">Te<span lang=\"fr-CA\">sts d\u2019installation<\/span><\/h1>\n<p><span lang=\"fr-CA\">Les tests d\u2019installation poursuivent deux objectifs. D\u2019abord, s\u2019assurer que le logiciel peut \u00eatre install\u00e9 dans diff\u00e9rentes conditions, tant pour les nouvelles installations, les mises \u00e0 jour que pour compl\u00e9ter une installation personnalis\u00e9e dans des conditions normales et des conditions anormales. Les conditions anormales comprennent un espace disque insuffisant, des autorisations insuffisantes pour cr\u00e9er des r\u00e9pertoires, etc. L\u2019autre objectif est de v\u00e9rifier que, une fois install\u00e9, le logiciel fonctionne correctement. Cela signifie qu\u2019il faut ex\u00e9cuter un certain nombre de tests fonctionnels.<\/span><\/p>\n<p>\u00a0<\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>Introduction Il m\u2019a souvent \u00e9t\u00e9 demand\u00e9 de \u201ctester\u201d un application ou un projet durant mes missions de consultance. J\u2019ai rarement<\/p>\n","protected":false},"author":1,"featured_media":315,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[65],"tags":[],"class_list":["post-312","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analyse"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/imalogic.com\/blog\/wp-content\/uploads\/2017\/05\/test-plan1.jpg?fit=1280%2C960&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8J21V-52","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/posts\/312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/comments?post=312"}],"version-history":[{"count":2,"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/posts\/312\/revisions"}],"predecessor-version":[{"id":317,"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/posts\/312\/revisions\/317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/media\/315"}],"wp:attachment":[{"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/media?parent=312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/categories?post=312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imalogic.com\/blog\/wp-json\/wp\/v2\/tags?post=312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}