{"id":24593,"date":"2020-11-20T01:53:50","date_gmt":"2020-11-20T01:53:50","guid":{"rendered":"https:\/\/app14743.cloudwayssites.com\/?p=24593"},"modified":"2024-11-07T18:48:53","modified_gmt":"2024-11-07T23:48:53","slug":"many-uses-of-visual-testing","status":"publish","type":"post","link":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/","title":{"rendered":"The Many Uses of Visual Testing"},"content":{"rendered":"\n<p>Often times, when we&#8217;re talking about tools to help us with testing, specifically automation tools, we hear a lot of preaching about not misusing these tools.<\/p>\n\n\n\n<p>For example, people often ask how to use Selenium WebDriver\u2014which is a browser automation tool\u2014to do API testing. This clearly isn&#8217;t the right tool for the job.<\/p>\n\n\n\n<p>While I most certainly agree that using the wrong tool for the job is not really efficient, I can also appreciate creative uses of tools for other means. <\/p>\n\n\n\n<p>People &#8220;misuse&#8221; tools every day to meet their needs and end up realizing that while this specific tool was not designed for a particular use case, it actually works extremely well!<\/p>\n\n\n\n<p>For example, here is a clothes hanger. It is obviously designed to hang clothing.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"773\" height=\"561\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-1.png\" alt=\"\" class=\"wp-image-24594\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-1.png 773w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-1-300x218.png 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-1-768x557.png 768w\" sizes=\"(max-width: 773px) 100vw, 773px\" \/><\/figure><\/div>\n\n\n<p>But necessity is the mother of innovation. So when you lock yourself out of your car, this tool all of a sudden has a new use!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"728\" height=\"520\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4.jpg\" alt=\"\" class=\"wp-image-24601\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4.jpg 728w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4-300x214.jpg 300w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><figcaption class=\"wp-element-caption\">Hangers can be used to unlock car doors<\/figcaption><\/figure><\/div>\n\n\n<p>Coca-cola was actually created as a medicine but after the manufacturing company was purchased, they began selling Coca-cola as a soft drink. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"773\" height=\"558\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-2.png\" alt=\"\" class=\"wp-image-24597\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-2.png 773w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-2-300x217.png 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-2-768x554.png 768w\" sizes=\"(max-width: 773px) 100vw, 773px\" \/><\/figure><\/div>\n\n\n<p>As if that wasn&#8217;t enough of a repurpose, coke can also be used to clean corrosion from batteries! (I should probably stop drinking this ?)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/s3.amazonaws.com\/media-p.slid.es\/uploads\/558600\/images\/6649215\/coke_battery.jpg\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Coca-cola can be used to clean batteries<\/figcaption><\/figure><\/div>\n\n\n<p>So as we see, misusing a tool isn&#8217;t <em>always<\/em> bad. Some tools can be used for more than their intended purpose.<\/p>\n\n\n\n<p>As engineers, most of us are curious and creative. This is a recipe for innovation!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-visual-testing\">Visual Testing<\/h2>\n\n\n\n<p>I&#8217;m working with automated visual testing a lot these days. It&#8217;s an approach that uses UI snapshots to allow you to verify that your application looks the way it&#8217;s supposed to.<\/p>\n\n\n\n<p>Applitools does this by taking a screenshot of your application when you first write your test and then comparing that screenshot with how the UI looks during regression runs. It is intended to find cosmetic bugs that could negatively impact your customer&#8217;s experience. It&#8217;s designed to <a href=\"https:\/\/app14743.cloudwayssites.com\/blog\/visual-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\">find visual bugs<\/a> that otherwise cannot be discovered by functional testing tools that query the DOM.<\/p>\n\n\n\n<p>Take a look at a few examples of visual bugs:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/s3.amazonaws.com\/media-p.slid.es\/uploads\/558600\/images\/6650076\/vb_creditcard.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Credit card prompt shows unaligned labels making it confusing for users<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/s3.amazonaws.com\/media-p.slid.es\/uploads\/558600\/images\/6650077\/vb_instagram.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Sponsored Instagram post shows garbled, unreadable text and no image<\/figcaption><\/figure>\n\n\n\n<p>While Applitools is second to none in finding cosmetic issues that may be costly for companies, I began to wonder how I could misuse this tool for good. I explored some of the hard problems in test automation to see if I can utilize the Applitools Eyes API to solve those as well! <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"775\" height=\"559\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-3.png\" alt=\"\" class=\"wp-image-24599\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-3.png 775w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-3-300x216.png 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-3-768x554.png 768w\" sizes=\"(max-width: 775px) 100vw, 775px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-increase-coverage\">Increase Coverage<\/h2>\n\n\n\n<p>Let&#8217;s look at a common e-commerce scenario where I want to test the flow of buying this nice dress. I select the color, size, and quantity. Then I add it to the cart and head over to the cart to verify.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video autoplay controls loop src=\"https:\/\/s3.amazonaws.com\/media-p.slid.es\/videos\/558600\/GeKzZt1d\/shopping_cart.mp4\"><\/video><figcaption class=\"wp-element-caption\">Shopping flow<\/figcaption><\/figure>\n\n\n\n<p>And here&#8217;s the code to test this scenario:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"oembed-gist\"><script src=\"https:\/\/gist.github.com\/angiejones\/4d336485b47832b4ce8f321282974f61.js\"><\/script><noscript>View the code on <a href=\"https:\/\/gist.github.com\/angiejones\/4d336485b47832b4ce8f321282974f61\">Gist<\/a>.<\/noscript><\/div>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Looking at the shopping cart, we&#8217;ve only verified that it contains the Tokyo Talkies dress. And that verification is by name.  There&#8217;s a LOT more on this screen that is going unverified. And not just the look and feel, but the color, size, quantity, price, buttons, etc.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4-1024x579.png\" alt=\"\" class=\"wp-image-24613\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4-1024x579.png 1024w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4-300x170.png 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4-768x434.png 768w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-4.png 1348w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>Sure, we can write more assertions, but this starts getting really long. We have doubled the size of the test here and this is just a subset of the all the checks we could possibly do.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"oembed-gist\"><script src=\"https:\/\/gist.github.com\/angiejones\/0ae0bfd245a262fd15b61ed494b7b8a8.js\"><\/script><noscript>View the code on <a href=\"https:\/\/gist.github.com\/angiejones\/0ae0bfd245a262fd15b61ed494b7b8a8\">Gist<\/a>.<\/noscript><\/div>\n<\/div><\/figure>\n\n\n\n<p>What if I used automated visual testing to not only make sure the app looks good, but to also increase my coverage?<\/p>\n\n\n\n<p>On line 10 here, I added a visual assertion. This covers everything I&#8217;ve thought about and even the stuff that I didn&#8217;t. And I&#8217;m now back to 11 lines here &#8211; so less code and more coverage!<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"oembed-gist\"><script src=\"https:\/\/gist.github.com\/angiejones\/eb9a9a32fb359925147d783df19cae5a.js\"><\/script><noscript>View the code on <a href=\"https:\/\/gist.github.com\/angiejones\/eb9a9a32fb359925147d783df19cae5a\">Gist<\/a>.<\/noscript><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-localization-testing\">Localization Testing<\/h2>\n\n\n\n<p>I worked on a localized product and automating the tests was really tough. We originally only supported the English version of the product; but after the product was internationalized, we synched into the localized Strings that development used for the product so we were at least able to assert on the text we needed.<\/p>\n\n\n\n<p>However, not all languages are written left to right. Some are right to left, like Arabic. How could I verify this without visual testing?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/s3.amazonaws.com\/media-p.slid.es\/uploads\/558600\/images\/6669362\/pasted-from-clipboard.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Twitter home page in Arabic<\/figcaption><\/figure><\/div>\n\n\n<p><a href=\"https:\/\/www.techinasia.com\/talk\/pseudo-localization-netflix\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Netflix internationalized their product<\/a> and quickly saw UI issues. Their product assumed English string lengths, line heights, and graphic symbols. They translated the product into 26 languages &#8211; which is essentially 26 different versions of the product that need to be maintained and regression-tested.<\/p>\n\n\n\n<p>And good localization also accounts for cultural variances and includes things like icon and image replacements. All of these are highly visual\u2014which makes it a good case for visual testing.<\/p>\n\n\n\n<p>Using Applitools, writing the test for different locales is not too bad, especially since you don&#8217;t need to deal with the translated context in the assertions. And the visual tests will verify the sites of each locale.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"oembed-gist\"><script src=\"https:\/\/gist.github.com\/angiejones\/ba99eec59ed690728ad9d51259f5400d.js\"><\/script><noscript>View the code on <a href=\"https:\/\/gist.github.com\/angiejones\/ba99eec59ed690728ad9d51259f5400d\">Gist<\/a>.<\/noscript><\/div>\n<\/div><\/figure>\n\n\n\n<p>Looking at the English-translated version of this website, I can see a few bugs here.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"599\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-1024x599.jpg\" alt=\"\" class=\"wp-image-24623\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-1024x599.jpg 1024w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-300x175.jpg 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-768x449.jpg 768w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5.jpg 1050w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">CNN website translated from Spanish to English<\/figcaption><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>The Spanish logo is being used<\/li>\n\n\n\n<li>The image overlay is still in Spanish<\/li>\n\n\n\n<li>The video captions are also still in Spanish<\/li>\n<\/ul>\n\n\n\n<p>Trying to verify everything on this page programmatically without visual testing would be painful and can easily miss some of these localization issues.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cross-platform-testing\">Cross-Platform Testing<\/h2>\n\n\n\n<p>I&#8217;m sure anyone who has had to write test automation to work on multiple platforms would agree with me that this is not fun at all! In fact, this is quite the chore. And yet, our applications are expected o work on so many different configurations. Multiple browsers, multiple phones, tablets, you name it!<\/p>\n\n\n\n<p>For example, here&#8217;s a web view and a mobile view of the Doordash application. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"694\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-1-1024x694.jpg\" alt=\"\" class=\"wp-image-24624\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-1-1024x694.jpg 1024w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-1-300x203.jpg 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-1-768x520.jpg 768w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-1.jpg 1455w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Doordash app in mobile and web views<\/figcaption><\/figure><\/div>\n\n\n<p>There are quite a few differences, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the web view, the address is on the top row to the right of the menu, but on mobile it&#8217;s on the 2nd row and centered<\/li>\n\n\n\n<li>The site title exists on the web view but is not on the mobile view at all &#8211; only the logo<\/li>\n\n\n\n<li>The search field exists on the web view but only the search icon on the mobile view<\/li>\n\n\n\n<li>And the shopping cart shows the quantity on the web view but not on the mobile view<\/li>\n<\/ul>\n\n\n\n<p>Because of these differences, we either need to write totally different framework code for the various configurations, or include conditional logic for every place where the app differs. Like I said, painful!<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"oembed-gist\"><script src=\"https:\/\/gist.github.com\/angiejones\/430c8e494dacee437b10fba914514110.js\"><\/script><noscript>View the code on <a href=\"https:\/\/gist.github.com\/angiejones\/430c8e494dacee437b10fba914514110\">Gist<\/a>.<\/noscript><\/div>\n<\/div><\/figure>\n\n\n\n<p>But the worse part of it all is that the return on investment is really low. I hardly find any cross-platform bugs using this approach. And it&#8217;s not because they don&#8217;t exist. It&#8217;s because most cross-platform bugs are visual bugs!<\/p>\n\n\n\n<p>The viewport size changes, and all of a sudden, your app looks goofy! ?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"836\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-2-1024x836.jpg\" alt=\"\" class=\"wp-image-24625\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-2-1024x836.jpg 1024w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-2-300x245.jpg 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-2-768x627.jpg 768w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-2.jpg 1286w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Visual bugs on mobile viewports<\/figcaption><\/figure><\/div>\n\n\n<p>So what if instead of just using visual testing to make sure my app looks nice, I bended this technology a bit to execute my cross-platform tests more efficiently?<\/p>\n\n\n\n<p>Like instead of a functional grid that executes my tests step by step across all of the devices I specify, what about a <a href=\"https:\/\/info.applitools.com\/ucTzt\">visual grid<\/a> that allows me to write my test only once, without the conditional viewport logic? Then executes my test and blasts the application&#8217;s state across all of my supported devices, browsers, and viewports in parallel so that I can find the visual bugs? ?<\/p>\n\n\n\n<p>That&#8217;s pretty powerful and yes, we can use visual testing to do this too!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-accessibility-testing\">Accessibility Testing<\/h2>\n\n\n\n<p>There&#8217;s a lot of talk about <a href=\"https:\/\/info.applitools.com\/ucTzu\" target=\"_blank\" rel=\"noreferrer noopener\">accessibility testing<\/a> lately. It&#8217;s one of those important things that often gets missed by development teams.<\/p>\n\n\n\n<p>You may have heard of the recent Supreme Court case where a blind man sued a pizza franchise because their site was not accessible.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\"><p lang=\"en\" dir=\"ltr\">Supreme Court hands victory to blind man who sued Dominos over their accessibility. <a href=\"https:\/\/t.co\/dhNELAlDgr\">https:\/\/t.co\/dhNELAlDgr<\/a> Have you ever sued an establishment?<\/p>&mdash; Disability Horizons (@DHorizons) <a href=\"https:\/\/twitter.com\/DHorizons\/status\/1186605705601654784?ref_src=twsrc%5Etfw\">October 22, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<p>This is not a game. We have to take this seriously. Can visual testing help with this at all?<\/p>\n\n\n\n<p>Yep, what if we used visual testing to be able to detect accessibility violations like the contrast between colors, the font sizes, etc? This could make a nice complement to other accessibility tools that are analyzing from the DOM.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"892\" height=\"958\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5.png\" alt=\"\" class=\"wp-image-24629\" style=\"width:430px;height:462px\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5.png 892w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-279x300.png 279w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-5-768x825.png 768w\" sizes=\"(max-width: 892px) 100vw, 892px\" \/><figcaption class=\"wp-element-caption\">Visual testing detecting unacceptable contrast levels<\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-a-b-testing\">A\/B Testing<\/h2>\n\n\n\n<p>A\/B testing is a nightmare for test automation, and sometimes impossible. It&#8217;s where you have two variations of your product as an experiment to see which one performs better with your users.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/s3.amazonaws.com\/media-p.slid.es\/uploads\/558600\/images\/6675646\/pasted-from-clipboard.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Let&#8217;s say Variation B did much better than Variation A. We&#8217;d assume that&#8217;s because our users really liked Variation B. But what if Variation A had a serious bug that prevented many users from converting?<\/p>\n\n\n\n<p>The problem is that many teams don&#8217;t automate tests for both variations because it&#8217;s throw-away code, and you&#8217;re not entirely sure which variation you&#8217;ll get each time the test runs.<\/p>\n\n\n\n<p>Instead of writing a bunch of conditionals and trying to maintain the locators for both variations, what if we used visual testing instead? Could that make things easier to automate?<\/p>\n\n\n\n<p>Indeed! <a href=\"https:\/\/info.applitools.com\/ucTzw\">Applitools supports A\/B testing<\/a> by allowing you to save multiple baseline images for your app&#8217;s variations.<\/p>\n\n\n\n<p>I could write one test and instead of coding all the differences between the two variations, I could simply do the visual check and provide it with photos of both variations.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"792\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-6-1024x792.png\" alt=\"\" class=\"wp-image-24632\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-6-1024x792.png 1024w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-6-300x232.png 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-6-768x594.png 768w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/image-6.png 1370w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-dark-mode\">Dark Mode<\/h2>\n\n\n\n<p>All the cool apps are now providing a dark mode option. But how do you write automated tests for this? It&#8217;s kind of an A\/B type of scenario where the app can be in either variation. But the content is the same. So that makes it relatively easy to write the code but then we miss stuff.<\/p>\n\n\n\n<p>For example, when Slack first offered dark mode, I noticed that I couldn&#8217;t see any code samples.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video autoplay controls loop src=\"https:\/\/s3.amazonaws.com\/media-p.slid.es\/videos\/558600\/csrQdLVF\/slack_dark_mode.mp4\"><\/video><\/figure>\n\n\n\n<p>As much as I work with visual testing, it didn&#8217;t dawn on me that I could use visual testing for this until Richard Bradshaw pointed it out to me. In hindsight, DUH of course this can be tackled by visual testing. But in the moment, it wasn&#8217;t apparent to me because visual tools don&#8217;t advertise this as a use case.<\/p>\n\n\n\n<p>Which brings me back to my original point&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-misuse-your-tools\">Misuse Your Tools!<\/h2>\n\n\n\n<p>Most creators make a solution for a specific problem. They aren&#8217;t thinking of ALL of our use cases. So, I encourage you to not just explore your products, but explore your toolset and don&#8217;t be afraid to misuse (but not abuse) your tools where it makes sense.<\/p>\n\n\n\n<div class=\"wp-block-group pt-none pb-none\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-quick-answers\">Quick Answers<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1730828554142\"><strong class=\"schema-faq-question\">What is visual testing?<\/strong> <p class=\"schema-faq-answer\">Visual testing is a technique that uses UI snapshots to verify the appearance of an application. By capturing screenshots of the application, it helps ensure the UI looks as expected, identifying cosmetic and visual bugs that functional testing tools may miss.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1730829159662\"><strong class=\"schema-faq-question\">How does Applitools support visual testing?<\/strong> <p class=\"schema-faq-answer\">Applitools provides automated visual testing through its Visual AI technology, which takes a baseline screenshot of your application during the initial test. This baseline is then used in regression tests to compare the UI, highlighting any differences that may impact user experience.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1730829262674\"><strong class=\"schema-faq-question\">Can visual testing be used for functional validation?<\/strong> <p class=\"schema-faq-answer\">Yes, visual testing can help increase coverage by validating visual elements that functional checks might miss, such as verifying colors, layout, and alignment across different test scenarios.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1730829279881\"><strong class=\"schema-faq-question\">How can visual testing improve localization testing?<\/strong> <p class=\"schema-faq-answer\">Visual testing simplifies localization testing by visually validating the UI for multiple languages and cultural variations. This approach helps catch issues like text overflow, misaligned elements, or incorrect language usage, which can be hard to verify programmatically.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1730829295631\"><strong class=\"schema-faq-question\">Is visual testing helpful for cross-platform testing?<\/strong> <p class=\"schema-faq-answer\">Absolutely! Visual testing can be used to test the UI across different devices, browsers, and viewports. This approach quickly identifies visual inconsistencies that may arise from changes in viewport size or device type, without the need for conditional logic for each platform.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1730829315245\"><strong class=\"schema-faq-question\">Can visual testing detect accessibility issues?<\/strong> <p class=\"schema-faq-answer\">Visual testing can complement accessibility tools by detecting issues like low-contrast text or small font sizes. While it doesn\u2019t replace specialized accessibility tools, it offers an additional layer of visual validation to enhance accessibility checks.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1730829343623\"><strong class=\"schema-faq-question\">How does visual testing handle A\/B testing scenarios?<\/strong> <p class=\"schema-faq-answer\">Visual testing can streamline A\/B testing by supporting multiple baseline images. This allows testers to validate both variations without adding complex conditionals, ensuring that any visual changes between versions are detected.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1730829356005\"><strong class=\"schema-faq-question\">Can visual testing be used to test Dark Mode?<\/strong> <p class=\"schema-faq-answer\">Yes, visual testing is useful for Dark Mode testing, as it can detect issues like missing or low-contrast text that might be overlooked in traditional testing. This helps ensure a consistent user experience across both Light and Dark Mode.<\/p> <\/div> <\/div>\n\n\n\n<div class=\"wp-block-group pb-none pt-none\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<style>\n.schema-faq-section { \n  background: white;\n  margin: 1rem 0;\n  border: 2px solid rgba(0, 0, 0, 0.13);\n  border-radius: 10px;\n  box-shadow: 2px 2px 6px 2px rgba(0, 0, 0, 0.03);\n}\n.schema-faq-question{\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  transition: opacity ease 0.25s;\n  padding: 1rem;\n  color: var(--wp--preset--color--primary);\n  font-size: var(--wp--preset--font-size-large);\n}\n.schema-faq-question:hover {\n  color: var(--wp--preset--color--secondary);\n}\n.schema-faq-question:after{\n  width: 16px;\n  height: 20px;\n  display: inline-block;\n  margin-left: auto;\n  margin-right: 5px;\n  vertical-align: top;\n  color: inherit;\n  content: \"+\";\n}\n.schema-faq-question.expanded:after{\n  content: \"-\";\n}\n.schema-faq-question:hover{\n  opacity: 0.75;\n}\n.schema-faq-answer{\n  padding: 0 1rem 1rem 1rem;\n  display: none;\n}\n.schema-faq-answer.default{\n  display: block;\n}\n.editor-styles-wrapper .schema-faq-question {\n  cursor: text;\n}\n.editor-styles-wrapper .schema-faq-answer {\n  display: block; \n}\n<\/style>\n\n\n\n<script>\njQuery(function($){var yoast={accordion:function(){var isAnimating=!1;$(\".schema-faq-section\").find(\".schema-faq-question\").click(function(event){event.stopPropagation();if(isAnimating)return;isAnimating=!0;var answer=$(this).nextAll(\".schema-faq-answer\").eq(0);answer.slideToggle(250,function(){$(this).toggleClass(\"expanded\");$(this).prev(\".schema-faq-question\").toggleClass(\"expanded\");isAnimating=!1});$(\".schema-faq-answer\").not(answer).slideUp(\"fast\",function(){$(this).removeClass(\"expanded\");$(this).prev(\".schema-faq-question\").removeClass(\"expanded\")})})}};yoast.accordion()});\n<\/script>\n<\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>As toolsmiths, let\u2019s explore how else we might be able to use visual testing tools to meet our regression testing needs.<\/p>\n","protected":false},"author":31,"featured_media":24639,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10558],"tags":[13624,10204,10050,10215,10256],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.5 (Yoast SEO v24.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Many Uses of Visual Testing - AI-Powered End-to-End Testing | Applitools<\/title>\n<meta name=\"description\" content=\"A\/B testing. Accessibility Testing. Cross Browser Testing. Localization testing. Automated visual testing speeds up development processes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Many Uses of Visual Testing\" \/>\n<meta property=\"og:description\" content=\"As toolsmiths, let\u2019s explore how else we might be able to use visual testing tools to meet our regression testing needs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"AI-Powered End-to-End Testing | Applitools\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-20T01:53:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-07T23:48:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1333\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Angie Jones\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Angie Jones\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/\"},\"author\":{\"name\":\"Angie Jones\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/bef60d60f816d3253a3e37120c0b9bba\"},\"headline\":\"The Many Uses of Visual Testing\",\"datePublished\":\"2020-11-20T01:53:50+00:00\",\"dateModified\":\"2024-11-07T23:48:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/\"},\"wordCount\":2206,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg\",\"keywords\":[\"ab testing\",\"Accessibility Testing\",\"Cross-browser Testing\",\"Cross-device Testing\",\"Localization Testing\"],\"articleSection\":[\"Product\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/\",\"name\":\"The Many Uses of Visual Testing - AI-Powered End-to-End Testing | Applitools\",\"isPartOf\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg\",\"datePublished\":\"2020-11-20T01:53:50+00:00\",\"dateModified\":\"2024-11-07T23:48:53+00:00\",\"description\":\"A\/B testing. Accessibility Testing. Cross Browser Testing. Localization testing. Automated visual testing speeds up development processes.\",\"breadcrumb\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730828554142\"},{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829159662\"},{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829262674\"},{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829279881\"},{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829295631\"},{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829315245\"},{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829343623\"},{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829356005\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg\",\"contentUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg\",\"width\":2000,\"height\":1333},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/app14743.cloudwayssites.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product\",\"item\":\"https:\/\/app14743.cloudwayssites.com\/blog\/category\/product\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"The Many Uses of Visual Testing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#website\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/\",\"name\":\"Applitools Visual AI\",\"description\":\"Applitools delivers full end-to-end test automation with AI infused at every step.\",\"publisher\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/app14743.cloudwayssites.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#organization\",\"name\":\"Applitools\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png\",\"contentUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png\",\"width\":156,\"height\":28,\"caption\":\"Applitools\"},\"image\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/bef60d60f816d3253a3e37120c0b9bba\",\"name\":\"Angie Jones\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/60864923503620d0b54e2493ef75b9d8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/60864923503620d0b54e2493ef75b9d8?s=96&d=mm&r=g\",\"caption\":\"Angie Jones\"},\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/author\/angiejones\/\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730828554142\",\"position\":1,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730828554142\",\"name\":\"What is visual testing?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Visual testing is a technique that uses UI snapshots to verify the appearance of an application. By capturing screenshots of the application, it helps ensure the UI looks as expected, identifying cosmetic and visual bugs that functional testing tools may miss.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829159662\",\"position\":2,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829159662\",\"name\":\"How does Applitools support visual testing?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Applitools provides automated visual testing through its Visual AI technology, which takes a baseline screenshot of your application during the initial test. This baseline is then used in regression tests to compare the UI, highlighting any differences that may impact user experience.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829262674\",\"position\":3,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829262674\",\"name\":\"Can visual testing be used for functional validation?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, visual testing can help increase coverage by validating visual elements that functional checks might miss, such as verifying colors, layout, and alignment across different test scenarios.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829279881\",\"position\":4,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829279881\",\"name\":\"How can visual testing improve localization testing?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Visual testing simplifies localization testing by visually validating the UI for multiple languages and cultural variations. This approach helps catch issues like text overflow, misaligned elements, or incorrect language usage, which can be hard to verify programmatically.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829295631\",\"position\":5,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829295631\",\"name\":\"Is visual testing helpful for cross-platform testing?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Absolutely! Visual testing can be used to test the UI across different devices, browsers, and viewports. This approach quickly identifies visual inconsistencies that may arise from changes in viewport size or device type, without the need for conditional logic for each platform.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829315245\",\"position\":6,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829315245\",\"name\":\"Can visual testing detect accessibility issues?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Visual testing can complement accessibility tools by detecting issues like low-contrast text or small font sizes. While it doesn\u2019t replace specialized accessibility tools, it offers an additional layer of visual validation to enhance accessibility checks.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829343623\",\"position\":7,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829343623\",\"name\":\"How does visual testing handle A\/B testing scenarios?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Visual testing can streamline A\/B testing by supporting multiple baseline images. This allows testers to validate both variations without adding complex conditionals, ensuring that any visual changes between versions are detected.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829356005\",\"position\":8,\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829356005\",\"name\":\"Can visual testing be used to test Dark Mode?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, visual testing is useful for Dark Mode testing, as it can detect issues like missing or low-contrast text that might be overlooked in traditional testing. This helps ensure a consistent user experience across both Light and Dark Mode.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Many Uses of Visual Testing - AI-Powered End-to-End Testing | Applitools","description":"A\/B testing. Accessibility Testing. Cross Browser Testing. Localization testing. Automated visual testing speeds up development processes.","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:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/","og_locale":"en_US","og_type":"article","og_title":"The Many Uses of Visual Testing","og_description":"As toolsmiths, let\u2019s explore how else we might be able to use visual testing tools to meet our regression testing needs.","og_url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/","og_site_name":"AI-Powered End-to-End Testing | Applitools","article_published_time":"2020-11-20T01:53:50+00:00","article_modified_time":"2024-11-07T23:48:53+00:00","og_image":[{"width":2000,"height":1333,"url":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg","type":"image\/jpeg"}],"author":"Angie Jones","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Angie Jones","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#article","isPartOf":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/"},"author":{"name":"Angie Jones","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/bef60d60f816d3253a3e37120c0b9bba"},"headline":"The Many Uses of Visual Testing","datePublished":"2020-11-20T01:53:50+00:00","dateModified":"2024-11-07T23:48:53+00:00","mainEntityOfPage":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/"},"wordCount":2206,"commentCount":0,"publisher":{"@id":"https:\/\/app14743.cloudwayssites.com\/#organization"},"image":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg","keywords":["ab testing","Accessibility Testing","Cross-browser Testing","Cross-device Testing","Localization Testing"],"articleSection":["Product"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/","url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/","name":"The Many Uses of Visual Testing - AI-Powered End-to-End Testing | Applitools","isPartOf":{"@id":"https:\/\/app14743.cloudwayssites.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage"},"image":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg","datePublished":"2020-11-20T01:53:50+00:00","dateModified":"2024-11-07T23:48:53+00:00","description":"A\/B testing. Accessibility Testing. Cross Browser Testing. Localization testing. Automated visual testing speeds up development processes.","breadcrumb":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730828554142"},{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829159662"},{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829262674"},{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829279881"},{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829295631"},{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829315245"},{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829343623"},{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829356005"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#primaryimage","url":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg","contentUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/11\/a-swiss-army-style-of-muli-tool-knife-and-equipmen-YT8YR7Q.jpg","width":2000,"height":1333},{"@type":"BreadcrumbList","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/app14743.cloudwayssites.com\/"},{"@type":"ListItem","position":2,"name":"Product","item":"https:\/\/app14743.cloudwayssites.com\/blog\/category\/product\/"},{"@type":"ListItem","position":3,"name":"The Many Uses of Visual Testing"}]},{"@type":"WebSite","@id":"https:\/\/app14743.cloudwayssites.com\/#website","url":"https:\/\/app14743.cloudwayssites.com\/","name":"Applitools Visual AI","description":"Applitools delivers full end-to-end test automation with AI infused at every step.","publisher":{"@id":"https:\/\/app14743.cloudwayssites.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/app14743.cloudwayssites.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/app14743.cloudwayssites.com\/#organization","name":"Applitools","url":"https:\/\/app14743.cloudwayssites.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/","url":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png","contentUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png","width":156,"height":28,"caption":"Applitools"},"image":{"@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/bef60d60f816d3253a3e37120c0b9bba","name":"Angie Jones","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/60864923503620d0b54e2493ef75b9d8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/60864923503620d0b54e2493ef75b9d8?s=96&d=mm&r=g","caption":"Angie Jones"},"url":"https:\/\/app14743.cloudwayssites.com\/blog\/author\/angiejones\/"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730828554142","position":1,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730828554142","name":"What is visual testing?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Visual testing is a technique that uses UI snapshots to verify the appearance of an application. By capturing screenshots of the application, it helps ensure the UI looks as expected, identifying cosmetic and visual bugs that functional testing tools may miss.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829159662","position":2,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829159662","name":"How does Applitools support visual testing?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Applitools provides automated visual testing through its Visual AI technology, which takes a baseline screenshot of your application during the initial test. This baseline is then used in regression tests to compare the UI, highlighting any differences that may impact user experience.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829262674","position":3,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829262674","name":"Can visual testing be used for functional validation?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Yes, visual testing can help increase coverage by validating visual elements that functional checks might miss, such as verifying colors, layout, and alignment across different test scenarios.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829279881","position":4,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829279881","name":"How can visual testing improve localization testing?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Visual testing simplifies localization testing by visually validating the UI for multiple languages and cultural variations. This approach helps catch issues like text overflow, misaligned elements, or incorrect language usage, which can be hard to verify programmatically.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829295631","position":5,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829295631","name":"Is visual testing helpful for cross-platform testing?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Absolutely! Visual testing can be used to test the UI across different devices, browsers, and viewports. This approach quickly identifies visual inconsistencies that may arise from changes in viewport size or device type, without the need for conditional logic for each platform.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829315245","position":6,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829315245","name":"Can visual testing detect accessibility issues?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Visual testing can complement accessibility tools by detecting issues like low-contrast text or small font sizes. While it doesn\u2019t replace specialized accessibility tools, it offers an additional layer of visual validation to enhance accessibility checks.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829343623","position":7,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829343623","name":"How does visual testing handle A\/B testing scenarios?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Visual testing can streamline A\/B testing by supporting multiple baseline images. This allows testers to validate both variations without adding complex conditionals, ensuring that any visual changes between versions are detected.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829356005","position":8,"url":"https:\/\/app14743.cloudwayssites.com\/blog\/many-uses-of-visual-testing\/#faq-question-1730829356005","name":"Can visual testing be used to test Dark Mode?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Yes, visual testing is useful for Dark Mode testing, as it can detect issues like missing or low-contrast text that might be overlooked in traditional testing. This helps ensure a consistent user experience across both Light and Dark Mode.","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/posts\/24593"}],"collection":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/comments?post=24593"}],"version-history":[{"count":0,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/posts\/24593\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/media\/24639"}],"wp:attachment":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/media?parent=24593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/categories?post=24593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/tags?post=24593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}