{"id":2566,"date":"2016-07-18T08:00:00","date_gmt":"2016-07-18T07:00:00","guid":{"rendered":"http:\/\/www.diogonunes.com\/blog\/?p=2566"},"modified":"2020-05-15T14:23:23","modified_gmt":"2020-05-15T13:23:23","slug":"cross-browser-testing-tuttu-testing-through-ui","status":"publish","type":"post","link":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/","title":{"rendered":"Before doing cross-browser testing ask yourself: are you TuTTu?"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?resize=580%2C312\" alt=\"cross-browser-header\" width=\"580\" height=\"312\" class=\"aligncenter size-full wp-image-2649\" srcset=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?w=1300&amp;ssl=1 1300w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?resize=400%2C215&amp;ssl=1 400w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?resize=768%2C414&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?resize=1024%2C551&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?resize=1200%2C646&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/p>\n<p>Recently I had the requirement to test the behavior of a web application on Chrome, Firefox&#8230; and the dreaded Internet Explorer. The team already had automated end-to-end test written in Java using Selenium web driver.<\/p>\n<p><!--more--><\/p>\n<p>We decided to explore the world of automated cross-browser testing and we were recommended BrowserStack and SauceLabs.<\/p>\n<h2>You could have just asked&#8230;<\/h2>\n<p>But our endeavor was doomed to fail because <strong>we were following an anti-pattern<\/strong>. According to the <a href=\"http:\/\/www.mwtestconsultancy.co.uk\/cross-browser-checking-anti-pattern\/\">TuTTu mnemonic<\/a> coined by <a href=\"https:\/\/twitter.com\/2bittester\">Mark Winteringham<\/a> we should ask ourselves whether we are <em>Testing the UI or Testing Through the UI<\/em>.<\/p>\n<p>Our end-to-end tests were testing through the UI and that&#8217;s something not browser dependent. Any decent browser (even IE) should process JavaScript code the same way &#8212; according to spec. Testing the UI is what really matters on cross-browser testing. In fact, our exploratory testing found out the web app&#8217;s logic was right across the different browsers (thanks to Babel) but we had UI inconsistencies. Our end-to-end tests were not designed to catch those UI issues.<\/p>\n<p>In a sentence, I guess we were using the wrong tool for the wrong job. <a href=\"http:\/\/www.mwtestconsultancy.co.uk\/cross-browser-checking-anti-pattern\/\">TuTTu<\/a> #NeverForget<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently I had the requirement to test the behavior of a web application on Chrome, Firefox&#8230; and the dreaded Internet Explorer. The team already had automated end-to-end test written in Java using Selenium web driver.<\/p>\n","protected":false},"author":1,"featured_media":2649,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[51],"tags":[62,55],"class_list":["post-2566","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-work","tag-heuristics","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Before doing cross-browser testing ask yourself: are you TuTTu? - The Geeky Gecko<\/title>\n<meta name=\"description\" content=\"I had automated checks in Java+Selenium, ready for cross-browser testing. I should have asked myself: am I Testing the UI or Testing Through the UI (TuTTu)?\" \/>\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.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Before doing cross-browser testing ask yourself: are you TuTTu? - The Geeky Gecko\" \/>\n<meta property=\"og:description\" content=\"I had automated checks in Java+Selenium, ready for cross-browser testing. I should have asked myself: am I Testing the UI or Testing Through the UI (TuTTu)?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/\" \/>\n<meta property=\"og:site_name\" content=\"The Geeky Gecko\" \/>\n<meta property=\"article:published_time\" content=\"2016-07-18T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-15T13:23:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1300\" \/>\n\t<meta property=\"og:image:height\" content=\"700\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Diogo Nunes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:site\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diogo Nunes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/\"},\"author\":{\"name\":\"Diogo Nunes\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"headline\":\"Before doing cross-browser testing ask yourself: are you TuTTu?\",\"datePublished\":\"2016-07-18T07:00:00+00:00\",\"dateModified\":\"2020-05-15T13:23:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/\"},\"wordCount\":198,\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1\",\"keywords\":[\"heuristics\",\"testing\"],\"articleSection\":[\"Work\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/\",\"name\":\"Before doing cross-browser testing ask yourself: are you TuTTu? - The Geeky Gecko\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1\",\"datePublished\":\"2016-07-18T07:00:00+00:00\",\"dateModified\":\"2020-05-15T13:23:23+00:00\",\"description\":\"I had automated checks in Java+Selenium, ready for cross-browser testing. I should have asked myself: am I Testing the UI or Testing Through the UI (TuTTu)?\",\"breadcrumb\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1\",\"width\":1300,\"height\":700},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.diogonunes.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Before doing cross-browser testing ask yourself: are you TuTTu?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/\",\"name\":\"The Geeky Gecko\",\"description\":\"The Geeky Gecko\",\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\",\"name\":\"Diogo Nunes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"width\":799,\"height\":799,\"caption\":\"Diogo Nunes\"},\"logo\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/www.diogonunes.com\",\"https:\/\/x.com\/dialexnunes\"],\"url\":\"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Before doing cross-browser testing ask yourself: are you TuTTu? - The Geeky Gecko","description":"I had automated checks in Java+Selenium, ready for cross-browser testing. I should have asked myself: am I Testing the UI or Testing Through the UI (TuTTu)?","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.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/","og_locale":"en_US","og_type":"article","og_title":"Before doing cross-browser testing ask yourself: are you TuTTu? - The Geeky Gecko","og_description":"I had automated checks in Java+Selenium, ready for cross-browser testing. I should have asked myself: am I Testing the UI or Testing Through the UI (TuTTu)?","og_url":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/","og_site_name":"The Geeky Gecko","article_published_time":"2016-07-18T07:00:00+00:00","article_modified_time":"2020-05-15T13:23:23+00:00","og_image":[{"width":1300,"height":700,"url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1","type":"image\/png"}],"author":"Diogo Nunes","twitter_card":"summary_large_image","twitter_creator":"@dialexnunes","twitter_site":"@dialexnunes","twitter_misc":{"Written by":"Diogo Nunes","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#article","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/"},"author":{"name":"Diogo Nunes","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"headline":"Before doing cross-browser testing ask yourself: are you TuTTu?","datePublished":"2016-07-18T07:00:00+00:00","dateModified":"2020-05-15T13:23:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/"},"wordCount":198,"publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1","keywords":["heuristics","testing"],"articleSection":["Work"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/","url":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/","name":"Before doing cross-browser testing ask yourself: are you TuTTu? - The Geeky Gecko","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1","datePublished":"2016-07-18T07:00:00+00:00","dateModified":"2020-05-15T13:23:23+00:00","description":"I had automated checks in Java+Selenium, ready for cross-browser testing. I should have asked myself: am I Testing the UI or Testing Through the UI (TuTTu)?","breadcrumb":{"@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#primaryimage","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1","width":1300,"height":700},{"@type":"BreadcrumbList","@id":"https:\/\/www.diogonunes.com\/blog\/cross-browser-testing-tuttu-testing-through-ui\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.diogonunes.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Before doing cross-browser testing ask yourself: are you TuTTu?"}]},{"@type":"WebSite","@id":"https:\/\/www.diogonunes.com\/blog\/#website","url":"https:\/\/www.diogonunes.com\/blog\/","name":"The Geeky Gecko","description":"The Geeky Gecko","publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c","name":"Diogo Nunes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","width":799,"height":799,"caption":"Diogo Nunes"},"logo":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.diogonunes.com","https:\/\/x.com\/dialexnunes"],"url":"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/cross-browser-header.png?fit=1300%2C700&ssl=1","jetpack-related-posts":[{"id":2650,"url":"https:\/\/www.diogonunes.com\/blog\/browserstack-cross-browser-testing-review\/","url_meta":{"origin":2566,"position":0},"title":"Cross-browser testing with BrowserStack: a review","author":"Diogo Nunes","date":"15 August, 2016","format":false,"excerpt":"These are BrowserStack's main services or tools: Automate: Where you run your automated Selenium tests and check the results. Screenshots: Paste an URL, select the browsers and version you want, and in a few minutes you get a batch of screenshots. Live: by connecting to their data center you are\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"browserstack-logo","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/07\/browserstack-logo.png?fit=1024%2C337&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":4756,"url":"https:\/\/www.diogonunes.com\/blog\/types-2-test-categories-approaches-types\/","url_meta":{"origin":2566,"position":1},"title":"Test categories and approaches (Types #2)","author":"Diogo Nunes","date":"16 October, 2023","format":false,"excerpt":"\ud83c\udfc6 This post was featured in Software Testing Weekly #191 This is a very long post. You don't have to read it all in one go. Use it as a reference, anytime you want to check the purpose of a particular test type. Categories Functional testing Non-functional testing Black box\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"lego pieces","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/08\/xavi-cabrera-kn-UmDZQDjM-unsplash.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4569,"url":"https:\/\/www.diogonunes.com\/blog\/lean-contract-testing-with-chakram\/","url_meta":{"origin":2566,"position":2},"title":"Lean contract testing with Chakram","author":"Diogo Nunes","date":"17 October, 2022","format":false,"excerpt":"\ud83c\udfc6 This post was featured in Software Testing Weekly #142 and CodingJab #111 During my career, every time my team has to rely on a 3rd-party API, there comes the day where that API fails. Maybe it is down but usually they released a breaking change that breaks the previous\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2022\/10\/cytonn-photography-n95VMLxqM2I-unsplash-1.jpg?fit=1200%2C801&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2022\/10\/cytonn-photography-n95VMLxqM2I-unsplash-1.jpg?fit=1200%2C801&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2022\/10\/cytonn-photography-n95VMLxqM2I-unsplash-1.jpg?fit=1200%2C801&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2022\/10\/cytonn-photography-n95VMLxqM2I-unsplash-1.jpg?fit=1200%2C801&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2022\/10\/cytonn-photography-n95VMLxqM2I-unsplash-1.jpg?fit=1200%2C801&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2574,"url":"https:\/\/www.diogonunes.com\/blog\/how-to-use-browserstack-cross-browser-testing\/","url_meta":{"origin":2566,"position":3},"title":"Testing for cross-browser compatibility using BrowserStack","author":"Diogo Nunes","date":"12 September, 2016","format":false,"excerpt":"Learn how to do it with this example Recalling my BrowserStack review, their main tools are: Automate: Where you run your automated Selenium tests and check the results. Screenshots: Paste an URL, select the browsers and version you want, and in a few minutes you get a batch of screenshots.\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/08\/6-Useful-Cross-Browser-Testing-Tools.png?fit=956%2C343&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":4709,"url":"https:\/\/www.diogonunes.com\/blog\/types-1-the-test-pyramid\/","url_meta":{"origin":2566,"position":4},"title":"The test pyramid model (Types #1)","author":"Diogo Nunes","date":"12 June, 2023","format":false,"excerpt":"\ud83c\udfc6 This post was featured in Software Testing Weekly #173 tl;dr A visual metaphor that groups tests into layers and recommends how many tests should exist in each of layers. This is part of my free testing course, focused on teaching you the fundamentals of testing \ud83d\ude09 Theory The concept\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/05\/eugene-tkachenko-TF47p5PHW18-unsplash-1.jpg?fit=1200%2C738&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/05\/eugene-tkachenko-TF47p5PHW18-unsplash-1.jpg?fit=1200%2C738&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/05\/eugene-tkachenko-TF47p5PHW18-unsplash-1.jpg?fit=1200%2C738&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/05\/eugene-tkachenko-TF47p5PHW18-unsplash-1.jpg?fit=1200%2C738&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/05\/eugene-tkachenko-TF47p5PHW18-unsplash-1.jpg?fit=1200%2C738&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3978,"url":"https:\/\/www.diogonunes.com\/blog\/framework-review-cypress\/","url_meta":{"origin":2566,"position":5},"title":"Framework review: Cypress","author":"Diogo Nunes","date":"4 January, 2021","format":false,"excerpt":"Fast and reliable testing for anything that runs in a browser. It uses Javascript to make setting up, writing, running and debugging tests easy \u2014 for QAs and developers. \u2014 Official website Code Example of automation at GitHub. Use cases \ud83e\udd47 Automate end-to-end (E2E) tests using the UI or the\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2020\/09\/herbert-goetsch-vImJ5GYMMqQ-unsplash-1.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2020\/09\/herbert-goetsch-vImJ5GYMMqQ-unsplash-1.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2020\/09\/herbert-goetsch-vImJ5GYMMqQ-unsplash-1.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2020\/09\/herbert-goetsch-vImJ5GYMMqQ-unsplash-1.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2020\/09\/herbert-goetsch-vImJ5GYMMqQ-unsplash-1.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/comments?post=2566"}],"version-history":[{"count":1,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2566\/revisions"}],"predecessor-version":[{"id":3797,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/2566\/revisions\/3797"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media\/2649"}],"wp:attachment":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media?parent=2566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/categories?post=2566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/tags?post=2566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}