{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/APl7ZimmVbadQq9oVYNr/lL15AhBLT9iP5g45xGOa/qfddknsE_-3.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{ComponentPresetsConsumer as i,Link as n}from\"framer\";import{motion as s}from\"framer-motion\";import*as o from\"react\";import{Youtube as a}from\"https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/1de6WpgIbCrKkRcPfQcW/YouTube.js\";import r from\"https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/QVzZltTawVJTjmjAWG3C/CodeBlock.js\";export const richText=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Developers will make anything they work on sound more complicated than a lunar rendezvous while maintaining everyone else's work would only be a generous \\\"2 points, max\\\". They'll often care an unhealthy amount as they create their fresh branch, likely planning a new code pattern or finally getting an excuse to do the refactor that's been annoying them for 6 months.\"}),/*#__PURE__*/e(\"p\",{children:'Fast forward a few column transitions and \"longer than anyone could have expected\". Plus 1,234 rounds of design alterations. And \"that person\" interrupting their progress twice daily for a \"progress update\". Understandably, they\\'re done!'}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/t(\"strong\",{children:[\"The feature is done when the developer is done.\",/*#__PURE__*/e(\"br\",{}),\" - Sappo \"]})})}),/*#__PURE__*/e(\"p\",{children:\"Enter a tester, someone whose job role always seems to have unique existential stress. If they miss defects, they might need a new job soon. If they find every defect but piss off the entire engineering team while raising them, they might need a new job soon. If someone wishes to try a profit-boosting strategy of offshore testing, possibly even-further-offshore testing, they might need a new job soon. And finally, if they proactively develop a fantastic engineering culture of high quality, they might need a new job soon.\"}),/*#__PURE__*/e(\"p\",{children:'Needless to say, testers can be quite incentivized to raise tickets. So, when a feature reaches a tester, they have the same energy the developer had when they started the feature. It\\'s my observation they often have even more. Time pressures are typically higher at this stage, and everyone longs for the QA \"green light\" with as much patience as a 5-year-old at 6 am on Christmas morning.'}),/*#__PURE__*/e(\"p\",{children:'Then they find something. A few may think \"Yes, Ha, This code sucks!\" but most seem to be somewhat nervous when discovering something and try to approach raising defects in a way to minimize friction. Sadly, quite often to the same levels of friction anyway.'}),/*#__PURE__*/e(\"p\",{children:\"I've been a developer for over two decades, then jumped into a dedicated QA role for a few years before co-founding DoesQA. I've worked in great and terrible teams and have a few tips that will hopefully help.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Tips for testers:\"})}),/*#__PURE__*/e(\"h3\",{children:\"Increase your understanding of development.\"}),/*#__PURE__*/e(\"p\",{children:\"Wherever your skills are currently, increasing your knowledge will only give you more empathy for how hard it is to work in large development teams with constant deadlines. Coding is the easy part of the job.\"}),/*#__PURE__*/e(\"h3\",{children:\"Talk to the developer BEFORE you start testing!\"}),/*#__PURE__*/e(\"p\",{children:\"It doesn't matter if they're your best friends or if you've never spoken to them before; talk to them before you start testing. I cannot stress enough. Ideally, this will be a quick chat/huddle, but dropping them a simple message will go a long way if you raise issues. Cover the following:\"}),/*#__PURE__*/t(\"ol\",{style:{\"--framer-text-color\":\"rgb(14, 16, 26)\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-text-color\":\"rgb(14, 16, 26)\"},children:/*#__PURE__*/e(\"p\",{children:\"Let them know you're about to start testing one of their features with a link to the ticket\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-text-color\":\"rgb(14, 16, 26)\"},children:/*#__PURE__*/e(\"p\",{children:\"Ask them if anything was more complicated than they expected.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-text-color\":\"rgb(14, 16, 26)\"},children:/*#__PURE__*/e(\"p\",{children:\"Ask them if any areas deserve special attention.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-text-color\":\"rgb(14, 16, 26)\"},children:/*#__PURE__*/e(\"p\",{children:\"Ask them if they'd like you to reach out before raising anything or if they would prefer to keep their head down on whatever they moved on to.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Avoid using words like Defect, Bug, and Regression,\"}),/*#__PURE__*/e(\"p\",{children:'These are valid technical words, but we\\'re all human, and if you want a good working relationship, it\\'s worth the effort to come up with some slightly more creative terms. I did a talk in Cardiff, Wales, where I made a case for using \"Quirk\". It\\'s a little softer and sounds more like a question than a conclusion. \"I found a quirk\" vs \"I found a defect\".'}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Tips for Developers:\"})}),/*#__PURE__*/e(\"h3\",{children:\"Increase your understanding of testing\"}),/*#__PURE__*/e(\"p\",{children:\"I know you test your stuff, but in the same way development is more than just coding; testing as a job is more than just the testing part. You probably love coding but may, at least sometimes, hate your job. It's the same inside QA. Please understand that going long during the development phase will increase the pressure on QA. As a result, they may have less time but are expected to be just as thorough and confident. I've seen testers working late to make up for this all too often without anyone else noticing. When something goes long, try to support the testers. Just asking if they still have enough time will go a long way.\"}),/*#__PURE__*/e(\"h3\",{children:\"Allow a little overlap time\"}),/*#__PURE__*/e(\"p\",{children:\"It's easy to neutralize yourself, Men In Black style, as soon as you move a ticket one column to the right. Have you had it where a defect gets raised, and you think, \\\"Yeah, I vaguely remember working on that when I was just a kid\\\" to be reminded you only moved the ticket two days ago? Stay involved in the tickets you've touched but are still in play; it'll help everyone if anything gets raised.\"}),/*#__PURE__*/e(\"h3\",{children:\"Caring looks great\"}),/*#__PURE__*/e(\"p\",{children:\"In any team of developers, there'll always be some who care a bit more and others who care less. Everyone notices this. Arguing something isn't a defect looks much worse than saying \\\"nice find\\\" and then asking the ScrumMaster, Delivery Manager, or whoever is ultimately responsible for the team's output to triage the issue against everything else. Remember, quirks are a side effect of moving at pace; companies want you to move quickly and have QAs to allow you to do this.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Finally, here's one tip for everyone.\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:\"(if you only remember one, make it this one!)\"})}),/*#__PURE__*/e(\"p\",{children:'Never say \"hey\", \"hi\", \"yo\", or whatever your go-to is in one message, then leave a long pause, then slowly start typing your actual message. Nobody likes watching those little dots bounce around with your \"[YOUR NAME] is typing.\"'}),/*#__PURE__*/t(\"p\",{children:[\"If you do this, you don't have a developer/tester relationship issue; you are just the worst! \",/*#__PURE__*/e(\"strong\",{children:\"Please stop it.\"})]})]});export const richText1=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:{webPageId:\"HGeE8fLXr\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Codeless test automation\"})}),\" involves using tools that require minimal or no coding skills to create automated test scripts. Low-code automation testing consists of some level of coding but with a visual, user-friendly interface.\"]}),/*#__PURE__*/e(\"p\",{children:\"Imagine a world of robots with different skill levels. In this realm, codeless robots excel at performing tasks without needing intricate programming\u2014they follow straightforward instructions effortlessly. Low-code robots, on the other hand, possess a bit more coding finesse. They can handle more complex tasks using a simplified coding language akin to a robot-friendly shorthand. The key lies in each robot's varying degrees of coding autonomy, allowing them to navigate tasks efficiently based on their programming sophistication.\"}),/*#__PURE__*/e(\"p\",{children:\"Codeless, low-code, and no-code test automation represent a spectrum of approaches to automation testing, each catering to different user preferences and technical proficiencies. Tools provide a visual interface in codeless test automation, enabling users with minimal coding skills to create automated test scripts using pre-built modules and actions. This approach is ideal for manual or user behavior testers who may lack extensive coding knowledge but want to participate in the automation process.\"}),/*#__PURE__*/e(\"p\",{children:\"Low-code automation testing introduces more coding flexibility. While still utilizing a visual interface, it allows users with some coding experience to customize and extend automation scripts using simplified scripting languages. This strikes a balance between codeless simplicity and the ability to handle more complex scenarios, making it suitable for a broader range of users, including testers with moderate coding skills.\"}),/*#__PURE__*/t(\"p\",{children:[\"No-code test automation takes simplicity further, targeting users with no coding background. These tools rely on \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"visual, drag-and-drop interfaces\"})}),\", allowing users to create automated tests without writing code. While no-code tools may have limitations in handling highly complex scenarios, they empower a wider audience, including business analysts and domain experts, to actively participate in the test automation process.\"]}),/*#__PURE__*/e(\"p\",{children:\"In summary, the key difference lies in the coding expertise required. Codeless is for those with minimal coding skills, low-code offers more flexibility for those with some coding experience, and no-code is designed for users with no coding background. These approaches aim to democratize test automation, making it accessible to a diverse range of users and ultimately contributing to increased speed and reliability in the testing process.\"})]});export const richText2=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What is Lighthouse?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Lighthouse is an essential tool\"}),\" by Google to help engineers build high-quality web solutions.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Typically it is run via a Chrome extension to assess \",/*#__PURE__*/e(\"strong\",{children:\"webpage performance\"}),\", \",/*#__PURE__*/e(\"strong\",{children:\"SEO\"}),\", and \",/*#__PURE__*/e(\"strong\",{children:\"accessibility\"}),\". Lighthouse identifies areas for improvement, making it a valuable asset in improving the end user\u2019s experience.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Is Lighthouse Automation Worth it?\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Yes, Lighthouse automation is worth adding to any test automation pack.\"})}),/*#__PURE__*/e(\"p\",{children:\"The valuable reports on web performance, accessibility, SEO, and more will improve the quality of your service.\"}),/*#__PURE__*/e(\"p\",{children:\"The trouble typically comes from the significant time investment to integrate Lighthouse into an existing code-based automation test pack.\"}),/*#__PURE__*/e(\"h2\",{children:\"Add Lighthouse to your automated tests in seconds!\"}),/*#__PURE__*/e(\"p\",{children:\"Utilizing codeless test automation and the magic of \u201Cdrag-and-drop\u201C, you can add Lighthouse to an existing test OR build a new Lighthouse test in seconds!\"}),/*#__PURE__*/e(\"p\",{children:\"Given the benefits of improving your website optimization, user experience and search engine rankings with the near-zero \u201Ctime-cost\u201C, we encourage all automation testers and SEO experts to use these tools.\"}),/*#__PURE__*/e(\"h2\",{children:\"How do I get started?\"}),/*#__PURE__*/t(\"p\",{children:[\"If you \",/*#__PURE__*/e(n,{href:\"https://does.qa\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"need a DoesQA account\"})}),\", you can \",/*#__PURE__*/e(n,{href:{webPageId:\"l9knRz8Kt\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"sign up now\"})}),\" and expect your Lighthouse test to run in roughly 5 minutes.\"]}),/*#__PURE__*/e(\"p\",{children:\"If you already have a DoesQA account, continue with the following steps.\"}),/*#__PURE__*/e(\"h2\",{children:\"Lighthouse Automation Step-by-Step Guide (~59s)\"}),/*#__PURE__*/e(\"p\",{children:\"This will guide you through creating a new Flow to test a single page.\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Create a new Flow\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Name it. We\u2019ll use \u201CLighthouse\u201C and click save\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Drag in the \u201COpen\u201C Node from the Node Library into the main panel\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Double-click this Node in the main panel to open it\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Enter the URL of the page you wish to test. We\u2019ll use \u201C\",/*#__PURE__*/e(n,{href:\"https://qaqql.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"https://qaqql.com\"})}),\"\u201C\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Scroll down the Node Library to \u201CValidators\u201C and drag in all the Lighthouse Nodes you want\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Double-click each and enter the minimum Value you expect. We\u2019ll enter 80 for each\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"\u201CWire up\u201C the Nodes to create a single continuous Flow\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Hit Run (this will create a test and take you to the results view)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"After a short delay, your test will start, and you\u2019ll soon have your results\"})})]})]});export const richText3=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:'Some of you probably saw this and scoffed, \"Not mine\". If that was you \uD83E\uDEF5, stop reading this and start looking for a new job. I imagine you\\'re significantly underpaid!'}),/*#__PURE__*/e(\"p\",{children:\"Have they gone yet? Good, I wouldn't say it to their face, but their code is shit too!\"}),/*#__PURE__*/e(\"p\",{children:\"Now that it's just us mere mortals let's continue.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"All new code is shit!\"})}),/*#__PURE__*/e(\"p\",{children:\"Sounds controversial? It's not! We can all think of examples of shit code, maybe from code we committed or famous stories from Google, Nasa, Moonpig, etc, etc... etc.\"}),/*#__PURE__*/e(\"p\",{children:'There are layers of protection in engineering teams. Unit tests, pair programming, PR reviews, automated regression tests, manual testing, What\\'s it all they for if not to catch shit code before it becomes \"live shit code\"?'}),/*#__PURE__*/e(\"p\",{children:\"A lot of additional effort is spent on every dev task!\"}),/*#__PURE__*/e(\"p\",{children:'Would you skip all other steps if a dev said, \"It\\'s good\"? Probably not. After being a developer for over two decades, I would never say this if I thought something was going straight out! It\\'s only \"good enough\" to proceed to the next stage of checks.'}),/*#__PURE__*/e(\"p\",{children:\"It's a lot of time! And it's a lot of new code to test new code. The Unit tests and any new automated regression tests are new code, and \\\"all new code is shit\\\".\"}),/*#__PURE__*/e(\"p\",{children:'Let\\'s get ridiculous for a second. Should the automated regression tests have unit tests? Should there be a testing team that tests the testing team? Should it be \"Testers all the way down\"?'}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Good devs, shit code!\"})}),/*#__PURE__*/e(\"p\",{children:'It\\'s \"all new code is shit,\" not \"developers are shit\"! Most code nowadays is developed in \"a sprint\".'}),/*#__PURE__*/e(\"p\",{children:'Have you ever tried making an omelet in a sprint? You\\'d likely break as many legs as eggs. Has anyone ever done their best work with someone watching over them, whispering \"I thought this was only 3 points of effort\".'}),/*#__PURE__*/e(\"p\",{children:'The development process is broken, but that\\'s another rant for another day! The takeaway is all great code came from a dev, but it probably started as \"new shit code\".'}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"381\",src:\"https://framerusercontent.com/images/UVLvMadjYmLlGqBVJ50nPUWzX2Q.png\",srcSet:\"https://framerusercontent.com/images/UVLvMadjYmLlGqBVJ50nPUWzX2Q.png?scale-down-to=512 512w,https://framerusercontent.com/images/UVLvMadjYmLlGqBVJ50nPUWzX2Q.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/UVLvMadjYmLlGqBVJ50nPUWzX2Q.png 1280w\",style:{aspectRatio:\"1280 / 762\"},width:\"640\"}),/*#__PURE__*/t(\"p\",{children:[\"Credit: \",/*#__PURE__*/e(n,{href:\"https://taplink.cc/mo_selim_art\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Mo Selim\"})})})]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:'How does \"new shit code\" become \"great code\"?'})}),/*#__PURE__*/e(\"p\",{children:\"It's not like fine wine or whiskey, which improves with age, changing on a chemical level. Nor is it like a Magikarp evolving almost instantly from shitness to greatness.\"}),/*#__PURE__*/e(\"p\",{children:\"Great code is more like nostalgia from a song you initially had no love for.\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"384\",src:\"https://framerusercontent.com/images/f4erIkc6nbDwLqsPi4J3I7vufY.png\",srcSet:\"https://framerusercontent.com/images/f4erIkc6nbDwLqsPi4J3I7vufY.png?scale-down-to=512 512w,https://framerusercontent.com/images/f4erIkc6nbDwLqsPi4J3I7vufY.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/f4erIkc6nbDwLqsPi4J3I7vufY.png 1536w\",style:{aspectRatio:\"1536 / 768\"},width:\"768\"}),/*#__PURE__*/e(\"p\",{children:\"You might even have hated the song when it first came out and would grit your teeth if you ever heard it played in the background of a shop. But then, one day, you hear it again, and it hits differently. It hasn't changed, but it has stood the test of time, and now you have a greater appreciation for its beauty. You even find yourself enjoying it. It's gone from shit to great without changing.\"}),/*#__PURE__*/e(\"p\",{children:'Time is the only factor that proves code. If it\\'s shit, you or your customers will catch it, eventually. The code will change from \"new shit code\" to \"newer shit code\" and the clock resets.'}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:'How do we move fast while increasing the \"great code\" percentage?'})}),/*#__PURE__*/e(\"p\",{children:\"I'd suggest two things:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Use code that is already tried and tested. Your dev team is likely doing this, utilizing open-source modules or third parties.\\xa0\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'Stop testing your bespoke \"new shit code\" with your own bespoke \"new shit code\".'})})]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"End. Fin. Stop reading!\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"You're still reading! Stop it!\"})}),/*#__PURE__*/e(\"p\",{children:\"Ok, so now it's just me pondering to myself. Some more cynically-minded people will see a marketing piece than an honest rant. They will think, \\\"If my new code is shit, why isn't their new code shit, too?\\\". I guess it is, or was, or is a mixture of both.\"}),/*#__PURE__*/e(\"p\",{children:\"Maybe I should address this in the post? But would that seem defensive? Probably.\"}),/*#__PURE__*/e(\"p\",{children:\"Maybe I should make the point that although time is the only factor that proves code, it\u2019s not measured in days, one to the next, but in seconds of use. hmm.\"}),/*#__PURE__*/e(\"p\",{children:\"Anyway, I better get back to writing some more shit code... send it!\"})]});export const richText4=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"The Problem\"}),/*#__PURE__*/e(\"p\",{children:\"When running automated tests it\u2019s important that that environment is controlled, with no rouge GTM scripts injecting popups, or other domains interfering with the DOM.\"}),/*#__PURE__*/e(\"p\",{children:\"This provides a challenge when running automated tests if the popup criterion is not consistent (for example, a 50/50 split on popup showing). So the question is: How do I block popups in Automated Tests?\"}),/*#__PURE__*/e(\"h3\",{children:\"The Solution\"}),/*#__PURE__*/e(\"p\",{children:\"To find that pesky popup source can be difficult. We recommend you look for any 3rd party calls (outbound calls that are not from your domain) on page load. This can help you hone in on the domain that is causing the popup. Below is a list of 10 examples.\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Popup Maker\"}),\" Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://popupmaker.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"popupmaker.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Elementor \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://elementor.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"elementor.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"OptinMonster \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://optinmonster.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"optinmonster.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"SumoMe (Sumo) \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://sumo.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"sumo.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Ninja Popups \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://arscode.pro/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"arscode.pro\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Bloom by Elegant Themes \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://elegantthemes.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"elegantthemes.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"TrustPulse \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://trustpulse.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"trustpulse.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"WP Popups \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://wppopups.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"wppopups.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Thrive Leads \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://thrivethemes.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"thrivethemes.com\"})})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"ConvertPlus \"}),\"Domain: \"]}),/*#__PURE__*/e(n,{href:\"https://convertplus.io/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"em\",{children:\"convertplus.io\"})})})]})})]}),/*#__PURE__*/t(\"p\",{children:[\"With DoesQA, you are able to block domains from your account settings. As an example, we are blocking \",/*#__PURE__*/e(\"strong\",{children:\"popup.welovetesting.com\"}),\" in the below image.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"349\",src:\"https://framerusercontent.com/images/44tUmzFqleFKvlZjCjKkmteaYg.png\",srcSet:\"https://framerusercontent.com/images/44tUmzFqleFKvlZjCjKkmteaYg.png?scale-down-to=512 512w,https://framerusercontent.com/images/44tUmzFqleFKvlZjCjKkmteaYg.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/44tUmzFqleFKvlZjCjKkmteaYg.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/44tUmzFqleFKvlZjCjKkmteaYg.png 2500w\",style:{aspectRatio:\"2500 / 699\"},width:\"1250\"}),/*#__PURE__*/e(\"p\",{children:\"Now all tests that run on our platform automatically block this hostname. This way there will be no interference with the test that is running.\"})]});export const richText5=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Yes, high-quality websites, backed by user behaviour testing and codeless/low code automation, perform better.\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine walking down a high street bustling with activity. Among the row of shops, there's one with a pristine, welcoming shopfront, clear signage, and an open door. You're instantly drawn to it, curious about what's inside. It's irresistible! This shop stands out in a sea of ordinary. Similarly, high-quality websites are the standout shopfronts in the bustling online marketplace.\"}),/*#__PURE__*/e(\"p\",{children:\"A high-quality website goes beyond just aesthetics; it's about providing a seamless user experience. Just like that captivating shopfront on the high street attracts more visitors, a well-structured and user-friendly website entices and retains more users. Slow-loading pages, broken links, or unintuitive design can deter potential customers, leading to decreased engagement and conversions.\"}),/*#__PURE__*/e(\"p\",{children:\"This is where the magic of manual testers, the user behavior experts, comes into play. These testers act as potential visitors, exploring the digital storefront to identify areas of friction. Pairing this with the speed and reliability of codeless or low-code automation tools can quickly rectify these issues. Together, they ensure that the website not only looks good but also functions efficiently, leading to improved performance, higher user satisfaction, and ultimately, better business outcomes.\"})]});export const richText6=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Yes, automated testing is worth it when combined with manual (user behaviour) testing and using codeless/low code tools.\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're riding a bike downhill at full speed. It's thrilling, the wind whooshing past, your heart racing. But you've forgotten your helmet at home. Now, the downhill ride becomes a balancing act, between the thrill and the lurking danger. That's like diving headfirst into software development without automated testing. It might seem exciting at first, but you're missing a protective layer.\"}),/*#__PURE__*/e(\"p\",{children:\"Automated testing provides consistency and repeatability, making it an invaluable tool in a software quality assurance toolkit. Just as the helmet protects a cyclist from potential dangers, automated tests protect software projects from unintentional regressions and bugs. Automated tests can run through a set of instructions rapidly, ensuring that the system behaves as expected. This allows for faster feedback and helps teams maintain a certain level of code quality over time.\"}),/*#__PURE__*/e(\"p\",{children:\"However, solely relying on automated testing can be akin to riding a bike in unfamiliar territory. You might be protected by your helmet (your automated tests), but you might not foresee the bumps or sharp turns (unexpected user behaviour). Manual testers, as \\\"user behaviour testers\\\", provide insight into real-world user interactions and understand the intricacies of the human experience. By combining manual testing's depth with automated testing's breadth, one ensures a well-rounded approach. Additionally, introducing codeless or low code automation can enhance the testing process, speeding up test creation without the intricacies of writing code.\"})]});export const richText7=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Yes, too much domain knowledge can lead to biases and assumptions, potentially missing user behavior nuances.\"})}),/*#__PURE__*/e(\"p\",{children:\"In the land of Zephyria, there existed a mystical key master named Elara. She possessed keys to every lock, secret passage, and vault. Over time, she knew the locks so well that she believed there was no lock she couldn't open. However, one day, a child approached her with a small, peculiar box. Elara, with her vast knowledge, dismissed the box as trivial and tried all her regular keys. To her astonishment, none worked. The child, seeing her struggle, simply turned the box upside down, revealing a button that unlocked it. Sometimes, too much knowledge blinds one from seeing simpler solutions.\"}),/*#__PURE__*/e(\"p\",{children:\"Having extensive domain knowledge can certainly be valuable, as it can lead to efficient decision-making and problem-solving. However, when one is deeply embedded within a specific domain, there is a risk of becoming too insular or stuck in a particular way of thinking. This can lead to overlooking fresh perspectives or innovative solutions that someone with a fresher, more naive approach might spot.\"}),/*#__PURE__*/e(\"p\",{children:'Additionally, for user behavior testers, too much domain knowledge might mean making assumptions about user behavior based on what one \"knows\" should happen. This can lead to overlooking critical usability issues that a new or less experienced user might encounter. Codeless and low code automation, for instance, can help bridge this gap, ensuring tests emulate diverse user behavior without the constraints of deep domain knowledge.'})]});export const richText8=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Enhancing Quality Assurance and Cost-Efficiency at END. Clothing with DoesQA\"}),/*#__PURE__*/e(\"h2\",{children:\"Automation Bottleneck\"}),/*#__PURE__*/t(\"p\",{children:[\"In the fast-paced world of fashion eCommerce, where user experience is king, END. Clothing's commitment to quality has made it an industry leader. However, \",/*#__PURE__*/e(\"strong\",{children:\"the existing test automation was becoming a bottleneck, consuming both time and financial resources\"}),\".\"]}),/*#__PURE__*/t(\"p\",{children:[\"The introduction of DoesQA, a cutting-edge \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Codeless Test Automation\"})}),\" tool, transformed the Quality Assurance (QA) landscape at END. Clothing.\"]}),/*#__PURE__*/e(\"h3\",{children:\"The Situation: Eroding Confidence & Escalating Costs\"}),/*#__PURE__*/e(\"h2\",{children:\"Lost Confidence in Traditional Testing\"}),/*#__PURE__*/e(\"p\",{children:\"The traditional test pack built over 9+ months using Cypress started to create scepticism among the development, engineering, and leadership teams. Long lead times, frequent false negatives, and a cumbersome maintenance process eroded confidence in test results. This uncertainty led to delays in decision-making, adversely affecting the ability to adapt to market changes.\"}),/*#__PURE__*/e(\"h2\",{children:\"Financial Burden of Old Pack\"}),/*#__PURE__*/e(\"p\",{children:\"The existing test pack's complexity required constant maintenance and updates, translating to substantial costs. The continual investment of time and money was becoming unsustainable, especially in an industry where agility and responsiveness are vital.\"}),/*#__PURE__*/e(\"h3\",{children:\"The Solution: Migrate to DoesQA\"}),/*#__PURE__*/e(\"h2\",{children:\"Time & Cost Saving\"}),/*#__PURE__*/t(\"p\",{children:[\"DoesQA's seamless migration process allowed END. Clothing to transfer the entire 9-month test pack within days. The prompt \",/*#__PURE__*/e(\"strong\",{children:\"transition significantly reduced both the time-to-market for new features and the associated costs\"}),\". This was the best Automated Testing ROI on the market!\"]}),/*#__PURE__*/e(\"h2\",{children:\"Professional Services: On-Time Project Delivery\"}),/*#__PURE__*/t(\"p\",{children:[\"The Magento Upgrade, a key project for END. Clothing's eCommerce platform was \",/*#__PURE__*/e(\"strong\",{children:\"expertly handled by DoesQA\"}),\". The professional services ensured timely completion, reinforcing trust in the test process, vital for restoring business confidence.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Rebuilding Team Confidence\"}),/*#__PURE__*/t(\"p\",{children:[\"DoesQA\u2019s transparent and reliable testing reinvigorated the confidence among various teams. The \",/*#__PURE__*/e(\"strong\",{children:\"accuracy and speed of test results helped in making informed go/no-go decisions\"}),\", aligning the organization with a unified vision of quality.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Automated Continuous Testing: Preventing Defects\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"With over 30,000 tests run in just a month\"}),\", DoesQA's continuous testing helped detect and rectify defects before they reached production. This proactive approach saved additional costs linked to post-production defect management.\"]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"A New Era of QA with DoesQA\"})})}),/*#__PURE__*/t(\"p\",{children:[\"DoesQA has positioned itself as an \",/*#__PURE__*/e(\"strong\",{children:\"indispensable partner for END. Clothing\"}),\", reviving confidence in QA, \",/*#__PURE__*/e(\"strong\",{children:\"saving considerable time and costs\"}),\", and ushering in a new era of efficiency.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"em\",{children:'\"We would never go back!\"'})}),/*#__PURE__*/e(\"p\",{children:\"Fashion eCommerce companies grappling with similar challenges must explore DoesQA's revolutionary approach to QA.\"})]});export const richText9=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"All codeless test automation tools provide significant benefits to high-velocity teams.\"}),/*#__PURE__*/t(\"p\",{children:[\"The primary advantages of all these tools are the same;\\xa0\",/*#__PURE__*/e(\"strong\",{children:\"Speed\"}),\",\\xa0\",/*#__PURE__*/e(\"strong\",{children:\"Ease\"}),\"\\xa0and\\xa0\",/*#__PURE__*/e(\"strong\",{children:\"Test Reliability\"}),\". With intuitive user interfaces, tests can be created and maintained faster and without coding experience.\"]}),/*#__PURE__*/t(\"p\",{children:[\"All codeless test automation tools abstract the code behind different \u201Cflavours\u201C of user interface. These functions are then provided to all customers resulting in \",/*#__PURE__*/e(\"strong\",{children:\"very reliable tests\"}),\".\"]}),/*#__PURE__*/t(\"p\",{children:[\"In addition, all the codeless tools here use a custom-made test runner increasing reliability further and typically \",/*#__PURE__*/e(\"strong\",{children:\"much faster test execution\"}),\".\"]}),/*#__PURE__*/t(\"h2\",{children:[\"#1 \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"DoesQA\"})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Codeless test automation\"})})}),\" that\u2019s more powerful than code!\"]}),/*#__PURE__*/e(\"p\",{children:\"Any team member can create and maintain complex automation tests easily, enabling QA to keep pace with development while reducing costs.\"}),/*#__PURE__*/t(\"p\",{children:[\"With a full range of advanced Nodes, including API, \",/*#__PURE__*/e(n,{href:{webPageId:\"j8vkaNlXd\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Visual Regression\"})}),\", \",/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Pa11y\"})}),\", \",/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Lighthouse\"})}),\", and many more, you\u2019ll be able to create tests in minutes which would have taken months in code.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"DoesQA\"}),\" supports branching tests which eliminate a massive amount of duplicate tests, meaning updates are only required in one place. Testers can simply branch off one path and add checks for all edge cases within a single Flow.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"243\",src:\"https://framerusercontent.com/images/TZWQs0oLDYH5PTce4Tc3mU2YCNQ.png\",srcSet:\"https://framerusercontent.com/images/TZWQs0oLDYH5PTce4Tc3mU2YCNQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/TZWQs0oLDYH5PTce4Tc3mU2YCNQ.png 864w\",style:{aspectRatio:\"864 / 486\"},width:\"432\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Takeaways\"})}),/*#__PURE__*/t(\"p\",{children:[\"\u2705 Unlimited parallel runners\",/*#__PURE__*/e(\"br\",{}),\"\u2705 Multi-browser \",/*#__PURE__*/e(\"em\",{children:\"(Chrome, Firefox, Edge & emulated devices)\"}),/*#__PURE__*/e(\"br\",{}),\"\u2705 Functional testing\",/*#__PURE__*/e(\"br\",{}),\"\u2705 Visual regression\",/*#__PURE__*/e(\"br\",{}),\"\u2705 Branching tests\",/*#__PURE__*/e(\"br\",{}),\"\uD83D\uDCB2 Fixed pricing\"]}),/*#__PURE__*/e(\"h3\",{children:\"#2 mabl\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.mabl.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"mabl\"})}),\" is an AI-driven, low-code test automation tool that offers high-velocity software teams the ability to integrate end-to-end tests seamlessly into their development process. With a unified platform for browser, API, and PDF testing, it reduces effort and can improve test coverage.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"243\",src:\"https://framerusercontent.com/images/rTG2awX91DtOtnTt7OA7djfm8.png\",srcSet:\"https://framerusercontent.com/images/rTG2awX91DtOtnTt7OA7djfm8.png?scale-down-to=512 512w,https://framerusercontent.com/images/rTG2awX91DtOtnTt7OA7djfm8.png 864w\",style:{aspectRatio:\"864 / 486\"},width:\"432\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Takeaways\"})}),/*#__PURE__*/t(\"p\",{children:[\"\u2705 Unlimited parallel runners\",/*#__PURE__*/e(\"br\",{}),\"\u2705 Multi-browser \",/*#__PURE__*/e(\"em\",{children:\"(Chrome & Firefox as standard)\"}),/*#__PURE__*/e(\"br\",{}),\"\u2705 Functional testing\",/*#__PURE__*/e(\"br\",{}),\"\u2705 Visual regression\",/*#__PURE__*/e(\"br\",{}),\"\u274C Branching tests\",/*#__PURE__*/e(\"br\",{}),\"\uD83D\uDCB2 Hidden pricing\"]}),/*#__PURE__*/e(\"h3\",{children:\"#3 Rainforest QA\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.rainforestqa.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Rainforest QA\"})}),\" is an on-demand QA automation tool enabling teams to integrate testing into their development workflow seamlessly. With an AI-powered execution engine, it offers fast, reliable, and scalable results for executing large codeless test automation suites through a simple API call.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"243\",src:\"https://framerusercontent.com/images/QfW5JrT3gDjWrqlWA8o329tNhc.png\",srcSet:\"https://framerusercontent.com/images/QfW5JrT3gDjWrqlWA8o329tNhc.png?scale-down-to=512 512w,https://framerusercontent.com/images/QfW5JrT3gDjWrqlWA8o329tNhc.png 864w\",style:{aspectRatio:\"864 / 486\"},width:\"432\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Takeaways\"})}),/*#__PURE__*/t(\"p\",{children:[\"\u2611\uFE0F Unlimited parallel runners\",/*#__PURE__*/e(\"br\",{}),\"\u2611\uFE0F Multi-browser \",/*#__PURE__*/e(\"em\",{children:\"(available on higher plans)\"}),/*#__PURE__*/e(\"br\",{}),\"\u2705 Functional testing\",/*#__PURE__*/e(\"br\",{}),\"\u2705 Visual regression\",/*#__PURE__*/e(\"br\",{}),\"\u274C Branching tests\",/*#__PURE__*/e(\"br\",{}),\"\uD83D\uDCB2 Fixed pricing starts at $30k, flexible pricing offered $5 per hour\"]}),/*#__PURE__*/e(\"h3\",{children:\"#4 leapwork\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.leapwork.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"leapwork\"})}),\" is an AI-powered codeless test automation platform that enables fast and code-free automation across various applications and technologies. It's a strategic Microsoft partner for Dynamics 365 and Power Platform, offering end-to-end solutions and AI guidance.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"243\",src:\"https://framerusercontent.com/images/h0s1uzKTBykUoJYMB6gbDz0o4c.png\",srcSet:\"https://framerusercontent.com/images/h0s1uzKTBykUoJYMB6gbDz0o4c.png?scale-down-to=512 512w,https://framerusercontent.com/images/h0s1uzKTBykUoJYMB6gbDz0o4c.png 864w\",style:{aspectRatio:\"864 / 486\"},width:\"432\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Takeaways\"})}),/*#__PURE__*/t(\"p\",{children:[\"\uD83E\uDD37\u200D\u2640\uFE0F Unlimited parallel runners \",/*#__PURE__*/e(\"em\",{children:\"(hidden)\"}),/*#__PURE__*/e(\"br\",{}),\"\u2705 Multi-browser\",/*#__PURE__*/e(\"br\",{}),\"\u2705 Functional testing\",/*#__PURE__*/e(\"br\",{}),\"\uD83E\uDD37\u200D\u2642\uFE0F Visual regression (unclear)\",/*#__PURE__*/e(\"br\",{}),\"\u274C Branching tests\",/*#__PURE__*/e(\"br\",{}),\"\uD83D\uDCB2 Hidden pricing\"]}),/*#__PURE__*/e(\"h3\",{children:\"#5 BugBug\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://bugbug.io/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"BugBug\"})}),\" is a low-code test automation tool for QA, developers, and product managers. It enables easy creation of end-to-end tests without repetitive manual testing, reducing costs and automating tasks. The tool offers an intuitive interface, integration options, and positive reviews from customers. BugBug is fast, ultra-simple codeless test automation.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"243\",src:\"https://framerusercontent.com/images/SSZPYOYNcD25BZDQ9BQ1f3dIOI.png\",srcSet:\"https://framerusercontent.com/images/SSZPYOYNcD25BZDQ9BQ1f3dIOI.png?scale-down-to=512 512w,https://framerusercontent.com/images/SSZPYOYNcD25BZDQ9BQ1f3dIOI.png 864w\",style:{aspectRatio:\"864 / 486\"},width:\"432\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Takeaways\"})}),/*#__PURE__*/t(\"p\",{children:[\"\u274C Unlimited parallel runners \",/*#__PURE__*/e(\"em\",{children:\"(up to 32)\"}),/*#__PURE__*/e(\"br\",{}),\"\u274C Multi-browser\",/*#__PURE__*/e(\"br\",{}),\"\u26A0\uFE0F Functional testing \",/*#__PURE__*/e(\"em\",{children:\"(some basic checks missing)\"}),/*#__PURE__*/e(\"br\",{}),\"\u274C Visual regression\",/*#__PURE__*/e(\"br\",{}),\"\u274C Branching tests\",/*#__PURE__*/e(\"br\",{}),\"\uD83D\uDCB2 Fixed pricing\"]}),/*#__PURE__*/e(\"h2\",{children:\"In Summary\"}),/*#__PURE__*/e(\"p\",{children:\"Many codeless test automation tools are available on the market, and all are designed to make testing easier, faster and more reliable.\"}),/*#__PURE__*/e(\"p\",{children:\"Some provide the power and flexibility of code, while others use record-and-playback or AI to maximise speed further.\"}),/*#__PURE__*/e(\"p\",{children:\"The best codeless test automation tool for you will come down to your specific requirements and preferences.\"})]});export const richText10=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Delays: Pauses & Wait For\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"This video covers the basics of working with slow elements. It shows how to use different Wait For options, including Wait For Enabled, and discusses time-based pauses and why waiting is generally better.\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{\"--aspect-ratio\":\"560 / 315\",aspectRatio:\"560 / 315\",height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:NEd4VmDdsxM3StIUbddO/1de6WpgIbCrKkRcPfQcW/YouTube.js:Youtube\",children:t=>/*#__PURE__*/e(a,{...t,play:\"Off\",shouldMute:!0,thumbnail:\"Medium Quality\",url:\"https://www.youtube.com/watch?v=_an60poN8b0\"})})})]});export const richText11=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Common terms in automation testing and what they mean.\"}),/*#__PURE__*/e(\"h2\",{children:\"A\"}),/*#__PURE__*/e(\"h4\",{children:\"API (Application Programming Interface)\"}),/*#__PURE__*/e(\"p\",{children:\"A set of rules and protocols that allows different software applications to communicate and interact with each other.\"}),/*#__PURE__*/e(\"h4\",{children:\"API Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing the functionality, reliability, and security of APIs to ensure they perform as expected and meet the application's requirements.\"}),/*#__PURE__*/e(\"h4\",{children:\"Acceptance Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a software application's compliance with business requirements and determining whether it is ready for deployment and use by end-users.\"}),/*#__PURE__*/e(\"h4\",{children:\"ATDD (Acceptance Test Driven Development)\"}),/*#__PURE__*/e(\"p\",{children:\"An approach where acceptance tests are written before the code is developed, helping to ensure the software meets the desired business outcomes.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Accessibility Testing\"})})}),/*#__PURE__*/t(\"p\",{children:[\"Evaluating a software application's usability and inclusivity for users with disabilities to ensure it \",/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"complies with accessibility standards\"})}),\".\"]}),/*#__PURE__*/e(\"h4\",{children:\"Actual Result\"}),/*#__PURE__*/e(\"p\",{children:\"The outcome obtained after executing a test case is compared with the expected result to identify any discrepancies.\"}),/*#__PURE__*/e(\"h4\",{children:\"Ad Hoc Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Informal and unplanned testing carried out without predefined test cases, usually used for exploratory testing or quick checks.\"}),/*#__PURE__*/e(\"h4\",{children:\"Agile Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing practices integrated into Agile development methodologies, emphasizing continuous testing, collaboration, and frequent feedback.\"}),/*#__PURE__*/e(\"h4\",{children:\"Automated Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Utilizing automated scripts and tools to execute tests, reducing manual effort and enhancing test efficiency and accuracy.\"}),/*#__PURE__*/e(\"h2\",{children:\"B\"}),/*#__PURE__*/e(\"h4\",{children:\"Big Bang Testing\"}),/*#__PURE__*/e(\"p\",{children:\"A testing approach where all components or modules are tested simultaneously without prior integration testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Black Box Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing a software application's functionality without knowing its internal code or structure.\"}),/*#__PURE__*/e(\"h4\",{children:\"Bug\"}),/*#__PURE__*/e(\"p\",{children:\"A defect or flaw in a software application that causes it to produce incorrect or unexpected results.\"}),/*#__PURE__*/e(\"h2\",{children:\"C\"}),/*#__PURE__*/e(\"h4\",{children:\"Canary Testing\"}),/*#__PURE__*/e(\"p\",{children:\"A deployment strategy where a new version of the software is tested with a small subset of users before an entire release.\"}),/*#__PURE__*/e(\"h4\",{children:\"Chaos Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing a system's ability to withstand unpredictable and adverse conditions to ensure its stability and recovery capabilities.\"}),/*#__PURE__*/e(\"h4\",{children:\"Change Requests\"}),/*#__PURE__*/e(\"p\",{children:\"Formal proposals for alterations or enhancements to a software application's functionality or features.\"}),/*#__PURE__*/e(\"h4\",{children:\"Code Coverage\"}),/*#__PURE__*/e(\"p\",{children:\"A metric that measures the proportion of code lines or branches exercised by test cases.\"}),/*#__PURE__*/e(\"h4\",{children:\"Code Review\"}),/*#__PURE__*/e(\"p\",{children:\"A systematic peer examination of a software codebase to identify defects, security vulnerabilities, and maintainability issues.\"}),/*#__PURE__*/e(\"h4\",{children:\"Compatibility Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's ability to function correctly across different environments, devices, and configurations.\"}),/*#__PURE__*/e(\"h4\",{children:\"Concurrency\"}),/*#__PURE__*/e(\"p\",{children:\"How many tests can be run simultaneously.\"}),/*#__PURE__*/e(\"h4\",{children:\"Content Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing the accuracy, relevance, and integrity of content displayed in a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Continuous Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Integrating testing into the continuous integration and continuous delivery (CI/CD) pipeline to ensure rapid and reliable software releases.\"}),/*#__PURE__*/e(\"h4\",{children:\"Cross Browser Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a software application's functionality and compatibility across different web browsers.\"}),/*#__PURE__*/e(\"h4\",{children:\"CSS Selector\"}),/*#__PURE__*/e(\"p\",{children:\"A pattern used to identify and select HTML elements on a web page to apply styling or interact with them.\"}),/*#__PURE__*/e(\"h2\",{children:\"D\"}),/*#__PURE__*/e(\"h4\",{children:\"Data-Driven Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Executing test cases with multiple sets of input data to validate various scenarios and conditions.\"}),/*#__PURE__*/e(\"h4\",{children:\"Data Flow Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing the flow and processing of data within a software application to identify defects and vulnerabilities.\"}),/*#__PURE__*/e(\"h4\",{children:\"Debugging\"}),/*#__PURE__*/e(\"p\",{children:\"The process of identifying and fixing issues and defects in software code.\"}),/*#__PURE__*/e(\"h4\",{children:\"Defect\"}),/*#__PURE__*/e(\"p\",{children:\"An issue or flaw that affects a software application's functionality, performance, or security.\"}),/*#__PURE__*/e(\"h4\",{children:\"Defect Management\"}),/*#__PURE__*/e(\"p\",{children:\"The process of capturing, tracking, and resolving defects discovered during testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Deliverable\"}),/*#__PURE__*/e(\"p\",{children:\"A product or artifact created during the testing process, such as test plans, test cases, or test reports.\"}),/*#__PURE__*/e(\"h4\",{children:\"DevOps Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Integrating testing into the DevOps culture and practices to ensure seamless collaboration between development and operations teams.\"}),/*#__PURE__*/e(\"h4\",{children:\"Dynamic Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's behavior and performance during runtime.\"}),/*#__PURE__*/e(\"h2\",{children:\"E\"}),/*#__PURE__*/e(\"h4\",{children:\"End-To-End Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating the entire software application's functionality and performance, including all integrated components.\"}),/*#__PURE__*/e(\"h4\",{children:\"Error\"}),/*#__PURE__*/e(\"p\",{children:\"A human mistake or misunderstanding that leads to a defect in a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Error Logs\"}),/*#__PURE__*/e(\"p\",{children:\"Recorded information about errors and exceptions that occur during the execution of a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Emulator\"}),/*#__PURE__*/e(\"p\",{children:\"Software or hardware that replicates the behavior of another system to facilitate testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Execute\"}),/*#__PURE__*/e(\"p\",{children:\"Running a test case or test suite to evaluate a software application's behaviour.\"}),/*#__PURE__*/e(\"h4\",{children:\"Exhaustive Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing all possible combinations of inputs and scenarios to ensure maximum coverage.\"}),/*#__PURE__*/e(\"h4\",{children:\"Expected Result\"}),/*#__PURE__*/e(\"p\",{children:\"The predefined outcome that a test case should produce is used for comparison with the actual result.\"}),/*#__PURE__*/e(\"h4\",{children:\"Exploratory Testing\"}),/*#__PURE__*/e(\"p\",{children:\"A dynamic and informal testing approach that relies on the tester's intuition and expertise to discover defects.\"}),/*#__PURE__*/e(\"h4\",{children:\"Extreme Programming\"}),/*#__PURE__*/e(\"p\",{children:\"An Agile development methodology that emphasizes continuous feedback, customer collaboration, and incremental development.\"}),/*#__PURE__*/e(\"h2\",{children:\"F\"}),/*#__PURE__*/e(\"h4\",{children:\"Flaky App / Site\"}),/*#__PURE__*/e(\"p\",{children:\"A software application or website that produces inconsistent and unpredictable results during testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Flaky Test\"}),/*#__PURE__*/e(\"p\",{children:\"A test that yields different results in different test executions despite no changes in the application's code.\"}),/*#__PURE__*/e(\"h4\",{children:\"Front-End Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing the functionality and user experience of a software application's front-end components.\"}),/*#__PURE__*/e(\"h4\",{children:\"Functional Integration\"}),/*#__PURE__*/e(\"p\",{children:\"Testing the interaction and compatibility of different functional modules within a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Functional Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a software application's compliance with specified functional requirements.\"}),/*#__PURE__*/e(\"h4\",{children:\"Future Proof Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Ensuring that a software application's design and code can accommodate future changes and requirements.\"}),/*#__PURE__*/e(\"h2\",{children:\"G,H,I\"}),/*#__PURE__*/e(\"h4\",{children:\"Glass Box Testing\"}),/*#__PURE__*/e(\"p\",{children:\"A testing approach where testers have access to the internal code and structure of the software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Incremental Testing\"}),/*#__PURE__*/e(\"p\",{children:\"A testing approach where software components or modules are tested and integrated incrementally.\"}),/*#__PURE__*/e(\"h4\",{children:\"Inspection\"}),/*#__PURE__*/e(\"p\",{children:\"A formal review process where stakeholders analyze and assess a software application's quality and compliance with requirements.\"}),/*#__PURE__*/e(\"h4\",{children:\"Integration Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing the interaction and functionality of integrated components or modules within a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Iteration\"}),/*#__PURE__*/e(\"p\",{children:\"A repetitive and incremental development cycle in Agile methodologies.\"}),/*#__PURE__*/e(\"h4\",{children:\"Interface Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating the interactions and data exchanges between different software components or systems.\"}),/*#__PURE__*/e(\"h2\",{children:\"J,K,L\"}),/*#__PURE__*/e(\"h4\",{children:\"Localization Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's functionality and user experience for a specific locale or target market.\"}),/*#__PURE__*/e(\"h2\",{children:\"M\"}),/*#__PURE__*/e(\"h4\",{children:\"Maintainability\"}),/*#__PURE__*/e(\"p\",{children:\"The ease with which a software application can be modified or updated to meet new requirements or fix defects.\"}),/*#__PURE__*/e(\"h4\",{children:\"Maintenance Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing a software application after modifications or updates to ensure its continued performance and stability.\"}),/*#__PURE__*/e(\"h4\",{children:\"Manual Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Executing test cases manually without the use of automated testing tools.\"}),/*#__PURE__*/e(\"h2\",{children:\"N,O\"}),/*#__PURE__*/e(\"h4\",{children:\"Negative Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a software application's behavior under conditions of invalid or unexpected inputs.\"}),/*#__PURE__*/e(\"h4\",{children:\"Non-functional Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's performance, security, usability, and other non-functional aspects.\"}),/*#__PURE__*/e(\"h2\",{children:\"P\"}),/*#__PURE__*/e(\"h4\",{children:\"POM (Page Object Model)\"}),/*#__PURE__*/e(\"p\",{children:\"A design pattern used in test automation to represent the elements and interactions of web pages.\"}),/*#__PURE__*/e(\"h4\",{children:\"Performance Indicator\"}),/*#__PURE__*/e(\"p\",{children:\"A metric used to evaluate a software application's performance against predefined criteria.\"}),/*#__PURE__*/e(\"h4\",{children:\"Performance Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's response time, scalability, and stability under different workloads.\"}),/*#__PURE__*/e(\"h4\",{children:\"Postcondition\"}),/*#__PURE__*/e(\"p\",{children:\"The state or conditions expected to exist after the execution of a test case.\"}),/*#__PURE__*/e(\"h4\",{children:\"Priority\"}),/*#__PURE__*/e(\"p\",{children:\"The level of importance assigned to a defect or requirement.\"}),/*#__PURE__*/e(\"h2\",{children:\"Q\"}),/*#__PURE__*/e(\"h4\",{children:\"QA Metrics\"}),/*#__PURE__*/e(\"p\",{children:\"Quantitative measurements are used to assess the quality and effectiveness of the testing process.\"}),/*#__PURE__*/e(\"h4\",{children:\"Quality\"}),/*#__PURE__*/e(\"p\",{children:\"The degree to which a software application meets specified requirements and user expectations.\"}),/*#__PURE__*/e(\"h4\",{children:\"Quality Assurance\"}),/*#__PURE__*/e(\"p\",{children:\"The process of ensuring that a software application meets quality standards and follows best practices.\"}),/*#__PURE__*/e(\"h4\",{children:\"Quality Gate\"}),/*#__PURE__*/e(\"p\",{children:\"A predetermined criteria or threshold that must be met before a software application can progress to the next development phase.\"}),/*#__PURE__*/e(\"h2\",{children:\"R\"}),/*#__PURE__*/e(\"h4\",{children:\"Retesting / Rerunning\"}),/*#__PURE__*/e(\"p\",{children:\"Executing previously failed test cases after defects have been fixed to verify their resolution.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(n,{href:{pathVariables:{tcfKQ1IoL:\"6-key-parts-of-an-automated-regression-test-pack\"},unresolvedPathSlugs:{tcfKQ1IoL:{collectionId:\"qfddknsE_\",collectionItemId:\"cHIAKU232\"}},webPageId:\"nbTUTx03b\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Regression Testing\"})})}),/*#__PURE__*/e(\"p\",{children:\"Repeating test cases to ensure that changes or new code do not introduce defects or negatively impact existing functionality.\"}),/*#__PURE__*/e(\"h4\",{children:\"Release Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a software application's readiness for deployment and release.\"}),/*#__PURE__*/e(\"h4\",{children:\"Reliability Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's ability to perform consistently and reliably over time.\"}),/*#__PURE__*/e(\"h2\",{children:\"S\"}),/*#__PURE__*/e(\"h4\",{children:\"Sanity Testing\"}),/*#__PURE__*/e(\"p\",{children:\"A quick and basic test to verify whether a software application's critical functions are working as expected.\"}),/*#__PURE__*/e(\"h4\",{children:\"Scalability Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's ability to handle increased workloads and users.\"}),/*#__PURE__*/e(\"h4\",{children:\"Screenshot Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Capturing and comparing screenshots of a software application to identify visual discrepancies.\"}),/*#__PURE__*/e(\"h4\",{children:\"SEO Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a website's search engine optimization to improve its visibility and ranking in search results.\"}),/*#__PURE__*/e(\"h4\",{children:\"Severity\"}),/*#__PURE__*/e(\"p\",{children:\"The impact or criticality of a defect on the software application's functionality or user experience.\"}),/*#__PURE__*/e(\"h4\",{children:\"Shift-Left Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Shifting testing activities to occur earlier in the development process to identify and resolve defects sooner.\"}),/*#__PURE__*/e(\"h4\",{children:\"Smoke Testing\"}),/*#__PURE__*/e(\"p\",{children:\"A basic test to ensure that critical functionalities of a software application are functioning before proceeding with detailed testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Software Risk Analysis\"}),/*#__PURE__*/e(\"p\",{children:\"Identifying and assessing potential risks and their impact on a software application's development and testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Software Development Life Cycle\"}),/*#__PURE__*/e(\"p\",{children:\"The process and phases involved in developing a software application from concept to deployment.\"}),/*#__PURE__*/e(\"h4\",{children:\"Software Quality\"}),/*#__PURE__*/e(\"p\",{children:\"The overall level of excellence and adherence to requirements in a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Software Quality Management\"}),/*#__PURE__*/e(\"p\",{children:\"The process of overseeing and implementing quality measures throughout the software development and testing lifecycle.\"}),/*#__PURE__*/e(\"h4\",{children:\"Software Testing\"}),/*#__PURE__*/e(\"p\",{children:\"The process of evaluating a software application's functionality, performance, and quality to identify defects and ensure it meets requirements.\"}),/*#__PURE__*/e(\"h4\",{children:\"Software Testing Life Cycle\"}),/*#__PURE__*/e(\"p\",{children:\"The phases and activities involved in planning, executing, and managing software testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Static Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's code and documentation without executing the program.\"}),/*#__PURE__*/e(\"h4\",{children:\"Stress Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a software application's behavior and performance under extreme load conditions.\"}),/*#__PURE__*/e(\"h4\",{children:\"System Integration Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing the interaction and compatibility of the entire system, including all integrated components.\"}),/*#__PURE__*/e(\"h2\",{children:\"T\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Approach\"}),/*#__PURE__*/e(\"p\",{children:\"The overall strategy and guidelines for conducting software testing.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Test Automation\"})})}),/*#__PURE__*/e(\"p\",{children:\"Using automated tools and scripts to execute tests and compare results.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Case\"}),/*#__PURE__*/e(\"p\",{children:\"A set of preconditions, inputs, and expected outcomes used to validate specific functionality in a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Class\"}),/*#__PURE__*/e(\"p\",{children:\"A collection of related test cases or test methods.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Comparison\"}),/*#__PURE__*/e(\"p\",{children:\"The process of comparing actual test results with expected results to identify discrepancies.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Coverage\"}),/*#__PURE__*/e(\"p\",{children:\"The extent to which a software application has been tested is measured by the percentage of code or requirements covered.\"}),/*#__PURE__*/t(\"h4\",{children:[/*#__PURE__*/e(n,{href:{pathVariables:{tcfKQ1IoL:\"1-simple-way-developers-can-improve-testability\"},unresolvedPathSlugs:{tcfKQ1IoL:{collectionId:\"qfddknsE_\",collectionItemId:\"Wpqz5jq_6\"}},webPageId:\"nbTUTx03b\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Test Id\"})}),\" (Selector)\"]}),/*#__PURE__*/e(\"p\",{children:\"A unique identifier is used to locate and interact with elements in test automation.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Infrastructure\"}),/*#__PURE__*/e(\"p\",{children:\"The hardware, software, and resources required to conduct testing activities.\"}),/*#__PURE__*/e(\"h4\",{children:\"TDD (Test-Driven Development)\"}),/*#__PURE__*/e(\"p\",{children:\"Writing test cases before writing code, with the aim of guiding development and ensuring testability.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Data\"}),/*#__PURE__*/e(\"p\",{children:\"The input values and conditions used to execute test cases.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Environment\"}),/*#__PURE__*/e(\"p\",{children:\"A setup that replicates the production environment for testing purposes.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Execution\"}),/*#__PURE__*/e(\"p\",{children:\"Running test cases to verify the functionality of a software application.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Tool\"}),/*#__PURE__*/e(\"p\",{children:\"Software or tool used to perform testing activities, such as test automation or defect tracking.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Log\"}),/*#__PURE__*/e(\"p\",{children:\"Recording test activities, results, and any issues encountered during testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Management\"}),/*#__PURE__*/e(\"p\",{children:\"Planning, coordinating, and controlling testing activities throughout the project.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Observability\"}),/*#__PURE__*/e(\"p\",{children:\"The ability to monitor and analyze a software application's behavior during testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Plan\"}),/*#__PURE__*/e(\"p\",{children:\"A document outlining the approach, scope, objectives, and schedule of testing activities.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Process\"}),/*#__PURE__*/e(\"p\",{children:\"The sequence of activities involved in conducting testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Process Improvement\"}),/*#__PURE__*/e(\"p\",{children:\"Identifying and implementing changes to enhance the testing process and its outcomes.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Policy\"}),/*#__PURE__*/e(\"p\",{children:\"A formal statement defining the organization's approach to software testing.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Pyramid\"}),/*#__PURE__*/e(\"p\",{children:\"A testing strategy that prioritizes a large base of unit tests, followed by fewer integration tests and even fewer end-to-end tests.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Report\"}),/*#__PURE__*/e(\"p\",{children:\"Documentation summarizing the test results and outcomes of testing activities.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Runner\"}),/*#__PURE__*/e(\"p\",{children:\"Software used to execute automated test cases and manage test suites.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Specification\"}),/*#__PURE__*/e(\"p\",{children:\"Detailed documentation describing test cases, inputs, and expected outcomes.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Strategy\"}),/*#__PURE__*/e(\"p\",{children:\"An overall plan for conducting software testing based on project goals and constraints.\"}),/*#__PURE__*/e(\"h4\",{children:\"Test Suite\"}),/*#__PURE__*/e(\"p\",{children:\"A collection of related test cases designed to execute together.\"}),/*#__PURE__*/e(\"h2\",{children:\"U\"}),/*#__PURE__*/e(\"h4\",{children:\"User Acceptance Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing a software application from the end user's perspective to ensure it meets their needs and requirements.\"}),/*#__PURE__*/e(\"h4\",{children:\"UI Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating the functionality, usability, and responsiveness of a software application's user interface.\"}),/*#__PURE__*/e(\"h4\",{children:\"Unit Test Framework\"}),/*#__PURE__*/e(\"p\",{children:\"A set of tools and conventions for writing and executing unit tests.\"}),/*#__PURE__*/e(\"h4\",{children:\"Unit Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing individual units or components of a software application in isolation.\"}),/*#__PURE__*/e(\"h4\",{children:\"Use Case\"}),/*#__PURE__*/e(\"p\",{children:\"A description of interactions between users and a software application to achieve specific goals.\"}),/*#__PURE__*/e(\"h4\",{children:\"Use Case Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Testing a software application's functionality based on various use case scenarios.\"}),/*#__PURE__*/e(\"h4\",{children:\"Usability Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating a software application's ease of use and user-friendliness.\"}),/*#__PURE__*/e(\"h2\",{children:\"V\"}),/*#__PURE__*/e(\"h4\",{children:\"Visible Text (Selector)\"}),/*#__PURE__*/e(\"p\",{children:\"A method of identifying web elements using the visible text they contain.\"}),/*#__PURE__*/e(\"h4\",{children:\"Validation Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Confirming that a software application meets specified requirements and user needs.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(n,{href:{webPageId:\"j8vkaNlXd\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Visual Regression\"})})}),/*#__PURE__*/e(\"p\",{children:\"Identifying visual discrepancies and changes between different versions of a software application.\"}),/*#__PURE__*/e(\"h2\",{children:\"W,X,Y,Z\"}),/*#__PURE__*/e(\"h4\",{children:\"White Box Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Assessing a software application's internal code and structure to validate its functionality and logic.\"}),/*#__PURE__*/e(\"h4\",{children:\"Web Automation\"}),/*#__PURE__*/e(\"p\",{children:\"Automating test execution and validation of web applications.\"}),/*#__PURE__*/e(\"h4\",{children:\"Web Performance Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating the speed, responsiveness, and efficiency of web applications.\"}),/*#__PURE__*/e(\"h4\",{children:\"Web Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Evaluating the functionality, usability, and compatibility of web applications.\"}),/*#__PURE__*/e(\"h4\",{children:\"XPath Selector\"}),/*#__PURE__*/e(\"p\",{children:\"A method of identifying web elements using their XML Path location.\"})]});export const richText12=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"This video looks at some basic navigation Nodes in DoesQA, including Go To, Back, Forward and Reload.\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{\"--aspect-ratio\":\"560 / 315\",aspectRatio:\"560 / 315\",height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:NEd4VmDdsxM3StIUbddO/1de6WpgIbCrKkRcPfQcW/YouTube.js:Youtube\",children:t=>/*#__PURE__*/e(a,{...t,play:\"Off\",shouldMute:!1,thumbnail:\"Medium Quality\",url:\"https://www.youtube.com/watch?v=mTEgYm8vZ2A\"})})})]});export const richText13=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Retrying failed automated tests can be useful for diagnosing flaky tests, but should not be a method to ignore or dismiss them.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine a scientist whose experiment didn't produce the expected results.\"}),/*#__PURE__*/e(\"p\",{children:\"Would it be wise to simply repeat the experiment without investigating why it failed?\"}),/*#__PURE__*/e(\"p\",{children:\"Likely not. The scientist would take note of the failure, examine the factors that could have led to it, then modify the experiment accordingly.\"}),/*#__PURE__*/e(\"p\",{children:\"Simply repeating the failed experiment without understanding the reason for the failure wouldn't contribute to scientific progress.\"}),/*#__PURE__*/e(\"p\",{children:\"When an automated test fails, it's crucial to investigate why it failed. In some cases, it could be due to 'flaky' tests - tests that intermittently pass and fail without any changes to the code. In this case, retrying can help diagnose the issue.\"}),/*#__PURE__*/e(\"p\",{children:\"However, simply retrying a failed test without addressing the underlying cause of the failure doesn't improve the software's quality or reliability.\"}),/*#__PURE__*/e(\"p\",{children:\"Having said that, manual testing or user behaviour testing plays a significant role in quality assurance. These testers approach the software from an end-user's perspective, identifying potential usability issues that might be missed by automated tests.\"}),/*#__PURE__*/e(\"p\",{children:\"Complementing this with codeless and low-code automation can further enhance the speed and reliability of testing.\"}),/*#__PURE__*/e(\"p\",{children:\"Thus, while retrying failed automated tests can be part of the strategy, it should be balanced with understanding the reasons for failure and employing diverse testing methods to ensure comprehensive software quality assurance.\"})]});export const richText14=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"No, using only one testing framework can limit the effectiveness of testing, just like painting a room with only one brush.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine being tasked with painting a large room using just a single, small brush.\"}),/*#__PURE__*/e(\"p\",{children:\"Sure, it could get the job done eventually, but it would be inefficient and arduous.\"}),/*#__PURE__*/e(\"p\",{children:\"Some corners would be hard to reach, the finish might be uneven, and the process would take ages.\"}),/*#__PURE__*/e(\"p\",{children:\"Similarly, relying solely on a single testing framework can leave 'unpainted corners' or unnoticed bugs in your software.\"}),/*#__PURE__*/e(\"p\",{children:\"Each testing framework is designed with certain scenarios and requirements in mind, and they can vary in terms of ease of use, speed, community support, and the specific kind of tests they're optimized for.\"}),/*#__PURE__*/e(\"p\",{children:\"By using only one, you risk missing issues that another framework might have caught, or spending more time and resources on a task that could have been done faster and more effectively with a different tool.\"}),/*#__PURE__*/e(\"p\",{children:\"Diversifying the testing frameworks you use, like including both manual testers (user behaviour testers) and codeless/low-code automation, can bring a broader view, improving the thoroughness and speed of testing.\"}),/*#__PURE__*/e(\"p\",{children:\"This combination allows your testing suite to cover more ground in less time and with less effort, just like using various brushes would give you better coverage when painting a room.\"}),/*#__PURE__*/e(\"p\",{children:\"Ultimately, a diverse testing strategy gives a comprehensive picture of software quality, ensuring a robust and reliable product.\"})]});export const richText15=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"The ideal ratio of Quality Engineers to Developers varies based on project complexity and size, but a commonly suggested range is 3-4 developers per Quality Engineer\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine a bustling city aiming to ensure public safety. Too few police officers, and crime rates could increase.\"}),/*#__PURE__*/e(\"p\",{children:\"But if every corner had an officer, it would be excessive and probably disruptive. The right ratio balances public safety without hindering everyday life.\"}),/*#__PURE__*/e(\"p\",{children:\"Similarly, the ratio of Quality Engineers to Developers needs to balance thorough testing without slowing development efficiency.\"}),/*#__PURE__*/e(\"p\",{children:\"The right number of Quality Engineers depends on several factors. The complexity of the project, the maturity of the product, the skill sets of your developers, and the speed at which you want to release updates, among other things, can all influence the optimal ratio.\"}),/*#__PURE__*/e(\"p\",{children:\"More complex projects may require a higher ratio of Quality Engineers to Developers to ensure comprehensive testing.\"}),/*#__PURE__*/e(\"p\",{children:\"However, the Quality Engineers' role is not to replace the Developer's testing duties but to complement them. These user behaviour testers can discover potential usability issues that a developer might overlook.\"}),/*#__PURE__*/e(\"p\",{children:\"By employing codeless and low-code automation, Quality Engineers can quickly identify and rectify potential issues.\"}),/*#__PURE__*/e(\"p\",{children:\"This allows for a streamlined and more efficient testing process, enabling the right balance between speed and quality, similar to our city's balanced public safety approach.\"}),/*#__PURE__*/e(\"p\",{children:\"The key is to find the right ratio that allows for comprehensive testing without hindering development progress.\"})]});export const richText16=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"While developers have valuable skills, they're not necessarily the best testers as their perspective may be biased towards their own code.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine a dog owner entering their dog in a competition and then being a judge. Naturally, they're going to have a soft spot for their own pooch. Every wag of the tail will be a show of exceptional behavior, every bark, a symphony.\"}),/*#__PURE__*/e(\"p\",{children:\"Their view of their dog's performance will undoubtedly be clouded by their affection and familiarity. Similarly, developers testing their own code might overlook flaws or misunderstandings, just like the dog owner would be blind to their pet's shortcomings.\"}),/*#__PURE__*/e(\"p\",{children:\"Developers bring a unique perspective to testing. They know the inner workings of the system, understand the architecture, and often anticipate areas where problems might arise. However, this deep knowledge might also hinder them from noticing usability issues or unexpected behavior that could be evident to an end-user.\"}),/*#__PURE__*/e(\"p\",{children:'This bias is called the \"curse of knowledge,\" and it can lead developers to overlook problems that would be obvious to others.'}),/*#__PURE__*/e(\"p\",{children:\"By championing user behavior testers or manual testers, we get the perspective of the end-user. They approach the software like a customer would, without prior knowledge of how the system should behave.\"}),/*#__PURE__*/e(\"p\",{children:\"They can identify usability issues, misinterpretations, and inconsistencies that might fly over the developer's head.\"}),/*#__PURE__*/e(\"p\",{children:\"To speed up the process and enhance reliability, codeless and low-code automation tools can be employed. These tools allow manual testers to automate repetitive tasks and focus on the more exploratory aspects of testing, ensuring a high-quality user experience.\"})]});export const richText17=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"No, finding a defect should not stop your testing process; there may be other bugs or issues that need identification and resolution.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine a miner who's deep in a diamond mine.\"}),/*#__PURE__*/e(\"p\",{children:\"He's diligently working away when he spots a small, glittering diamond. Excited, he stops digging further, thinking he's hit the jackpot.\"}),/*#__PURE__*/e(\"p\",{children:\"But what if he kept digging a bit more and found an even larger, more precious diamond hidden deeper?\"}),/*#__PURE__*/e(\"p\",{children:\"Stopping at the first find could mean missing something far more valuable.\"}),/*#__PURE__*/e(\"p\",{children:\"Similarly, in software testing, if you stop at the first defect, you might miss other, potentially more critical, defects that could be lurking deeper in your application.\"}),/*#__PURE__*/e(\"p\",{children:\"When testing software, the goal is to ensure the overall quality and reliability of the application.\"}),/*#__PURE__*/e(\"p\",{children:\"Stopping testing once a defect is found can leave other areas of the application untested, potentially allowing other defects to remain undetected. Each identified defect should be seen as an opportunity to improve the product, not as a signal to halt testing.\"}),/*#__PURE__*/t(\"p\",{children:[\"It is \",/*#__PURE__*/e(\"strong\",{children:\"crucial\"}),\" to carry on with the testing process until all areas have been thoroughly tested and all potential issues identified.\"]}),/*#__PURE__*/e(\"p\",{children:\"Manual testers, or user behaviour testers, are particularly skilled at navigating and exploring an application in the same way a user would. Their role becomes even more critical after identifying a defect, as they can help assess if similar issues may exist in other areas of the application.\"}),/*#__PURE__*/e(\"p\",{children:\"Meanwhile, codeless and low-code automation tools can expedite this process, ensuring that no stone is left unturned in the quest for software quality. Thus, even after finding a defect, the testing must go on to ensure a thorough, reliable, and high-quality software product.\"})]});export const richText18=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Quality Assurance (QA) must always be prioritized; skimping on QA can lead to critical issues post-release that consume more time and resources.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine a builder who, in a hurry to finish the project, skips the essential checks.\"}),/*#__PURE__*/e(\"p\",{children:\"Sure, the house looks complete and ready for occupancy, but what if there's a foundation issue he missed or a structural weakness hidden behind the pristine walls?\"}),/*#__PURE__*/e(\"p\",{children:\"Skipping checks saves time initially, but when the house starts showing problems, fixing them will take more time, effort, and money than had he done those checks in the first place.\"}),/*#__PURE__*/e(\"p\",{children:\"Just like this, skipping QA in software development to save time is a dangerous shortcut, often leading to greater time investment down the line.\"}),/*#__PURE__*/e(\"p\",{children:\"QA is not just an afterthought in the development process; it's a core component that assures the reliability and usability of your software product.\"}),/*#__PURE__*/e(\"p\",{children:\"Even in a time crunch, ensuring that your product meets quality standards should be non-negotiable. Quality issues overlooked due to inadequate QA can result in significant problems after the product's release, including customer dissatisfaction, revenue loss, and damage to the brand's reputation. The time and effort required to rectify these issues post-release will often surpass the time saved by skipping QA.\"}),/*#__PURE__*/e(\"p\",{children:\"How, then, to handle QA when time is scarce?\"}),/*#__PURE__*/e(\"p\",{children:\"This is where the effectiveness of manual testers, understood as user behaviour testers, comes into play. These testers, with their ability to emulate real user behaviour, can efficiently identify critical areas that need immediate attention.\"}),/*#__PURE__*/e(\"p\",{children:\"Furthermore, employing codeless and low-code automation tools can greatly increase the speed and reliability of your testing processes. These tools allow for the rapid creation and execution of tests, which can cover vast areas of your application, thus making the most out of the limited time available. It's about working smarter, not harder.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, QA is an investment, not a cost. The time you spend on it now can save you from significant trouble in the future.\"})]});export const richText19=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Yes, you should test your application on multiple browsers to ensure consistent user experience across different platforms.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine going to a restaurant and judging the entire menu based on just one dish.\"}),/*#__PURE__*/e(\"p\",{children:\"You might try the lasagna and find it heavenly, but does that guarantee the quality of the sushi or the steak? Unlikely, right?\"}),/*#__PURE__*/e(\"p\",{children:\"It's the same with testing your application on just one browser. You might find it runs perfectly on Chrome, but that doesn't mean your users will have the same delightful experience on Firefox or Edge.\"}),/*#__PURE__*/e(\"p\",{children:\"To ensure consistent quality, you need a taste from every dish - or in this case, test on multiple browsers.\"}),/*#__PURE__*/e(\"p\",{children:\"In the diverse digital ecosystem, your users will access your application through different browsers, operating systems, and devices.\"}),/*#__PURE__*/e(\"p\",{children:\"Each browser has its rendering engine, which can interpret and display your application differently. What looks and works perfectly on one browser might not do so on another.\"}),/*#__PURE__*/e(\"p\",{children:\"This is why testing on multiple browsers is critical. It helps you ensure that your application provides a consistent and optimal user experience, regardless of the browser used.\"}),/*#__PURE__*/e(\"p\",{children:\"Moreover, the championing of manual testers, or user behaviour testers, in this context is crucial. They are the ones who can emulate real user behaviour across different browsers.\"}),/*#__PURE__*/e(\"p\",{children:\"While automated, low-code tools can accelerate and streamline the process, the keen eye of a manual tester is invaluable in identifying discrepancies and nuances that might be missed by automated testing.\"}),/*#__PURE__*/e(\"p\",{children:\"Combining manual testing and low-code or codeless automation gives you the comprehensive coverage and speed required for effective multi-browser testing.\"})]});export const richText20=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"A good level of coverage in software testing typically ranges between 70% to 80%. It varies based on the project's complexity, risk, and specific requirements.\"}),/*#__PURE__*/e(\"p\",{children:\"Envision you're a farmer planting seeds in a vast field.\"}),/*#__PURE__*/e(\"p\",{children:\"You'd want to cover as much ground as possible, but you know that it's not practical or cost-effective to plant every single inch.\"}),/*#__PURE__*/e(\"p\",{children:\"There might be areas where the soil isn't fertile, or perhaps there are patches that are more susceptible to pests. So, you aim for the most productive areas, ensuring you cover around 70% to 80% of the field. That's enough to ensure a robust crop yield without wasting resources or effort.\"}),/*#__PURE__*/e(\"p\",{children:\"The same principle applies in determining a good level of coverage in software testing.\"}),/*#__PURE__*/e(\"p\",{children:\"Software testing coverage is analogous to how much of your software's functionality or code has been tested. Having 100% coverage might seem ideal, but in practice, it's often neither feasible nor necessary.\"}),/*#__PURE__*/e(\"p\",{children:\"Attempting to achieve total coverage can lead to diminishing returns, with the effort, time, and cost required outweighing the potential benefits.\"}),/*#__PURE__*/e(\"p\",{children:\"The 70% to 80% coverage mark is generally considered satisfactory because it focuses on the most critical areas of the application, while not consuming excessive resources.\"}),/*#__PURE__*/e(\"p\",{children:\"This includes ensuring that all functionalities are working correctly, all possible user behaviours are accounted for, and all potential risks are mitigated. However, the 'right' level of coverage can vary depending on the specifics of the project.\"}),/*#__PURE__*/e(\"p\",{children:\"High-risk applications may require a higher level of coverage, while others with lower complexity and risk may suffice with less.\"}),/*#__PURE__*/e(\"p\",{children:\"As always, it's the balance between cost, effort, and risk that decides the optimal level of coverage.\"})]});export const richText21=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Yes, you can write automated tests even if you're not a Quality Assurance (QA) professional, using codeless and low-code automation tools.\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine a milkman who, by some curious twist of fate, finds himself behind the wheel of a sleek, powerful racing car. Sure, he's not a professional race car driver, but the car has been designed with intuitive controls and a smart, assisted system that guides even a novice driver.\"}),/*#__PURE__*/e(\"p\",{children:\"He might be used to delivering milk on a bike, but now, he finds himself maneuvering the curves, accelerating on the straightaways, guided by this intelligent system.\"}),/*#__PURE__*/e(\"p\",{children:\"Writing automated tests as a non-QA is just like this - you don't need to be a professional tester, as long as you have the right tools at your disposal.\"}),/*#__PURE__*/e(\"p\",{children:\"In the world of software testing, automation tools have evolved significantly over the years. Today, we have a plethora of codeless and low-code automation tools that enable non-QA professionals to create automated tests.\"}),/*#__PURE__*/e(\"p\",{children:\"These tools typically offer a user-friendly interface, drag-and-drop features, and built-in functionalities that make the task of writing automated tests as simple as creating a flowchart or a spreadsheet. You do not need to have an extensive background in programming or QA to leverage these tools effectively.\"}),/*#__PURE__*/e(\"p\",{children:\"Furthermore, while championing the role of manual testers or user behavior testers, it's crucial to remember that they can also play a vital role in test automation. They have a thorough understanding of user behavior and can use this knowledge to create more meaningful and effective test cases, which can then be automated using low-code or codeless tools.\"}),/*#__PURE__*/e(\"p\",{children:\"This hybrid approach of manual testing and automation helps increase the speed and reliability of the testing process. Thus, no matter your background, you can contribute significantly to test automation with the right tools and approach.\"})]});export const richText22=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"QAs are responsible for identifying and reporting bugs, collaborating with developers to understand the root causes, and ensuring their resolution.\"}),/*#__PURE__*/e(\"p\",{children:\"Astronauts in space communicate with the mission control centre on the ground. The astronauts, equipped with expertise and tools, navigate the challenges of their mission while Mission Control acts as a guiding force.\"}),/*#__PURE__*/e(\"p\",{children:\"Similarly, Quality Assurance (QA) professionals play the role of Mission Control, supporting and collaborating with the developers to find and address software bugs.\"}),/*#__PURE__*/e(\"p\",{children:\"QAs, including manual or user behaviour testers, play a critical role in bug identification and resolution. However, their primary responsibility lies in uncovering and reporting bugs rather than fixing them directly.\"}),/*#__PURE__*/e(\"p\",{children:\"Their expertise lies in conducting thorough tests, following specific test cases or exploring the software intuitively to identify potential defects and areas for improvement. Once a bug is discovered, QAs collaborate with developers, providing detailed bug reports, steps to reproduce the issue, and any additional information to help debug and fix the problem.\"}),/*#__PURE__*/e(\"p\",{children:\"While QAs may not fix bugs themselves, they contribute significantly to the bug resolution process by serving as a bridge between the development and testing teams. Their understanding of the software and communication ability helps create a feedback loop that leads to bug fixes and improved software quality.\"}),/*#__PURE__*/e(\"p\",{children:\"By championing the role of QAs as bug identifiers and facilitators of bug resolution, organizations can foster collaboration and maintain a focus on delivering reliable and high-quality software products.\"})]});export const richText23=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Code produces bugs due to human error, complexity, and changing requirements, leading to logic, syntax, and implementation mistakes.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're a talented sculptor carving a beautiful masterpiece out of stone. Just like how code is the medium for software development, the stone represents the raw material for your sculpture.\"}),/*#__PURE__*/e(\"p\",{children:\"As you meticulously chisel away, shaping the stone into your envisioned form, there's always the chance of unexpected cracks, imperfections, or mistakes. Similarly, coding involves translating complex ideas into a precise language understood by machines.\"}),/*#__PURE__*/e(\"p\",{children:\"However, even the most skilled sculptor can have a slip of the chisel or misjudge a strike, leading to unintended flaws in the final sculpture. Similarly, in coding, human error, the intricate nature of software, and evolving requirements can introduce bugs that affect the functionality and reliability of the program.\"}),/*#__PURE__*/e(\"p\",{children:\"Code can produce bugs due to a variety of factors. Firstly, human error plays a significant role. Programmers are prone to making mistakes, whether it's a typo, a logical flaw, or an incorrect implementation of a requirement. Complex systems and intricate algorithms add another layer of complexity, increasing the chances of errors. Additionally, software development is an iterative process where requirements evolve over time. Changes in business needs or client expectations can introduce bugs when modifying existing code or adding new functionality.\"}),/*#__PURE__*/e(\"p\",{children:\"Furthermore, the inherent nature of coding languages introduces the possibility of bugs. The syntax and semantics of programming languages require precise and accurate usage. A small oversight, such as a missing semicolon or a misplaced bracket, can result in errors that impact the entire codebase.\"}),/*#__PURE__*/t(\"p\",{children:[\"It's essential to adopt robust testing practices to mitigate the risk of bugs. Manual testers specialize in understanding user behaviour and simulating real-world scenarios and play a crucial role in identifying and resolving issues. Additionally, codeless and low-code automation tools offer an alternative approach to traditional coding. These tools provide intuitive interfaces, visual workflows, and pre-built components, allowing testers to create automation scripts without the need for extensive coding knowledge. By leveraging \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"codeless\"})}),\" and \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"low code automation\"})}),\", testers can increase testing speed and reliability, reducing the chances of introducing bugs during testing.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Ultimately, preventing bugs requires a combination of disciplined coding practices, effective testing strategies, and the expertise of manual testers. By understanding the common pitfalls, continuously improving processes, and \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"embracing codeless\"})}),\" and low code automation, software development teams can strive for higher quality and more reliable software products.\"]})]});export const richText24=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"No, manual testing is not being replaced. It continues to play a vital role in software quality assurance by providing unique insights into user behaviour and ensuring exceptional user experiences.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're a top sandwich chef working in a professional kitchen. Manual testing is like crafting a sandwich with your hands, carefully selecting the ingredients, layering them precisely, and considering the customer's preferences.\"}),/*#__PURE__*/e(\"p\",{children:\"While automated processes can handle repetitive tasks like slicing bread or spreading butter, the art of making a sandwich relies on your intuition, creativity, and attention to detail.\"}),/*#__PURE__*/e(\"p\",{children:\"As a tester, you bring the same level of expertise and human touch to testing software. You navigate through different scenarios, exploring the system from a user's perspective and uncovering potential issues that automation may miss. Just as a perfectly crafted sandwich delights the taste buds, manual testing ensures the software meets the expectations and demands of users.\"}),/*#__PURE__*/e(\"p\",{children:\"Manual testing remains essential in software quality assurance. Manual testers, also known as user behaviour testers, possess a unique understanding of user behaviour, enabling them to evaluate software from a human-centred perspective. They excel in scenarios involving user interaction, usability, and subjective evaluation, identifying issues that automated testing may overlook. By manually navigating the application, they uncover user experience problems, usability glitches, and edge cases, ensuring flawless performance in diverse situations.\"}),/*#__PURE__*/e(\"p\",{children:\"While automation plays a crucial role in repetitive and regression testing, manual testing complements it by focusing on the human element. Both approaches have strengths and limitations, and a balanced approach combining manual and automated testing is often the most effective.\"}),/*#__PURE__*/e(\"p\",{children:\"Manual testing ensures that the software meets the needs and expectations of end-users, providing a thorough and human-centred evaluation that automated tools alone cannot achieve. Thus, manual testing continues to be an indispensable and valued component of software quality assurance.\"})]});export const richText25=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Yes, Quality Assurance (QA) can save money by identifying and preventing defects early in the software development lifecycle, reducing rework costs and enhancing customer satisfaction.\"})}),/*#__PURE__*/e(\"p\",{children:\"QA is like having a vigilant mission control team that ensures every aspect of the launch is meticulously planned and executed. They conduct thorough inspections of the rocket, scrutinize the fuel, double-check the navigation systems, and simulate various scenarios to identify potential issues before they become costly problems.\"}),/*#__PURE__*/e(\"p\",{children:\"Their attention to detail and rigorous testing procedures minimize the risk of mission failures, saving valuable resources and time. With their guidance and expertise, you embark on a successful lunar voyage, maximizing your investment and achieving astronomical cost savings.\"}),/*#__PURE__*/e(\"p\",{children:\"QA plays a crucial role in saving money throughout the software development process. By implementing QA practices, organizations can identify and address defects early in the lifecycle, significantly reducing the cost of rework. QA teams conduct comprehensive testing, ensuring that software meets quality standards and functions as intended. Through various testing techniques like functional, regression, performance, and usability testing, they detect defects, usability issues, or performance bottlenecks that could negatively impact the user experience or result in costly system failures.\"}),/*#__PURE__*/e(\"p\",{children:\"Furthermore, QA helps enhance customer satisfaction, which in turn contributes to cost savings. Organizations can improve customer retention, attract new customers, and boost their reputation by ensuring that software meets or exceeds customer expectations. Satisfied customers are less likely to request refunds or support assistance due to software issues, reducing customer support and maintenance costs. Additionally, QA helps mitigate the risk of potential legal consequences that could arise from software failures, avoiding potential financial liabilities.\"}),/*#__PURE__*/e(\"p\",{children:\"Moreover, proactive QA practices focus on preventing defects rather than simply detecting them. By incorporating quality checks and risk analysis early in development, organizations can identify and address potential issues before they escalate into costly problems. This approach includes creating robust requirements, conducting thorough design reviews, implementing effective test strategies, and establishing quality metrics. Through diligent planning and continuous improvement, QA enables organizations to optimize resources, improve development efficiency, and reduce waste.\"}),/*#__PURE__*/e(\"p\",{children:\"In summary, QA acts as a vital cost-saving measure by preventing defects, enhancing customer satisfaction, optimizing resources, and mitigating risks. By integrating QA practices throughout the software development lifecycle, organizations can achieve significant cost savings, maximize their return on investment, and deliver high-quality software that meets business objectives.\"})]});export const richText26=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"To test accessibility in test automation, incorporate automated accessibility testing tools, manual testing with assistive technologies, and review accessibility guidelines.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're an adventurer on a thrilling quest through a magical forest. Testing accessibility in test automation is like having a trusty guide who knows every hidden pathway and obstacle. Their knowledge and tools ensure that your journey through the forest is accessible to all.\"}),/*#__PURE__*/e(\"p\",{children:\"They use enchanted tools that automatically check for accessibility issues, much like a magical compass that points out potential barriers. They also equip themselves with assistive technologies, like a magic potion that reveals how people with different abilities experience the forest. Together, you navigate the winding trails, ensuring your adventure remains inclusive and accessible to everyone.\"}),/*#__PURE__*/t(\"p\",{children:[\"Testing accessibility in test automation involves combining automated and manual techniques. \",/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Automated accessibility testing tools\"})}),\" can help identify common accessibility issues and provide insights into compliance with accessibility standards. These tools can scan web pages or applications and generate reports highlighting potential accessibility violations. They can check for issues such as missing alt text for images, improper use of headings, lack of keyboard accessibility, and more. However, it's important to note that automated tools have limitations and may not catch all accessibility issues, so manual testing is essential.\"]}),/*#__PURE__*/e(\"p\",{children:\"Manual testing with assistive technologies plays a vital role in uncovering accessibility barriers. Testers can use screen readers, magnifiers, voice recognition software, and other assistive technologies to simulate users' experiences with different abilities.\"}),/*#__PURE__*/e(\"p\",{children:\"By navigating through the application or website using these tools, testers can identify and address specific accessibility issues that automated testing may miss. It's also crucial to review accessibility guidelines, such as the Web Content Accessibility Guidelines (WCAG), to ensure that the application or website meets the established accessibility standards. These guidelines provide valuable insights into best practices for creating accessible digital experiences and can be a reference during testing.\"}),/*#__PURE__*/e(\"p\",{children:\"By combining automated testing, manual testing with assistive technologies, and adherence to accessibility guidelines, testers can effectively evaluate and improve the accessibility of software during the test automation process. This helps ensure that individuals with disabilities can easily access and use the software, providing an inclusive and equitable experience for all users.\"})]});export const richText27=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"No, Quality Assurance (QA) does not necessarily require coding.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine an enchanting underwater world teeming with colourful marine life. QA is like a curious and agile octopus gracefully navigating through the depths, exploring every nook and cranny.\"}),/*#__PURE__*/e(\"p\",{children:\"Each tentacle represents a unique QA skill set, from testing planning to execution. While some tentacles benefit from coding knowledge, the octopus thrives on its diverse abilities, leveraging a range of techniques to ensure software quality without relying on coding.\"}),/*#__PURE__*/e(\"p\",{children:\"While coding skills can be beneficial for QA professionals, it is not a mandatory requirement for the role. QA professionals are responsible for test planning, test case design, test execution, defect management, and ensuring software quality. They utilize various testing techniques and tools to evaluate software functionality, performance, and usability.\"}),/*#__PURE__*/e(\"p\",{children:\"QA professionals need a deep understanding of testing principles, methodologies, and industry best practices. They should possess strong analytical skills, attention to detail, and critical thinking skills.\"}),/*#__PURE__*/e(\"p\",{children:\"Coding can be helpful in creating automated tests or performing technical tasks. Many other aspects of QA do not directly involve coding. Effective communication, problem-solving abilities, and a comprehensive understanding of the software development lifecycle are equally crucial for QA professionals.\"}),/*#__PURE__*/e(\"p\",{children:\"While coding skills can be advantageous, QA does not require coding, especially with codeless tools available\u2026 like DoesQA, our Codeless Test Automation tool.\"})]});export const richText28=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"No, record and playback does not create good tests.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're a conductor leading a grand orchestra. Record and playback is like having a robot that can replicate your every move. You record your precise conducting gestures once, and the device flawlessly plays them back for every performance.\"}),/*#__PURE__*/e(\"p\",{children:\"However, the quality of the music ultimately depends on your initial performance and ongoing practice. If your original conducting lacked finesse or if you neglect to fine-tune and adapt the playback, the resulting music may not be of the highest quality. Similarly, record and playback in testing allow you to create tests quickly, but the quality of the test depends on the initial design and ongoing maintenance.\"}),/*#__PURE__*/e(\"p\",{children:\"Good tests require critical thinking, a thorough understanding of the application, and the ability to adapt to different scenarios. Record and playback tools, in their simplistic nature, tend to create rigid scripts that lack the flexibility needed to handle variations in the application's behaviour.\"}),/*#__PURE__*/e(\"p\",{children:\"They often produce fragile tests that break easily when the user interface or application changes. Furthermore, they may not account for the underlying logic or business rules, resulting in superficial tests that do not effectively cover the desired test scenarios.\"}),/*#__PURE__*/e(\"p\",{children:\"To create good tests, employing a thoughtful and structured approach involving manual test design is crucial. Testers should understand the application's requirements, design tests that cover different scenarios, and incorporate proper validation and verification techniques.\"}),/*#__PURE__*/e(\"p\",{children:\"Good test design allows testers to apply their expertise, adapt to changes, and craft tests that truly validate the software's functionality, user experience, and performance. It provides the opportunity to think critically, identify potential issues, and create test cases that provide meaningful and reliable results.\"})]});export const richText29=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Quality Assurance (QA) is the process of ensuring that software meets established standards and expectations. It comprehensively evaluates the software's functionality, performance, usability, and overall quality.\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're building a towering sandcastle on the beach. QA is like the diligent sandcastle inspector, armed with a keen eye and a bucket of water. They carefully examine every aspect of your sandcastle, making sure it's sturdy, well-designed, and can withstand crashing waves. They pour water to test its resilience, scrutinize the architecture for any weak spots, and ensure it stands tall as a testament to your craftsmanship. Like the sandcastle inspector, QA evaluates every facet of software, providing it's robust, reliable, and capable of withstanding its challenges.\"}),/*#__PURE__*/e(\"p\",{children:\"Quality Assurance (QA) is the process of ensuring that software meets established standards and expectations. It comprehensively evaluates the software's functionality, performance, usability, and overall quality. QA professionals perform various tests and analyses to identify and address any software defects, bugs, or inconsistencies.\"}),/*#__PURE__*/e(\"p\",{children:\"They strive to create a seamless user experience by verifying that the software operates as intended and meets the needs of its users.\"}),/*#__PURE__*/e(\"p\",{children:\"QA encompasses a range of activities, including test planning, test case design, test execution, and defect management. It goes beyond mere testing and includes a holistic approach to quality. QA professionals work closely with developers, designers, and stakeholders to establish quality goals, define test strategies, and ensure that the software aligns with user requirements. Their goal is to deliver a product that functions flawlessly and delights and satisfies the end-users.\"}),/*#__PURE__*/e(\"p\",{children:\"By meticulously evaluating every aspect of the software, QA plays a crucial role in mitigating risks, enhancing reliability, and upholding the highest standards of quality.\"})]});export const richText30=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Intro\"}),/*#__PURE__*/e(\"p\",{children:\"As a manual explorative tester, you already know what needs testing, the different routes a user could take and everything critically to create a great automation test.\"}),/*#__PURE__*/e(\"p\",{children:\"But how do you tell a machine to click the correct button? Or check the right heading?\"}),/*#__PURE__*/e(\"p\",{children:\"This how-to guide will help fill that gap and turn you from a \u201Cmanual\u201C tester to an automation testing machine!\"}),/*#__PURE__*/e(\"h2\",{children:\"Copying CSS Selectors\"}),/*#__PURE__*/e(\"p\",{children:\"For this how-to guide, we\u2019re only going to use Chrome. Just know the tools we\u2019ll be using here are universal across browsers, but some locations and labels might differ.\"}),/*#__PURE__*/e(\"img\",{alt:\"Copying Selectors using DevTools\",className:\"framer-image\",height:\"307\",src:\"https://framerusercontent.com/images/VmGPyrYFZzw6GQBfLivbc7WfbLM.gif\",srcSet:\"https://framerusercontent.com/images/VmGPyrYFZzw6GQBfLivbc7WfbLM.gif?scale-down-to=512 512w,https://framerusercontent.com/images/VmGPyrYFZzw6GQBfLivbc7WfbLM.gif 1000w\",style:{aspectRatio:\"1000 / 615\"},width:\"500\"}),/*#__PURE__*/e(\"p\",{children:\"Right-click something you wish to interact with\"}),/*#__PURE__*/t(\"ol\",{style:{\"--framer-font-size\":\"17.6px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Click \u201CInspect\u201C\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Chrome Dev Tools will open\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Find the best element - I want the button, so I looked for an <a> or <button>\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Right-click that element and hover over \u201CCopy\u201C\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Click \u201CCopy selector\u201C\"})})]}),/*#__PURE__*/e(\"p\",{children:\"When pasted you should see something like this:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/QVzZltTawVJTjmjAWG3C/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(r,{...t,code:\"#layers > div > div:nth-child(1) > div > div > div > div > div.css-1dbjc4n.r-1ydw1k6 > div > div > div:nth-child(1) > a\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"This will work, at least initially, but it has a few issues. To improve this, we first need to understand what each part means.\"}),/*#__PURE__*/e(\"h2\",{children:\"CSS Specificity (for testing)\"}),/*#__PURE__*/e(\"p\",{children:\"This is a brief overview for the purposes of manual testers starting their automation test journey. There are many more awesome CSS selectors, but we\u2019ll save them for another day. Search \u201CCSS Specificity\u201C or \u201CAdvanced CSS Selectors\u201C to learn more.\"}),/*#__PURE__*/e(\"h3\",{children:\"ID\"}),/*#__PURE__*/t(\"p\",{children:[\"ID selectors start with a \u201C\",/*#__PURE__*/e(\"strong\",{children:\"#\"}),\"\u201D (hash) and are - meant to be - unique making them the most specific CSS selector. In the example above \u201C\",/*#__PURE__*/e(\"strong\",{children:\"#layers\"}),\"\u201C is the only ID.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"CLASS\"})}),/*#__PURE__*/t(\"p\",{children:[\"Class selectors start with a \u201C\",/*#__PURE__*/e(\"strong\",{children:\".\"}),\"\u201D (full stop/period) and can be chained, for instance: \",/*#__PURE__*/e(\"code\",{children:\".class1.class2\"}),\". In the above example, there are 2 classes \",/*#__PURE__*/e(\"code\",{children:\".css-1dbjc4n\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\".r-1ydw1k6\"}),\", and these are chained. Chaining means both classes must be on the same element.\"]}),/*#__PURE__*/e(\"p\",{children:\"These are bad classes, and I would never recommend anyone using classes that look like this. The Inclusion of random numbers and letters indicates these were likely generated as part of a compilation step during deployment. Another release may generate new classes. Avoid using classes like these!\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"PSEUDO-CLASS\"})}),/*#__PURE__*/t(\"p\",{children:[\"Pseudo-classes start with a \u201C\",/*#__PURE__*/e(\"strong\",{children:\":\"}),\"\u201C (colon) and have the same computational value as standard classes. In the above example \",/*#__PURE__*/e(\"code\",{children:\":nth-child(1)\"}),\" is the only pseudo-class and means the first child. In this case, I prefer \",/*#__PURE__*/e(\"code\",{children:\":first-child\"}),\" or \",/*#__PURE__*/e(\"code\",{children:\":first-of-type\"}),\". For more on pseudo-classes, check out \",/*#__PURE__*/e(n,{href:\"https://css-tricks.com/pseudo-class-selectors/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"CSS-Tricks\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"TAG / TYPE\"})}),/*#__PURE__*/t(\"p\",{children:[\"Tag/type selectors are those which don\u2019t start with a form of punctuation. From the example above \",/*#__PURE__*/e(\"code\",{children:\"div\"}),\" is the only tag/type selector. These are pretty low value, particularly \",/*#__PURE__*/e(\"code\",{children:\"div\"}),\", which will probably appear hundreds of times on any given page. \",/*#__PURE__*/e(\"code\",{children:\"main\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"article\"}),\", and even \",/*#__PURE__*/e(\"code\",{children:\"button\"}),\" are all much more valuable tags to use in your selectors.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"ATTRIBUTE\"})}),/*#__PURE__*/e(\"p\",{children:\"Attribute selectors are fairly advanced but super useful for testing. There are no examples in the output above, but the <a> tag that was used has two useful attributes. Here\u2019s a simplified look at the tag:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/QVzZltTawVJTjmjAWG3C/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(r,{...t,code:'<a href=\"/login\" role=\"link\" class=\"css-4rbku5 css-18t94o4\" data-testid=\"login\">\\n  ...\\n</a>',language:\"JSX\"})})}),/*#__PURE__*/t(\"p\",{children:[\"If we wanted to select based on role, we could use the selector \",/*#__PURE__*/e(\"code\",{children:\"[role=\u201Dlink\u201D]\"}),\". You might have also noticed another attribute we could use\u2026\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(n,{href:{pathVariables:{tcfKQ1IoL:\"1-simple-way-developers-can-improve-testability\"},unresolvedPathSlugs:{tcfKQ1IoL:{collectionId:\"qfddknsE_\",collectionItemId:\"Wpqz5jq_6\"}},webPageId:\"nbTUTx03b\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Test ID\"})})}),/*#__PURE__*/t(\"p\",{children:[\"Test IDs are super helpful! If your development team are adding them buy them a coffee sometime! Unfortunately, they come in many variations, often on the same project or page. Regardless, when you see one, try to use it as it is there to help you. To select based on this would be \",/*#__PURE__*/e(\"code\",{children:\"[data-test-id=\u201Dlogin\u201D]\"}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"Cleaning up CSS Selectors\"}),/*#__PURE__*/e(\"p\",{children:\"We should now be able to apply what we have learnt to the copied selector from before; here\u2019s another look at the raw pasted output:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/QVzZltTawVJTjmjAWG3C/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(r,{...t,code:\"#layers > div > div:nth-child(1) > div > div > div > div > div.css-1dbjc4n.r-1ydw1k6 > div > div > div:nth-child(1) > a\",language:\"JSX\"})})}),/*#__PURE__*/e(\"p\",{children:\"Here\u2019s the selector I would use for this button:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/QVzZltTawVJTjmjAWG3C/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(r,{...t,code:'#layers a[data-test-id=\"login\"]',language:\"JSX\"})})}),/*#__PURE__*/t(\"p\",{children:[\"Much better!\",/*#__PURE__*/e(\"br\",{}),\"This will select the <a> Tag with the \",/*#__PURE__*/e(n,{href:{pathVariables:{tcfKQ1IoL:\"1-simple-way-developers-can-improve-testability\"},unresolvedPathSlugs:{tcfKQ1IoL:{collectionId:\"qfddknsE_\",collectionItemId:\"Wpqz5jq_6\"}},webPageId:\"nbTUTx03b\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Test ID\"})}),\" of \u201C\",/*#__PURE__*/e(\"strong\",{children:\"login\"}),\"\u201C inside of the tag with \u201C\",/*#__PURE__*/e(\"strong\",{children:\"layers\"}),\"\u201C as its ID.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Testing CSS Selectors\"}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s test this out and make sure the correct element is selected\u2026\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"768\",src:\"https://framerusercontent.com/images/QhnLoDt9N3rXPDmf9FgjYNO8w.gif\",srcSet:\"https://framerusercontent.com/images/QhnLoDt9N3rXPDmf9FgjYNO8w.gif?scale-down-to=512 512w,https://framerusercontent.com/images/QhnLoDt9N3rXPDmf9FgjYNO8w.gif?scale-down-to=1024 1024w,https://framerusercontent.com/images/QhnLoDt9N3rXPDmf9FgjYNO8w.gif?scale-down-to=2048 2048w,https://framerusercontent.com/images/QhnLoDt9N3rXPDmf9FgjYNO8w.gif 2500w\",style:{aspectRatio:\"2500 / 1537\"},width:\"1250\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Make sure Dev Tools is focused (Click if needed)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"\u2318+F (Ctrl+F on Windows)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Paste your new selector in the Find input bar\"})})]}),/*#__PURE__*/e(\"p\",{children:\"All matching elements in the DOM (Document Object Model) that match the selector will be highlighted. You\u2019ll often want this to be a single element, so check it says \u201C1 of 1\u201Cin these cases.\"}),/*#__PURE__*/e(\"p\",{children:\"Sometimes you will expect multiple elements. For instance, you might wish to test that 4 images are displayed. Double-check the number of elements you expect to be highlighted in these situations.\"}),/*#__PURE__*/e(\"h2\",{children:\"Creating Elements in DoesQA\"}),/*#__PURE__*/e(\"p\",{children:\"Everything to this point should be able to help regardless of your tooling. From this point, we\u2019ll cover how to use this in DoesQA.\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"307\",src:\"https://framerusercontent.com/images/vrp1wAdBf25zgu8tqy5C42r8Ww.gif\",style:{aspectRatio:\"1000 / 615\"},width:\"500\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Drag in the appropriate node (eg Touch, Check Text, Set etc)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Double-click the new node to open the node editor\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Click \u201C\",/*#__PURE__*/e(\"strong\",{children:\"+\"}),\"\u201C next to Element to create a new Element\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Name your Element something descriptive\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Check the Type is set to CSS\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Enter your new Selector\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Click the tick/check to save\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Your new selector will automatically be selected into your node.\"}),/*#__PURE__*/e(\"h2\",{children:\"Maintaining Elements in DoesQA\"}),/*#__PURE__*/e(\"p\",{children:\"Multiple nodes can link to the same Element. Occasionally an Element might need updating as a result of development changes.\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"308\",src:\"https://framerusercontent.com/images/CyDl8pwQEz2YIAc96PW79K3V3Y.gif\",style:{aspectRatio:\"1000 / 616\"},width:\"500\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Navigate to Elements\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Find the Element you wish to edit\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Click the edit icon\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Make your Element changes\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Click the save icon\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"Because the selector we created above was tied to a Test ID, I could change the selector type to \u201C\",/*#__PURE__*/e(\"strong\",{children:\"Test ID\"}),\"\u201C and simplify the selector down to just \u201C\",/*#__PURE__*/e(\"strong\",{children:\"login\"}),\"\u201C.\"]}),/*#__PURE__*/t(\"p\",{children:[\"As mentioned above, Test IDs come in many variations. DoesQA will check through a list of the most common. You can see exactly what \",/*#__PURE__*/e(n,{href:\"https://docs.does.qa/additional-items/elements#element-types\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Test IDs DoesQA looks for\"})}),\" in \",/*#__PURE__*/e(n,{href:\"https://docs.does.qa/additional-items/elements#element-types\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"our docs\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"When you edit an Element, all occurrences will be updated across all Flows.\"})]});export const richText31=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Wednesday, May 3, 2023 - Midlands, UK\"}),\" - DoesQA, Codeless Test Automation, has saved one of its clients \\xa380,000 (~$100,000) per year on a 3-year contract.\"]}),/*#__PURE__*/e(\"p\",{children:\"The two-person bootstrapped startup from the Midlands, UK, has successfully replaced a contract worth \\xa3240,000 (~$300,000) previously held by LambdaTest.\"}),/*#__PURE__*/e(\"p\",{children:\"The contract with LambdaTest provided the client with 40 test runners. Structured this way, customers pay for these regardless of use and can\u2019t scale past their hard cap.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"DoesQA provides unlimited runners with unlimited concurrency but instead only charges customers for minutes of actual use, accurate to within 0.1 of a minute. After calculating the real need in minutes, the client replaced their expensive contract with a DoesQA plan costing only $1,700 monthly, saving approximately 80%.\"})}),/*#__PURE__*/e(\"p\",{children:\"Because DoesQA offers minutes in bundles, the client has plenty of space for growth before additional minutes are required. Furthermore, with unlimited concurrency, they are able to burst past their previous 40-runner limitation, which provides them supplementary savings as CI/CD pipelines no longer have to wait upwards of 40 minutes for their pack to run entirely.\"}),/*#__PURE__*/e(\"p\",{children:\"DoesQA is more than just a tool for saving money. Its intuitive drag-and-drop interface also speeds up test creation and maintenance.\"}),/*#__PURE__*/e(\"p\",{children:\"Lead Automation Engineer for the client said:\"}),/*#__PURE__*/e(\"p\",{children:\"\u201CWe went from about 7% coverage on our old test framework to roughly 40% coverage in just 2 sprints!\u201D\"})]});export const richText32=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Artificial intelligence (\",/*#__PURE__*/e(\"strong\",{children:\"AI\"}),\") has seen tremendous growth in recent years, leading to the development of advanced tools such as OpenAI's ChatGPT and Google's Bard. These AI tools have proven valuable for developers in various tasks, from generating content to optimizing code. However, the integration of AI into software development raises several concerns, including ethical and practical implications. In this article, we will explore the key concerns associated with developers using AI tools like ChatGPT and Google Bard, and how we are aiming to ensure good quality standards are here to stay.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Bias and Discrimination\"}),/*#__PURE__*/e(\"p\",{children:\"AI tools learn from vast amounts of data, which may contain biases and stereotypes. As a result, these tools may inadvertently perpetuate harmful biases or produce discriminatory outputs. Developers must be aware of these risks and actively work to mitigate them, ensuring that their applications treat users fairly and do not contribute to existing social inequalities.\"}),/*#__PURE__*/e(\"h4\",{children:\"Loss of Creativity and Innovation\"}),/*#__PURE__*/e(\"p\",{children:\"One concern regarding the widespread adoption of AI tools is the potential for a decline in human creativity and innovation. With AI generating content or code, developers may become overly reliant on these tools, stifling their ability to think critically and devise unique solutions. Balancing the use of AI-generated outputs with human ingenuity is essential to maintain a culture of innovation in the development space.\"}),/*#__PURE__*/e(\"h4\",{children:\"Intellectual Property and Copyright\"}),/*#__PURE__*/t(\"p\",{children:[\"As AI-generated content becomes more prevalent, questions surrounding intellectual property (\",/*#__PURE__*/e(\"strong\",{children:\"IP\"}),\") and copyright protection arise. Determining who owns the rights to AI-generated content and how these rights should be protected can be a complex issue. Developers and organizations must navigate this legal gray area to avoid potential disputes and ensure proper attribution of AI-generated work.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Quality Control and Reliability\"}),/*#__PURE__*/e(\"p\",{children:\"While AI tools like ChatGPT and Google Bard can produce impressive results, the quality and reliability of their outputs are not always guaranteed. Developers need to closely examine AI-generated content and code to ensure accuracy, relevance, and appropriateness. Failing to do so may lead to misinformation, inaccuracies, or even harmful consequences in their applications.\"}),/*#__PURE__*/e(\"h4\",{children:\"Data Privacy and Security\"}),/*#__PURE__*/e(\"p\",{children:\"The use of AI tools often involves processing and analyzing large amounts of user data. This raises concerns about data privacy and security, as mishandling sensitive information may result in severe consequences for developers and users alike. Developers must adopt robust security measures and adhere to privacy regulations to protect user data and build trust in their applications.\"}),/*#__PURE__*/e(\"h4\",{children:\"How can we make sure QA doesn\u2019t fall for the same faults?\"}),/*#__PURE__*/e(\"p\",{children:\"\u201CHey Siri, write me some automated tests, please!\u201D\"}),/*#__PURE__*/e(\"p\",{children:\"When using testing tools, it\u2019s important that these tools are not trained on the same data. If a development team is heavily using a tool such as ChatGPT, then the testing of the output should not be trained the same way. Quality is a mindset, something that takes a solution and asks the \u201Cwhat if\u201C questions.\"}),/*#__PURE__*/e(\"p\",{children:\"It\u2019s essential quality assurance keeps pace with development, and with Github\u2019s Copilot already being used by more than one million people, QA\u2019s need a boost of their own.\"}),/*#__PURE__*/e(\"p\",{children:\"Quality assurance doesn\u2019t have to be hard or time-consuming, and luckily new tools are emerging to help you move quickly while maintaining high levels of confidence.\"}),/*#__PURE__*/t(\"p\",{children:[\"DoesQA is not alone in this space, and it\u2019s very exciting to see a new focus on quality in the industry. Tools such as \",/*#__PURE__*/e(n,{href:\"https://www.rainforestqa.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Rainforest\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.mabl.com/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Mabl\"})}),\", and \",/*#__PURE__*/e(n,{href:\"https://dogq.io/\",motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"DogQ \"})}),\"are entering this area alongside \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"DoesQA\"})}),\", giving ambassadors of bug-finding more tools than ever before.\"]}),/*#__PURE__*/t(\"p\",{children:[\"DoesQA allows you to create exceptional coverage in record time. Don\u2019t believe us? \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Sign up today\"})}),\" and we guarantee that you will love the results.\"]}),/*#__PURE__*/e(\"p\",{children:\"Open up your schedule away from regression testing and maintenance, and allow you to exercise those testing muscles in more exciting areas!\"}),/*#__PURE__*/e(\"p\",{children:\"The landscape is changing, and it\u2019s key for every part of the superb engineering teams are keeping pace with faster, cheaper, and more efficient tooling. We are excited to be part of the future of testing and look forward to you accompanying us on this journey.\"})]});export const richText33=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"h2\",{children:[\"You\u2019re hired to reduce cockroaches.\",/*#__PURE__*/e(\"br\",{}),\"But your only method introduces more.\"]}),/*#__PURE__*/t(\"p\",{children:[\"It\u2019s not very logical.\",/*#__PURE__*/e(\"br\",{}),\"And yet, this is the current norm of software development.\"]}),/*#__PURE__*/e(\"p\",{children:\"Your project is made up of code; to test that code is more code. Unit test code, integration test code and automated test code.\"}),/*#__PURE__*/e(\"p\",{children:\"It\u2019s all code, and it\u2019s all vulnerable to the same issues. Human error, exacerbated by deadlines in fast-moving teams.\"}),/*#__PURE__*/t(\"h2\",{children:[\"It\u2019s time for Codeless,\",/*#__PURE__*/e(\"br\",{}),\"It\u2019s time for Confidence\"]}),/*#__PURE__*/e(\"p\",{children:\"The \u201Ccockroaches\u201D are in the code.\"}),/*#__PURE__*/e(\"p\",{children:\"When a tester drags in one of our nodes, there\u2019s nowhere to introduce \u201Ccockroaches\u201C. When you run your tests, they run as expected every time.\"}),/*#__PURE__*/e(\"h2\",{children:\"Goodbye, flaky tests!\"}),/*#__PURE__*/t(\"p\",{children:[\"When a test fails, is it a flaky product?\",/*#__PURE__*/e(\"br\",{}),\"Or a flaky test?\"]}),/*#__PURE__*/e(\"p\",{children:\"Precious time is wasted every day by Developers and Automation Testers going back and forth asking these very questions. No more!\"}),/*#__PURE__*/e(\"h2\",{children:\"Goodbye, test tech debt!\"}),/*#__PURE__*/e(\"p\",{children:\"Your Automation Testers have their own tech debt.\"}),/*#__PURE__*/e(\"p\",{children:\"They shouldn\u2019t need to split their time between security updates, developing additional tooling like Lighthouse audits and creating tests. You handle the tests, we\u2019ll handle everything else!\"}),/*#__PURE__*/e(\"h2\",{children:\"You\u2019re wasting time!\"}),/*#__PURE__*/e(\"p\",{children:\"The largest single expense of automation testing is time.\"}),/*#__PURE__*/e(\"p\",{children:\"Our intuitive drag-and-drop UI makes creating tests a breeze. There\u2019s nothing to maintain. If your product changes, updating your tests to match only takes moments.\"}),/*#__PURE__*/e(\"p\",{children:\"When your tests make a \u201Cdiscovery\u201C, we give you steps to reproduce, screenshots and a video so creating tickets is faster than ever.\"}),/*#__PURE__*/e(\"p\",{children:\"Plus, with DoesQA a test pack taking 1 hour to run might only take 4 minutes\u2026\"}),/*#__PURE__*/e(\"h2\",{children:\"You\u2019re wasting money!\"}),/*#__PURE__*/e(\"p\",{children:\"The second largest automation expense is runners.\"}),/*#__PURE__*/t(\"p\",{children:[\"DoesQA can help you \",/*#__PURE__*/e(\"strong\",{children:\"achieve up to a staggering 80% cost reduction\"}),\". Our industry-leading architecture means our runners don\u2019t exist when idle. This is a cost-saving we pass on to every client!\"]}),/*#__PURE__*/e(\"p\",{children:\"When your tests start, we instantly spawn runners for each test, providing full concurrency as standard.\"}),/*#__PURE__*/t(\"h2\",{children:[\"\u201C\",/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"complex automated testing is no longer difficult\"})}),\"\u201C\"]}),/*#__PURE__*/e(\"p\",{children:\"If your coverage isn\u2019t where you want it, your automation team can\u2019t keep pace with development, or you're paying for expensive contractors, you\u2019re in the right place!\"}),/*#__PURE__*/e(\"p\",{children:\"DoesQA was founded and built by two experienced SDETs in the industry.\"}),/*#__PURE__*/e(\"p\",{children:\"At each place, we would build a framework to unlock the full potential of automation for our clients. It\u2019s expensive and time-consuming.\"}),/*#__PURE__*/e(\"p\",{children:\"There had to be a better way.\"}),/*#__PURE__*/t(\"p\",{children:[\"To increase test reliability and confidence, both the test creation and the test running have to be provided by a single source. You\u2019ll always have \u201Cflaky tests\u201C and finger-pointing when these are separate. If you create a test in DoesQA which doesn\u2019t run as expected, that\u2019s \",/*#__PURE__*/e(\"strong\",{children:\"OUR PROBLEM, NOT YOURS\"}),\"!\"]}),/*#__PURE__*/e(\"p\",{children:\"So we set out to make an industry-leading runner and test creator. There are a few flavours of test creators on the market:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Script; too flaky, too slow\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Record and playback; too limited, too hard to maintain\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"AI; too detached, too limited\"})})]}),/*#__PURE__*/e(\"p\",{children:\"What we created is very similar to scripting. Users who know how to code have no problem making the switch. Instead of injecting a few lines of code, you drag in a node. This also has the major benefit of opening automation to everyone in your QA team and outside.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Everyone Does QA\"})}),/*#__PURE__*/e(\"p\",{children:\"With our test creator, your tests are predictable, reliable and easy to maintain. But we didn\u2019t stop there. We have introduced some industry firsts. Branching tests, instead of duplicating a test and doubling the code which needs maintenance, you can simply branch a new test from any existing flow. Lighthouse audits within your flows ensure your site is performant and accessible at every step, automatically and with every deployment.\"}),/*#__PURE__*/t(\"p\",{children:[\"We have so much more we would love to tell you about,\",/*#__PURE__*/e(\"br\",{}),\"But how about you \",/*#__PURE__*/e(n,{href:{webPageId:\"Owida8HbZ\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"see for yourself\"})}),\"?\"]})]});export const richText34=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/t(\"p\",{children:[\"In today's increasingly digital world, website accessibility is essential for reaching the widest possible audience. Ensuring that people with disabilities can interact with and navigate your website is not only a matter of social responsibility, but it also benefits businesses by expanding their potential customer base. \",/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Accessibility testing\"})}),\" is the key to achieving this goal, and DoesQA is a powerful tool that can automate this process, making it easier and more efficient. This article will provide you with a step-by-step guide on how to compare accessibility scores between websites using DoesQA.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Section 1: Importance of Accessibility Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Accessibility testing ensures that websites are accessible to all users, regardless of their abilities or disabilities. This includes individuals with visual, hearing, cognitive, and motor impairments. By complying with accessibility guidelines and standards, such as the Web Content Accessibility Guidelines (WCAG), or Google\u2019s Lighthouse Reporting, businesses can ensure that their websites are usable by a broader audience.\"}),/*#__PURE__*/e(\"p\",{children:\"There are several reasons why accessibility testing is important:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Legal Compliance: Many countries have enacted laws and regulations that require websites to be accessible, and non-compliant websites can face penalties or legal actions.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Inclusivity: Accessible websites allow people with impairments to participate in the digital world, promoting social inclusion.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Market Reach: Making a website accessible expands its potential audience, as millions of people worldwide live with impairments.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"SEO Benefits: Accessible websites often have improved search engine rankings, as search engines prioritize websites with good accessibility practices.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Section 2: Automating Accessibility Testing with DoesQA\"}),/*#__PURE__*/e(\"p\",{children:\"DoesQA is an automated testing tool that simplifies the process of evaluating website accessibility. By using DoesQA, you can easily test your website, save the accessibility scores in the Value Store, and then compare them with other websites.\"}),/*#__PURE__*/e(\"p\",{children:\"Here's how to use DoesQA for accessibility testing:\"}),/*#__PURE__*/t(\"p\",{children:[\"1. \",/*#__PURE__*/e(n,{href:{webPageId:\"l9knRz8Kt\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/t(s.a,{children:[\"Sign up for a \",/*#__PURE__*/e(\"strong\",{children:\"free\"}),\" DoesQA account\"]})}),\" and log in.\"]}),/*#__PURE__*/e(\"p\",{children:\"2. Follow the onboarding steps and create a new Flow.\"}),/*#__PURE__*/e(\"p\",{children:\"3. Use an Open node, and connect this to some Accessibility nodes. You should end up with a flow similar to below:\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"348\",src:\"https://framerusercontent.com/images/MyHiXmxgy5B9YCDwrafrBq9M1s.png\",srcSet:\"https://framerusercontent.com/images/MyHiXmxgy5B9YCDwrafrBq9M1s.png?scale-down-to=512 512w,https://framerusercontent.com/images/MyHiXmxgy5B9YCDwrafrBq9M1s.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/MyHiXmxgy5B9YCDwrafrBq9M1s.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/MyHiXmxgy5B9YCDwrafrBq9M1s.png 2500w\",style:{aspectRatio:\"2500 / 697\"},width:\"1250\"}),/*#__PURE__*/e(\"p\",{children:\"4. Run the test, and DoesQA will automatically evaluate your website's accessibility based on Lighthouse standards.\"}),/*#__PURE__*/e(\"p\",{children:\"5. Once the test is complete, you will be able to see the current scores for your website. This will be used as our baseline in Section 3.\"}),/*#__PURE__*/e(\"p\",{children:\"In the 5 simple steps above (and under 5 minutes) you will be able to produce Live Synthetic Testing that keeps an eye on your accessibility scoring.\"}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s take it to the next level.\"}),/*#__PURE__*/e(\"h3\",{children:\"Section 3: Comparing Accessibility Scores Between Websites\"}),/*#__PURE__*/e(\"p\",{children:\"Comparing accessibility scores between websites is essential for identifying areas where your website might be lagging behind or excelling in comparison to competitors or industry standards. With DoesQA, you can easily compare your website's accessibility score with others.\"}),/*#__PURE__*/e(\"p\",{children:\"Follow these steps to compare accessibility scores between websites:\"}),/*#__PURE__*/t(\"p\",{children:[\"1. Add to Section 2\u2019s flow, by storing the output of the scores in the value store. To do this, use the Store Text node, select the Alias type, and save the \",/*#__PURE__*/e(\"code\",{children:\"$actualSeoScore\"}),\" to a new value \",/*#__PURE__*/e(\"code\",{children:\"Nike_SEO_Score\"}),\" in this example:\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"733\",src:\"https://framerusercontent.com/images/nFsQwlq3H4NN3qZulYEz4AQVaQ.png\",srcSet:\"https://framerusercontent.com/images/nFsQwlq3H4NN3qZulYEz4AQVaQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/nFsQwlq3H4NN3qZulYEz4AQVaQ.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/nFsQwlq3H4NN3qZulYEz4AQVaQ.png 1874w\",style:{aspectRatio:\"1874 / 1466\"},width:\"937\"}),/*#__PURE__*/e(\"p\",{children:\"2. Now we have those values saved, we are able to repeat the steps in Section 2 and compare our values to another website. The result would look something like this.\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"841\",src:\"https://framerusercontent.com/images/kxeKjGG2zKbOVeb0sStlK4IodE.png\",srcSet:\"https://framerusercontent.com/images/kxeKjGG2zKbOVeb0sStlK4IodE.png?scale-down-to=1024 830w,https://framerusercontent.com/images/kxeKjGG2zKbOVeb0sStlK4IodE.png 1364w\",style:{aspectRatio:\"1364 / 1682\"},width:\"682\"}),/*#__PURE__*/e(\"p\",{children:\"3. Let\u2019s run the tests and see how these competitors compare:\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"1001\",src:\"https://framerusercontent.com/images/K1g1ROzxZoececT7yvYtaOSgXog.png\",srcSet:\"https://framerusercontent.com/images/K1g1ROzxZoececT7yvYtaOSgXog.png?scale-down-to=1024 748w,https://framerusercontent.com/images/K1g1ROzxZoececT7yvYtaOSgXog.png 1464w\",style:{aspectRatio:\"1464 / 2002\"},width:\"732\"}),/*#__PURE__*/e(\"p\",{children:\"The interesting takeaway from the above, Nike was worse than ASOS in 4 out of 5 of the scores. This solidifies the reason that this type of testing is more important than ever, to ensure that you are providing users with a best-in-class experience.\"}),/*#__PURE__*/e(\"h3\",{children:\"Conclusion\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Accessibility testing\"})}),\" is crucial for ensuring that your website is usable by a diverse audience. DoesQA offers a powerful and efficient solution for automating the accessibility testing process, making it easier to evaluate, compare, and improve the accessibility of websites. By leveraging DoesQA's capabilities, businesses can not only enhance their website's accessibility but also ensure compliance with legal requirements, promote inclusivity, and expand their market reach.\"]})]});export const richText35=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"#1 Speed\"}),/*#__PURE__*/e(\"p\",{children:\"Code is slow. Even the most experienced SDETs will need to refer to documentation several times a day. Then when anyone (even the original creator) needs to update an existing test, they first have to understand what\u2019s already there. This might sound simple but it is actually very time-consuming.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Codeless is fast\"}),'. Test creation takes only minutes by dragging in steps. Extending tests is even faster. Steps are presented in plain text, making them accessible to everyone, not just \"technical\" individuals.']}),/*#__PURE__*/e(\"h2\",{children:\"#2 Ease\"}),/*#__PURE__*/e(\"p\",{children:\"Code is flexible and has virtually limitless possibilities. But you need experienced, and often expensive, SDETS to actualise the possibilities.\"}),/*#__PURE__*/t(\"p\",{children:[\"With codeless test automation, you have \",/*#__PURE__*/e(\"strong\",{children:\"immediate access to everything\"}),\" we\u2019ve already developed for our 100s of customers. Powerful integrations like \",/*#__PURE__*/e(n,{href:{webPageId:\"NS4VXQ4sG\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"Lighthouse\"})}),\" and Slack. Plus, advanced features like customer header injection, \",/*#__PURE__*/e(n,{href:{webPageId:\"j8vkaNlXd\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"visual regression\"})}),\", API requests, etc.\"]}),/*#__PURE__*/e(\"h2\",{children:\"#3 Reliability\"}),/*#__PURE__*/e(\"p\",{children:\"One of the biggest issues with automation test scripts is running them. They might have been developed in isolation or only run on a local machine. You might find an issue when you finally get to running them as intended. But where\u2019s the issue? Is it with the tests or the hosted runner you\u2019re using? Maybe it\u2019s related to the order in the tests run? This is where the finger-pointing starts.\"}),/*#__PURE__*/t(\"p\",{children:[\"With codeless, there\u2019s no ambiguity. We offer all the steps, and we run them. If you think a test isn\u2019t running as expected, it\u2019s \",/*#__PURE__*/e(\"strong\",{children:\"OUR PROBLEM, NOT YOURS\"}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"#4 Onboarding\"}),/*#__PURE__*/e(\"p\",{children:\"Code is flexible. There are often dozens or even hundreds of ways to achieve the same outcome. With this much flexibility, code takes on the personal styles of the creators. There\u2019s absolutely nothing wrong with this, but it makes onboarding new team members a little more challenging, particularly when timed with a leaver.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A codeless test is standardised\"}),\". Several people creating a registration test would end up with similar, if not identical, tests. This makes onboarding far faster and minimises the risks when people move on.\"]}),/*#__PURE__*/e(\"h2\",{children:\"#5 Support\"}),/*#__PURE__*/e(\"p\",{children:\"SDETs work independently, handling issues by investigating root causes and finding solutions. They rely on online documentation and, if fortunate, technical support from a provider. However, they are responsible for the entire process of identifying and explaining the problem.\"}),/*#__PURE__*/e(\"p\",{children:\"They\u2019ll also have to manage their technical debt backlog of feature requests and critical security updates.\"}),/*#__PURE__*/t(\"p\",{children:[\"With DoesQA, we\u2019ll set up an \",/*#__PURE__*/e(\"strong\",{children:\"account Slack channel\"}),\" where it\u2019s completely acceptable to say, \u201CHey, could you take a look at this test?\u201C and we\u2019ll jump in from that point. We handle all security updates, and you can request features directly.\"]}),/*#__PURE__*/e(\"h2\",{children:\"#6 Costs\"}),/*#__PURE__*/e(\"p\",{children:\"SDETs are expensive. Running tests are expensive. Time is money.\"}),/*#__PURE__*/e(\"p\",{children:\"Then having little confidence in your automation test pack can feel like a colossal waste.\"}),/*#__PURE__*/t(\"p\",{children:[\"With DoesQA, we have simple, fair, predictable pricing. We\u2019re confident we\u2019ll \",/*#__PURE__*/e(\"strong\",{children:\"save you a massive amount\"}),\" on running costs alone (\",/*#__PURE__*/e(n,{href:{pathVariables:{tcfKQ1IoL:\"saves-client-300000-dollars\"},unresolvedPathSlugs:{tcfKQ1IoL:{collectionId:\"qfddknsE_\",collectionItemId:\"DwwCeC5Ku\"}},webPageId:\"nbTUTx03b\"},motionChild:!0,nodeId:\"qfddknsE_\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(s.a,{children:\"customer saves $300k\"})}),\"). Then factor in all the time savings, which can go directly into increased coverage and stakeholder confidence. It\u2019s no surprise we are loved by hundreds of brands globally.\"]})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText21\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText20\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText31\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText35\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText25\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText28\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText29\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText32\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText18\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText24\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText12\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText17\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText19\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText14\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText23\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText33\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText34\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText26\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText16\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText13\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText22\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText15\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText30\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText27\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "richText1", "Link", "motion", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "ComponentPresetsConsumer", "t", "Youtube", "richText11", "richText12", "richText13", "richText14", "richText15", "richText16", "richText17", "richText18", "richText19", "richText20", "richText21", "richText22", "richText23", "richText24", "richText25", "richText26", "richText27", "richText28", "richText29", "richText30", "CodeBlock_default", "richText31", "richText32", "richText33", "richText34", "richText35", "__FramerMetadata__"]
}
