{"id":306,"date":"2024-12-07T13:38:11","date_gmt":"2024-12-07T13:38:11","guid":{"rendered":"https:\/\/www.mitango.app\/?post_type=definition&#038;p=306"},"modified":"2024-12-07T13:47:43","modified_gmt":"2024-12-07T13:47:43","slug":"test","status":"publish","type":"definition","link":"https:\/\/www.mitango.app\/fr\/definition\/test\/","title":{"rendered":"Test"},"content":{"rendered":"<p>A test is the implementation of an <a href=\"https:\/\/www.mitango.app\/fr\/definition\/acceptance-criteria\/\" data-type=\"definition\" data-id=\"294\">acceptance criteria<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Here to raise awareness<\/h2>\n\n\n\n<p>The role of the test is not to communicate as it is the role of the acceptance criteria.<\/p>\n\n\n\n<p>However, the test is instead present to ensure that a particular behavior of the application conforms to expected behavior and raises awareness about it if not.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"469\" src=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/image-2.png\" alt=\"\" class=\"wp-image-254\" srcset=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/image-2.png 700w, https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/image-2-300x201.png 300w, https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/image-2-18x12.png 18w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Make a choice<\/h2>\n\n\n\n<p>Even if a test is not an acceptance criteria itself, it is important for a test to remain clear on its purpose and so on the acceptance criteria it is implementing. <\/p>\n\n\n\n<p>Once this one is failing and raises awareness, then a decision will have to be made whether the test is wrong and the acceptance criteria changed or if it remained the same and the code is faulty.<\/p>\n\n\n\n<p>If the test is unclear, it could make that decision harder to take, reducing the value of the test or event worse, forcing the developer to drop the test, which would make that test useless.<\/p>\n\n\n\n<p>A great way to avoid this problem and keep your test clear is to adopt the<a href=\"https:\/\/www.mitango.app\/fr\/definition\/aaa-framework\/\" data-type=\"definition\" data-id=\"296\"> AAA framework<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"394\" src=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/Write-a-test-steps-1.png\" alt=\"\" class=\"wp-image-260\" srcset=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/Write-a-test-steps-1.png 700w, https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/Write-a-test-steps-1-300x169.png 300w, https:\/\/www.mitango.app\/app\/uploads\/2024\/11\/Write-a-test-steps-1-18x10.png 18w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Manual versus automated<\/h2>\n\n\n\n<p>Even if there are more types of tests existing, we can categorize them into two main categories.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"971\" height=\"624\" src=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/acs-1.png\" alt=\"Manual tests and Automated tests are both a subset of Acceptance criterias\" class=\"wp-image-279\" srcset=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/acs-1.png 971w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/acs-1-300x193.png 300w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/acs-1-768x494.png 768w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/acs-1-18x12.png 18w\" sizes=\"(max-width: 971px) 100vw, 971px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Manual test<\/h3>\n\n\n\n<p>As their names indicate, these tests are run by hand.<\/p>\n\n\n\n<p>They are the first encounter most developers got with testing as they went to check the output of their code.<\/p>\n\n\n\n<p>However, here as they are following an <a href=\"https:\/\/www.mitango.app\/fr\/definition\/acceptance-criteria\/\" data-type=\"definition\" data-id=\"294\">acceptance criteria<\/a> and so a recipe, they are more professional and make sure you can reproduce the results each time you follow the instructions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Automated test<\/h3>\n\n\n\n<p>Often called abusively tests, automated tests are an investment done by developers to ensure that they can validate an acceptance criteria faster in the long term than manual testing.<\/p>\n\n\n\n<p> However, this comes at a cost and often automated tests are more time-consuming in the short term.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Keep it balanced<\/h3>\n\n\n\n<p>Depending on the project you are working on, you will need to automate a certain part of your tests.<\/p>\n\n\n\n<p>However, remember while doing so that all should not be automated as certain <a href=\"https:\/\/www.mitango.app\/fr\/definition\/acceptance-criteria\/\" data-type=\"definition\" data-id=\"294\">acceptance criteria<\/a> can be either really time-consuming to implement or produce fragile tests that will make then less interesting than just testing them manually.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"298\" src=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/Untitled-2024-05-16-2106456-1024x298.png\" alt=\"\" class=\"wp-image-329\" srcset=\"https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/Untitled-2024-05-16-2106456-1024x298.png 1024w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/Untitled-2024-05-16-2106456-300x87.png 300w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/Untitled-2024-05-16-2106456-768x223.png 768w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/Untitled-2024-05-16-2106456-1536x447.png 1536w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/Untitled-2024-05-16-2106456-2048x596.png 2048w, https:\/\/www.mitango.app\/app\/uploads\/2024\/12\/Untitled-2024-05-16-2106456-18x5.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group alignwide has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-b23f7dc8 wp-block-group-is-layout-constrained\" style=\"border-radius:12px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--20)\">\n<p class=\"has-text-align-center has-large-font-size\" style=\"font-style:normal;font-weight:600\">Any questions? We\u2018re here to help!<\/p>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">If you still have questions or need further assistance, please don\u2018t hesitate to reach out to me.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-d565fcec wp-block-buttons-is-layout-flex\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.mitango.app\/fr\/contact-me\/\">Contactez moi<\/a><\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A test is the implementation of an acceptance criteria. Here to raise awareness The role of the test is not to communicate as it is the role of the acceptance criteria. However, the test is instead present to ensure that a particular behavior of the application conforms to expected behavior and raises awareness about it [&hellip;]<\/p>","protected":false},"featured_media":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"class_list":["post-306","definition","type-definition","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.mitango.app\/fr\/wp-json\/wp\/v2\/definition\/306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mitango.app\/fr\/wp-json\/wp\/v2\/definition"}],"about":[{"href":"https:\/\/www.mitango.app\/fr\/wp-json\/wp\/v2\/types\/definition"}],"version-history":[{"count":4,"href":"https:\/\/www.mitango.app\/fr\/wp-json\/wp\/v2\/definition\/306\/revisions"}],"predecessor-version":[{"id":332,"href":"https:\/\/www.mitango.app\/fr\/wp-json\/wp\/v2\/definition\/306\/revisions\/332"}],"wp:attachment":[{"href":"https:\/\/www.mitango.app\/fr\/wp-json\/wp\/v2\/media?parent=306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitango.app\/fr\/wp-json\/wp\/v2\/categories?post=306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}