{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/BllfmgtEgYXRkk9rqBkw/VPvxF6blvrnj8NAevlr6/xUFEuGbVZ-11.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{Link as r}from\"framer\";import*as a from\"react\";export const richText=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Natural Language Processing (NLP) is at the core of how machines understand, interpret, and respond to human language. AI tools in this category are transforming how businesses interact with customers, providing smarter, faster communication solutions. Let\u2019s explore some leading platforms:\"}),/*#__PURE__*/e(\"ol\",{start:\"10\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"ChatGPT\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,a0FxLUPq1IDS7Q3fYGsZ6f5W6pI.png\",\"data-framer-height\":\"489\",\"data-framer-width\":\"838\",height:\"244\",src:\"https://framerusercontent.com/images/a0FxLUPq1IDS7Q3fYGsZ6f5W6pI.png\",srcSet:\"https://framerusercontent.com/images/a0FxLUPq1IDS7Q3fYGsZ6f5W6pI.png?scale-down-to=512 512w,https://framerusercontent.com/images/a0FxLUPq1IDS7Q3fYGsZ6f5W6pI.png 838w\",style:{aspectRatio:\"838 / 489\"},width:\"419\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/wcyrrHqaSJHTCs8L7\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://openai.com/chatgpt/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"ChatGPT\"})}),\", developed by OpenAI, is a leading artificial intelligence software for generating human-like conversations. Built on vast data, it allows users to have interactive and natural dialogues, making it a game-changer for businesses across industries.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Features\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Human-Like Responses\"}),\": ChatGPT can generate conversational responses that closely mimic human speech, making interactions more natural and intuitive.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Extensive Data Training\"}),\": It\u2019s trained on vast amounts of data, allowing it to understand diverse topics and contexts precisely.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Customizable Versions\"}),\": ChatGPT offers free and paid versions, allowing businesses to choose a model that fits their needs. Advanced features include tailored responses, \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/build-quality-api\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"API\"})}),\" integrations, and higher usage limits.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Versatile Applications\"}),\": It\u2019s used for customer support automation, virtual assistants, content creation, and internal \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/webhooks-unveiled-enhancing-real-time-communication-in-apis\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"communication\"})}),\" tools, enhancing productivity across different business functions.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"ChatGPT is reshaping how businesses communicate, offering an intuitive and scalable solution for boosting customer engagement and operational efficiency.\"}),/*#__PURE__*/e(\"ol\",{start:\"11\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Hugging Face\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,n5CbZzk14fuq8GfJgruLUR9IGFQ.png\",\"data-framer-height\":\"800\",\"data-framer-width\":\"1200\",height:\"400\",src:\"https://framerusercontent.com/images/n5CbZzk14fuq8GfJgruLUR9IGFQ.png\",srcSet:\"https://framerusercontent.com/images/n5CbZzk14fuq8GfJgruLUR9IGFQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/n5CbZzk14fuq8GfJgruLUR9IGFQ.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/n5CbZzk14fuq8GfJgruLUR9IGFQ.png 1200w\",style:{aspectRatio:\"1200 / 800\"},width:\"600\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://huggingface.co/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://huggingface.co/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Hugging Face\"})}),\" is a leading open-source platform that simplifies natural language processing (NLP) tasks with a wide range of pre-trained models. It allows developers to integrate advanced NLP capabilities like translation, summarization, and text classification without extensive training or resources, making it an essential tool for text-based applications.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Features\"})}),/*#__PURE__*/e(\"p\",{children:\"Hugging Face offers robust features that streamline NLP development, making it a top choice for developers in 2024:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Pre-Trained Models: \"}),\"Models like BERT, GPT, and RoBERTa are available for immediate use, allowing developers to perform tasks such as language generation, translation, and sentiment analysis efficiently.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Transformers Library:\"}),\" The platform\u2019s popular library supports multiple frameworks, such as PyTorch and TensorFlow, making it adaptable to various NLP use cases.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Zero-Shot Classification:\"}),\" This feature enables classification tasks without specific training data, allowing models to adapt quickly to new challenges.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Customizable Models:\"}),\" Developers can fine-tune models to suit specific needs, such as building chatbots, content generation tools, or machine translation systems.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Community and Collaboration: \"}),\"The Hugging Face Hub promotes collaboration with shared models, datasets, and workflows, fostering a strong developer and research community.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Flexible Deployment:\"}),\" Models can be deployed locally or integrated with cloud platforms like AWS and Google Cloud, offering scalability based on project needs.\"]})})]}),/*#__PURE__*/e(\"ol\",{start:\"12\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Dialogflow\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,2Q7wkHebiPrQzR2tXfeSnGuxdI0.png\",\"data-framer-height\":\"430\",\"data-framer-width\":\"1024\",height:\"215\",src:\"https://framerusercontent.com/images/2Q7wkHebiPrQzR2tXfeSnGuxdI0.png\",srcSet:\"https://framerusercontent.com/images/2Q7wkHebiPrQzR2tXfeSnGuxdI0.png?scale-down-to=512 512w,https://framerusercontent.com/images/2Q7wkHebiPrQzR2tXfeSnGuxdI0.png 1024w\",style:{aspectRatio:\"1024 / 430\"},width:\"512\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://cloud.google.com/dialogflow\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\\xa0\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://cloud.google.com/dialogflow\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Google\u2019s Dialogflow\"})}),\" is a powerful natural language understanding (NLU) platform designed to help developers build conversational agents for voice and text-based applications. For its versatility and ease of use, Dialogflow is widely adopted for creating chatbots, virtual assistants, and interactive voice response (IVR) systems, offering real-time, seamless interactions between users and machines.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Core Features\"})}),/*#__PURE__*/e(\"p\",{children:\"Dialogflow offers a rich set of features that streamline the development and deployment of conversational agents, making it an essential tool for businesses looking to enhance customer communication:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Natural Language Understanding (NLU)\"}),\": Dialogflow\u2019s advanced NLU engine allows developers to build highly accurate agents to understand and process natural language inputs, enabling more human-like conversations.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Multi-Channel Integration\"}),\": The platform supports integration with various communication channels, including websites, mobile apps, messaging platforms like WhatsApp and Facebook Messenger, and voice assistants like Google Assistant and Alexa.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Support for Multiple Languages\"}),\": Dialogflow supports over 20 languages, allowing businesses to deploy multilingual conversational agents, expanding their reach and improving customer service globally.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Pre-Built Agents\"}),\": Developers can leverage Dialogflow\u2019s pre-built agents to get started quickly, with templates for common use cases such as customer service, e-commerce, and technical support.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Contextual Conversations\"}),\": Dialogflow allows agents to handle context-based conversations, making interactions more dynamic and personalized by maintaining the flow of the conversation across multiple interactions.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Scalability with Google Cloud\"}),\": As part of the Google Cloud ecosystem, Dialogflow integrates seamlessly with other Google services, allowing for rapid scalability and easy deployment across industries. It\u2019s built to handle high-volume interactions, making it suitable for businesses of all sizes.\"]})})]})]});export const richText1=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"By integrating AI into CRM and business intelligence platforms, companies can enhance personalization, streamline workflows, and gain deeper insights into customer behavior. Let\u2019s look at some leading AI-powered CRM tools.\"}),/*#__PURE__*/e(\"ol\",{start:\"13\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Salesforce Einstein\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,ZNhzDWU7tN6rOJURhlfI1eyyl0.png\",\"data-framer-height\":\"630\",\"data-framer-width\":\"1200\",height:\"315\",src:\"https://framerusercontent.com/images/ZNhzDWU7tN6rOJURhlfI1eyyl0.png\",srcSet:\"https://framerusercontent.com/images/ZNhzDWU7tN6rOJURhlfI1eyyl0.png?scale-down-to=512 512w,https://framerusercontent.com/images/ZNhzDWU7tN6rOJURhlfI1eyyl0.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/ZNhzDWU7tN6rOJURhlfI1eyyl0.png 1200w\",style:{aspectRatio:\"1200 / 630\"},width:\"600\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/9CnCdoZrDvfNzj8b6\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://www.google.com/aclk?sa=l&ai=DChcSEwiz8Pz15bqIAxWJK4MDHQokAAQYABAAGgJzZg&co=1&ase=2&gclid=CjwKCAjw_4S3BhAAEiwA_64YhvuY3sePLMwaXTwsmSSGsU9jUkpm5K7bJJS_cDCQoSMHoJF-J4b6XxoCtvcQAvD_BwE&sig=AOD64_3ZIkmC9xg0Qv-5sIhaZnh5c-bBxg&q&nis=4&adurl&ved=2ahUKEwiOsvf15bqIAxVtxjgGHRruCWEQ0Qx6BAgIEAE\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Salesforce Einstein\"})}),\" is an artificial intelligence \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/how-non-technical-teams-can-contribute-to-software-quality-with-qodex-ai\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"software\"})}),\" platform designed to integrate directly into Salesforce\u2019s CRM, empowering businesses with AI-driven analytics and automation. It allows users to unlock predictive insights and automate workflows using machine learning (ML), natural language processing (NLP), and computer vision capabilities.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Key Features\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"AI-Powered CRM\"}),\": Salesforce Einstein enhances your CRM by providing predictive analytics, automating repetitive tasks, and delivering personalized customer interactions.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Versatile AI Components\"}),\": The platform uses machine learning for predictive modeling, NLP for text and language understanding, and computer vision to analyze images and videos, offering a comprehensive\",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/top-generative-ai-tools-for-software-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" AI toolset\"})}),\" for businesses.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Pricing Flexibility\"}),\": Starting at $25 per user/month, Salesforce Einstein provides scalable pricing options and a free trial, allowing companies to explore its benefits before committing.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"With Salesforce Einstein, your CRM doesn\u2019t just track data\u2014it learns from it, driving smarter decisions and enabling businesses to engage customers with precision and personalization, all powered by cutting-edge AI.\"}),/*#__PURE__*/e(\"ol\",{start:\"14\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Zoho Zia\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,Y9fGOFgnrPIyI2GSvyK2LecFXQ4.png\",\"data-framer-height\":\"720\",\"data-framer-width\":\"1280\",height:\"360\",src:\"https://framerusercontent.com/images/Y9fGOFgnrPIyI2GSvyK2LecFXQ4.png\",srcSet:\"https://framerusercontent.com/images/Y9fGOFgnrPIyI2GSvyK2LecFXQ4.png?scale-down-to=512 512w,https://framerusercontent.com/images/Y9fGOFgnrPIyI2GSvyK2LecFXQ4.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/Y9fGOFgnrPIyI2GSvyK2LecFXQ4.png 1280w\",style:{aspectRatio:\"1280 / 720\"},width:\"640\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.zoho.com/zia/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://www.zoho.com/zia/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Zoho Zia\"})}),\" is the AI-powered assistant built directly into Zoho CRM. It is designed to give businesses intelligent insights that streamline sales and customer management. As a virtual sales assistant, Zia analyzes data to predict sales trends, automate routine tasks, and offer actionable recommendations in real-time. With its ability to score leads based on interaction history, Zia helps sales teams prioritize the most promising opportunities, ensuring that efforts are focused where they matter most.\"]}),/*#__PURE__*/e(\"p\",{children:\"What sets Zia apart is its ability to recognize patterns in customer behavior. By analyzing past interactions, Zia can provide sales reps with valuable insights, such as when to follow up or which products are most likely to interest a particular lead. The automation features are just as powerful\u2014Zia can take over repetitive tasks like updating CRM records, scheduling meetings, or sending follow-up emails, saving teams hours of manual work.\"}),/*#__PURE__*/e(\"p\",{children:\"By offering predictive insights and real-time suggestions, Zoho Zia enables businesses to optimize sales processes, make data-driven decisions, and ultimately improve their customer engagement.\"}),/*#__PURE__*/e(\"ol\",{start:\"15\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"HubSpot AI\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,iQilRLFnAemq9Oy7HyOrlbzW74.png\",\"data-framer-height\":\"627\",\"data-framer-width\":\"1200\",height:\"313\",src:\"https://framerusercontent.com/images/iQilRLFnAemq9Oy7HyOrlbzW74.png\",srcSet:\"https://framerusercontent.com/images/iQilRLFnAemq9Oy7HyOrlbzW74.png?scale-down-to=512 512w,https://framerusercontent.com/images/iQilRLFnAemq9Oy7HyOrlbzW74.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/iQilRLFnAemq9Oy7HyOrlbzW74.png 1200w\",style:{aspectRatio:\"1200 / 627\"},width:\"600\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.hubspot.com/products/artificial-intelligence\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://www.hubspot.com/products/artificial-intelligence\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"HubSpot\"})}),\" AI takes CRM automation to the next level by delivering data-driven insights that enhance marketing and sales strategies. At the core of its offering is \",/*#__PURE__*/e(\"strong\",{children:\"predictive lead scoring\"}),\"\u2014HubSpot\u2019s AI algorithms analyze past interactions and behaviors to determine which leads are most likely to convert. This allows sales teams to focus on high-quality prospects, leading to more efficient workflows and higher close rates.\"]}),/*#__PURE__*/e(\"p\",{children:\"HubSpot AI doesn\u2019t stop there. It also provides content recommendations tailored to specific audiences, ensuring marketing campaigns hit the right note. Whether suggesting the next piece of content for a lead or optimizing email outreach, HubSpot AI helps businesses personalize customer interactions, improving engagement and driving more conversions.\"}),/*#__PURE__*/e(\"p\",{children:\"The automation capabilities are designed to save time across the board. HubSpot AI automates follow-ups, customer outreach, and campaign management, allowing teams to maintain personalized communication at scale. These features boost marketing and sales efficiency, making it easier for businesses to optimize their resources and maximize results.\"})]});export const richText2=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"As we\u2019ve explored, artificial intelligence software is revolutionizing industries, offering a range of solutions that streamline processes, enhance decision-making, and improve customer experiences. From predictive models in Salesforce Einstein to automated workflows in Qodex.ai, each platform brings unique strengths to the table.\"}),/*#__PURE__*/t(\"p\",{children:[\"By integrating AI into your business, you can automate tedious tasks, boost operational efficiency, and make smarter, data-driven decisions. Specifically, \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Qodex.ai\"})}),\" streamlines the \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/software-testing-strategies-and-techniques-guide\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"software testing\"})}),\" process by automating API,\",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/top-backend-testing-tools\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\" backend,\"})}),\" and integration testing workflows. Using contextual intelligence, Qodex.ai tailors testing strategies to your unique product, ensuring more accurate results while reducing manual efforts.\\xa0\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Ready to transform your business with AI? \"}),/*#__PURE__*/e(r,{href:\"https://calendly.com/qodex-ai/product-intro?month=2024-01\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:/*#__PURE__*/e(\"strong\",{children:\"Talk to an expert \"})})}),/*#__PURE__*/e(\"strong\",{children:\"today and discover how Qodex.ai can revolutionize your software testing. You can even start for free and experience firsthand how AI can enhance your workflows, improve product quality, and save valuable time.\"})]})]});export const richText3=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Right now, we're standing on the brink of a revolution. DevOps orchestration and automation tools are transforming how we build and deploy software, driving efficiency and innovation in an era where speed and accuracy are critical.\"}),/*#__PURE__*/e(\"p\",{children:\"With increasing demands for speed and accuracy, developers and DevOps teams must continually adapt to ensure seamless integration, rapid deployment, and flawless execution. This isn\u2019t just about keeping up\u2014it\u2019s about giving you, the experts at the forefront of innovation, the tools to drive the future of software development. By streamlining processes, DevOps orchestration enables more reliable and agile deployments. \"}),/*#__PURE__*/t(\"p\",{children:[\"Let\u2019s explore how DevOps orchestration and \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/top-automation-testing-tools\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"automation tools\"})}),\" transform software development today.\"]})]});export const richText4=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"DevOps orchestration is the process of coordinating and managing various automated tasks and tools to ensure they work together seamlessly. It's like conducting an orchestra, where different instruments (or, in this case, processes) come together to create a harmonious outcome. Orchestration ensures that everything from code integration to deployment happens in the correct order, with the right resources, at the right time.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Orchestration vs. Automation: \"}),\"While automation focuses on individual tasks\u2014like deploying code or running tests\u2014DevOps orchestration goes further by managing the entire workflow. Automation handles discrete tasks, but orchestration connects them, ensuring they work together to meet larger business goals. Think of automation as tools on a workbench and orchestration as the blueprint that directs how and when those tools are used.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Orchestration's Role in Managing Workflows and Dependencies: \"}),\"In complex environments, managing workflows and dependencies is crucial. DevOps orchestration ensures that every task in the development pipeline is executed efficiently and in the correct sequence. It handles dependencies between tasks, reducing errors and bottlenecks. By orchestrating these processes, teams can focus on delivering high-quality \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/types-of-software-testing-engineering\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"software\"})}),\" faster and more efficiently.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"DevOps orchestration is crucial for coordinating automated tasks, ensuring smooth workflows, and reducing errors in the software development lifecycle. Now that we understand DevOps orchestration, let\u2019s explore its benefits to development teams.\"})]});export const richText5=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"DevOps orchestration significantly benefits modern development pipelines, optimizing processes, improving collaboration, and enhancing release quality.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Benefits of DevOps Orchestration\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,YpGqwVIk2hIWJlpKktaPgB4j6w.png\",\"data-framer-height\":\"900\",\"data-framer-width\":\"1600\",height:\"450\",src:\"https://framerusercontent.com/images/YpGqwVIk2hIWJlpKktaPgB4j6w.png\",srcSet:\"https://framerusercontent.com/images/YpGqwVIk2hIWJlpKktaPgB4j6w.png?scale-down-to=512 512w,https://framerusercontent.com/images/YpGqwVIk2hIWJlpKktaPgB4j6w.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/YpGqwVIk2hIWJlpKktaPgB4j6w.png 1600w\",style:{aspectRatio:\"1600 / 900\"},width:\"800\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Accelerate Automation Processes: \"}),\"DevOps orchestration speeds up your automation efforts by seamlessly coordinating tasks across various tools and platforms. It eliminates manual intervention and allows processes to run smoothly and more quickly, which means faster delivery of features and fixes.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Improve Cross-Team Collaboration: \"}),\"Orchestration brings different teams together by providing a unified view of the development process. It ensures everyone, from developers to operations, is on the same page, leading to better communication and more efficient teamwork.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Ensure Higher Release Quality: \"}),\"By effectively managing workflows and dependencies, DevOps orchestration helps catch errors early and ensures that all automated processes work together flawlessly. Fewer defects and problems find their way into production, producing more excellent-quality releases.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Reduce Costs: \"}),\"Orchestration helps reduce the time and resources needed for manual operations and troubleshooting by improving coordination and reducing errors. This efficiency translates into \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/5-ways-qodex-ai-saves-your-time-and-money-on-api-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"cost savings\"})}),\", making your development cycle more economical.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Build Transparency Across the SDLC: \"}),\"Orchestration provides clear visibility into every Software Development Life Cycle (SDLC) stage. You can track progress, identify bottlenecks, and understand the impact of changes, fostering a transparent and accountable development environment.\"]}),/*#__PURE__*/e(\"p\",{children:\"With DevOps orchestration, you can automate faster, collaborate more effectively, and deliver high-quality software, all while reducing costs and increasing transparency. However, like any process, DevOps orchestration has its own set of challenges that teams must navigate to ensure successful implementation.\"})]});export const richText6=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Challenges in DevOps Orchestration\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,sb1vV0enws5GCd1M1VnZmN4lNZg.png\",\"data-framer-height\":\"900\",\"data-framer-width\":\"1600\",height:\"450\",src:\"https://framerusercontent.com/images/sb1vV0enws5GCd1M1VnZmN4lNZg.png\",srcSet:\"https://framerusercontent.com/images/sb1vV0enws5GCd1M1VnZmN4lNZg.png?scale-down-to=512 512w,https://framerusercontent.com/images/sb1vV0enws5GCd1M1VnZmN4lNZg.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/sb1vV0enws5GCd1M1VnZmN4lNZg.png 1600w\",style:{aspectRatio:\"1600 / 900\"},width:\"800\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Striking the right balance between automation and human oversight is key to ensuring a smooth and flexible pipeline. Below are some common challenges and how to overcome them:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Challenge 1: \"}),\"While automation is essential, trying to automate every aspect of testing can backfire. Some tests require human insight and flexibility that automation can't replicate.\\xa0\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"How to overcome: \"}),\"Finding the ideal mix between automated and human testing is essential to guaranteeing thorough coverage without overlooking important details.\"]}),/*#__PURE__*/e(\"p\",{children:\"\\xa0\"})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Challenge 2: \"}),\"Automating builds can speed up the process, but overdoing it can introduce complexity and make the build pipeline harder to manage.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"How to overcome: \"}),\"Automate the right steps without creating unnecessary layers of automation that might slow down the development process or introduce new issues.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Challenge 3: \"}),\"Automating infrastructure can bring consistency and reliability, but too much can lead to rigidity. Over-automated infrastructure might struggle to adapt to unexpected changes or evolving project requirements.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"How to overcome: \"}),\"Ensuring flexibility within your automation processes can accommodate growth and change.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Challenge 4: \"}),\"Automating deployments can reduce human error, but over-automation might result in a lack of supervision and control.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"How to overcome: \"}),\"It's vital to maintain a balance where automation enhances efficiency. However, keeping the human element intact is important, as it is often necessary for handling unforeseen issues during deployment.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Challenge 5: \"}),\"Automating security processes is tempting, but relying entirely on automation can leave gaps. Security often requires a human touch to analyze complex threats and make judgment calls that automation alone might miss.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"How to overcome: \"}),\"Combine automatic security checks with regular manual reviews for a more effective defense against vulnerabilities.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"As teams strive to overcome these challenges, automation testing tools have become crucial in helping balance efficiency and flexibility. From handling repetitive tasks to maintaining quality assurance, these tools streamline the testing process without sacrificing control.\\xa0\"}),/*#__PURE__*/t(\"p\",{children:[\"Let\u2019s explore the \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/top-automation-testing-tools\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"top automation testing tools\"})}),\" to enhance your DevOps pipeline and ensure smooth, reliable releases.\"]})]});export const richText7=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"DevOps orchestration tools are vital for automating workflows and bridging the gap between development and operations. They enable faster releases, improve infrastructure reliability, and streamline tasks like testing, deployment, and monitoring, optimizing the entire DevOps pipeline.\"}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Qodex.ai\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,edQUgioDwWuo6l9RZIIy9cTioo.png\",\"data-framer-height\":\"630\",\"data-framer-width\":\"1200\",height:\"315\",src:\"https://framerusercontent.com/images/edQUgioDwWuo6l9RZIIy9cTioo.png\",srcSet:\"https://framerusercontent.com/images/edQUgioDwWuo6l9RZIIy9cTioo.png?scale-down-to=512 512w,https://framerusercontent.com/images/edQUgioDwWuo6l9RZIIy9cTioo.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/edQUgioDwWuo6l9RZIIy9cTioo.png 1200w\",style:{aspectRatio:\"1200 / 630\"},width:\"600\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"http://qodex.ai/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Qodex.ai\"})}),\" is an AI-powered tool that takes DevOps orchestration to the next level by automating QA tasks across the software development lifecycle. It supports continuous test coverage, integrates seamlessly with your existing toolchain, and significantly reduces the time and cost associated with testing. Qodex.ai automates testing and maintains up-to-date API collections and \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/writing-api-documentation-examples-best-practices\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"documentation\"})}),\", making it a powerful ally in ensuring your applications are reliable and secure.\"]}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Jenkins\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,8Qk0WPZoK0inkugJP07ZQfE9sEs.png\",\"data-framer-height\":\"650\",\"data-framer-width\":\"866\",height:\"325\",src:\"https://framerusercontent.com/images/8Qk0WPZoK0inkugJP07ZQfE9sEs.png\",srcSet:\"https://framerusercontent.com/images/8Qk0WPZoK0inkugJP07ZQfE9sEs.png?scale-down-to=512 512w,https://framerusercontent.com/images/8Qk0WPZoK0inkugJP07ZQfE9sEs.png 866w\",style:{aspectRatio:\"866 / 650\"},width:\"433\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Jenkins is a prominent open-source automation server that automates aspects of software development such as building, testing, and deployment. It offers high flexibility and integrates with numerous plugins that work with almost any DevOps toolchain.\"}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Ansible\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,Cm2zN48wJqU0OpOdFkUDco3hM4.png\",\"data-framer-height\":\"650\",\"data-framer-width\":\"866\",height:\"325\",src:\"https://framerusercontent.com/images/Cm2zN48wJqU0OpOdFkUDco3hM4.png\",srcSet:\"https://framerusercontent.com/images/Cm2zN48wJqU0OpOdFkUDco3hM4.png?scale-down-to=512 512w,https://framerusercontent.com/images/Cm2zN48wJqU0OpOdFkUDco3hM4.png 866w\",style:{aspectRatio:\"866 / 650\"},width:\"433\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/CavRM2a8E31jxfUx5\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"Ansible simplifies complex orchestration tasks, making it easier to automate software provisioning, configuration management, and application deployment. Its agentless architecture and straightforward syntax make it a favorite among DevOps teams.\"}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Docker\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,F16IOGvpv4BCfsvaW3XaJwb6hSU.png\",\"data-framer-height\":\"440\",\"data-framer-width\":\"659\",height:\"220\",src:\"https://framerusercontent.com/images/F16IOGvpv4BCfsvaW3XaJwb6hSU.png\",srcSet:\"https://framerusercontent.com/images/F16IOGvpv4BCfsvaW3XaJwb6hSU.png?scale-down-to=512 512w,https://framerusercontent.com/images/F16IOGvpv4BCfsvaW3XaJwb6hSU.png 659w\",style:{aspectRatio:\"659 / 440\"},width:\"329\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/5xjUYZCgXkMEm3iN6\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"Docker revolutionized containerization, allowing developers to package applications with all their dependencies into a single container. This ensures that applications run consistently across different environments, simplifying deployment and scaling.\"}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Kubernetes\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,OK3vrmnHyRisn0O4J3kcmzRndc.png\",\"data-framer-height\":\"512\",\"data-framer-width\":\"900\",height:\"256\",src:\"https://framerusercontent.com/images/OK3vrmnHyRisn0O4J3kcmzRndc.png\",srcSet:\"https://framerusercontent.com/images/OK3vrmnHyRisn0O4J3kcmzRndc.png?scale-down-to=512 512w,https://framerusercontent.com/images/OK3vrmnHyRisn0O4J3kcmzRndc.png 900w\",style:{aspectRatio:\"900 / 512\"},width:\"450\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/Zap4jC2Jr8p9JoJ38\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"Kubernetes automates the deployment, scaling, and management of containerized applications. It provides powerful orchestration features essential for managing large-scale containerized applications across multiple clusters.\"}),/*#__PURE__*/e(\"ol\",{start:\"6\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Nagios\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,ullyLUwvhYsxg0w6E3M83u99U.png\",\"data-framer-height\":\"1366\",\"data-framer-width\":\"2500\",height:\"683\",src:\"https://framerusercontent.com/images/ullyLUwvhYsxg0w6E3M83u99U.png\",srcSet:\"https://framerusercontent.com/images/ullyLUwvhYsxg0w6E3M83u99U.png?scale-down-to=512 512w,https://framerusercontent.com/images/ullyLUwvhYsxg0w6E3M83u99U.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/ullyLUwvhYsxg0w6E3M83u99U.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/ullyLUwvhYsxg0w6E3M83u99U.png 2500w\",style:{aspectRatio:\"2500 / 1366\"},width:\"1250\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/jS4hBnm5Kons2bBt6\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"Nagios is a monitoring tool that helps track system performance, network protocols, and other infrastructure components. It provides alerts and reporting, which are critical for maintaining uptime and reliability in complex DevOps environments.\"}),/*#__PURE__*/e(\"ol\",{start:\"7\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"New Relic\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,csWp0u7nXoyFYCzucUOuAqS4.png\",\"data-framer-height\":\"384\",\"data-framer-width\":\"528\",height:\"192\",src:\"https://framerusercontent.com/images/csWp0u7nXoyFYCzucUOuAqS4.png\",srcSet:\"https://framerusercontent.com/images/csWp0u7nXoyFYCzucUOuAqS4.png?scale-down-to=512 512w,https://framerusercontent.com/images/csWp0u7nXoyFYCzucUOuAqS4.png 528w\",style:{aspectRatio:\"528 / 384\"},width:\"264\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/X616o42m1JSdXXAL6\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"New Relic provides real-time monitoring and observability, enabling teams to get insight into application performance and user experience. Its powerful analytics capabilities help troubleshoot issues before they impact end users.\"}),/*#__PURE__*/e(\"ol\",{start:\"8\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"AppDynamics\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,gDstWeU9mGqUsUKvhMPxkfcFc.png\",\"data-framer-height\":\"500\",\"data-framer-width\":\"900\",height:\"250\",src:\"https://framerusercontent.com/images/gDstWeU9mGqUsUKvhMPxkfcFc.png\",srcSet:\"https://framerusercontent.com/images/gDstWeU9mGqUsUKvhMPxkfcFc.png?scale-down-to=512 512w,https://framerusercontent.com/images/gDstWeU9mGqUsUKvhMPxkfcFc.png 900w\",style:{aspectRatio:\"900 / 500\"},width:\"450\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/RXEwbMy9ELyK7oXeA\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"AppDynamics provides deep visibility into application performance, infrastructure, and end-user experience. It's beneficial for identifying and resolving issues in real time, ensuring smooth and reliable application performance.\"}),/*#__PURE__*/e(\"ol\",{start:\"9\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Splunk\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,CXjCsi6AJFjFLle9JCytemH0VwU.png\",\"data-framer-height\":\"450\",\"data-framer-width\":\"450\",height:\"225\",src:\"https://framerusercontent.com/images/CXjCsi6AJFjFLle9JCytemH0VwU.png\",style:{aspectRatio:\"450 / 450\"},width:\"225\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/FwJ4ZPzbfwejqPBA6\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"Splunk is a robust platform for searching, monitoring, and analyzing machine-generated big data. It's commonly used in DevOps for log management, security, and compliance, quickly making sense of large data volumes.\"}),/*#__PURE__*/e(\"ol\",{start:\"10\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"ELK Stack (Elasticsearch, Logstash, Kibana)\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,flnSWjrlXpuRb2YVgpDfqaVro.png\",\"data-framer-height\":\"543\",\"data-framer-width\":\"1280\",height:\"271\",src:\"https://framerusercontent.com/images/flnSWjrlXpuRb2YVgpDfqaVro.png\",srcSet:\"https://framerusercontent.com/images/flnSWjrlXpuRb2YVgpDfqaVro.png?scale-down-to=512 512w,https://framerusercontent.com/images/flnSWjrlXpuRb2YVgpDfqaVro.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/flnSWjrlXpuRb2YVgpDfqaVro.png 1280w\",style:{aspectRatio:\"1280 / 543\"},width:\"640\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/No8jCzXzf2XXu3TM8\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"The ELK stack is a powerful set of tools for log aggregation, searching, and visualization. Elastic search handles the searching, Logstash processes the logs, and Kibana provides intuitive visualizations, helping teams monitor and analyze system activity.\"}),/*#__PURE__*/e(\"ol\",{start:\"11\",children:/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"h3\",children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Zabbix\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,QitRV7rPHuFYtfK8AavKo9ALEk.png\",\"data-framer-height\":\"485\",\"data-framer-width\":\"620\",height:\"242\",src:\"https://framerusercontent.com/images/QitRV7rPHuFYtfK8AavKo9ALEk.png\",srcSet:\"https://framerusercontent.com/images/QitRV7rPHuFYtfK8AavKo9ALEk.png?scale-down-to=512 512w,https://framerusercontent.com/images/QitRV7rPHuFYtfK8AavKo9ALEk.png 620w\",style:{aspectRatio:\"620 / 485\"},width:\"310\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://images.app.goo.gl/GH2bybZrV8b1H9GF6\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Source\"})})}),/*#__PURE__*/e(\"p\",{children:\"Zabbix is an open-source server, network, and virtual machine monitoring tool. It is well-known for being scalable and tracking numerous metrics, making it perfect for large infrastructure situations.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"With the right orchestration tools, your DevOps teams can improve efficiency, reduce manual tasks, and maintain a high level of reliability in their software and infrastructure. The key is choosing the right combination of tools that best fit your project needs.\"}),/*#__PURE__*/e(\"p\",{children:\"Now that we've explored the top tools in DevOps orchestration, let\u2019s dive into the practical steps of implementing orchestration into your existing DevOps processes.\\xa0\"})]});export const richText8=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Implementing DevOps orchestration requires a well-thought-out strategy to ensure automation and integration occur seamlessly within your existing processes. Below is a structured approach that focuses on actionable steps and key considerations.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Identify Automation Gaps: \"}),\"Analyze your current DevOps pipeline to identify areas where automation is lacking or could be improved. Focus on repetitive tasks that can be automated to free up your team's time for more strategic work.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Choose the Right Orchestration Tools: \"}),\"Based on the gaps identified, select the orchestration tools that best suit your needs. Consider factors such as scalability, ease of integration, and the specific features that will effectively address your automation challenges.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Integrate with Existing DevOps Pipeline: \"}),\"Once you've chosen your tools, \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/understanding-ci-cd-tools-for-devops\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"integrate them into your existing DevOps pipeline\"})}),\". Ensure that these tools work harmoniously with your current processes and help streamline your workflows rather than complicate them.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(14, 16, 26)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Monitor and Optimize Workflows: \"}),\"After implementation, continuously monitor your workflows to ensure they perform as expected. Use the data collected to optimize your processes, making adjustments to improve efficiency and address new challenges.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"By following this structured approach, you can successfully implement DevOps orchestration, ensuring that automation enhances your processes without disrupting existing workflows. Keep monitoring and optimizing to stay adaptable to future challenges.\"})]});export const richText9=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"DevOps orchestration provides game-changing advantages, from speeding up automation to enhancing cross-team collaboration and boosting release quality. However, to fully unlock these benefits, a strategic approach is essential. Selecting the right tools, integrating them seamlessly into your pipeline, and continually refining your processes are critical to maintaining efficiency.\"}),/*#__PURE__*/t(\"p\",{children:[\"With advanced AI-powered solutions, you can elevate your DevOps orchestration and ensure that workflows remain scalable, streamlined, and ready for the future. \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:/*#__PURE__*/e(\"strong\",{children:\"Qodex.ai\"})})}),\", an AI-powered QA automation tool for building, using, and testing web apps, mobile apps, and API testing, is at the forefront of this evolution. The platform offers tools that simplify automation and QA processes, helping you stay ahead of the curve.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Ready to optimize your DevOps orchestration? \"}),/*#__PURE__*/e(r,{href:\"https://calendly.com/qodex-ai/product-intro?month=2024-01\",nodeId:\"xUFEuGbVZ\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:/*#__PURE__*/e(\"strong\",{children:\"Talk to our experts\"})})}),/*#__PURE__*/e(\"strong\",{children:\" today and discover how Qodex.ai can transform your approach, driving efficiency and delivering results you can rely on.\"})]})]});export const richText10=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Ever felt like your software testing process could use a turbo boost? Enter test automation frameworks - the unsung heroes of the QA world. These nifty tools are essentially the backbone of any solid automated testing strategy. Think of them as your personal testing assistant, helping you create, manage, and run tests with less hassle and more efficiency.\"}),/*#__PURE__*/t(\"p\",{children:[\"But what exactly are test automation frameworks? In simple terms, they're a set of guidelines, practices, and tools that work together to support \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/automation-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"automated testing\"})}),\" of your software. They're like a well-organized toolbox, giving you everything you need to streamline your testing process, from reusable code to standardized testing approaches.\"]}),/*#__PURE__*/e(\"p\",{children:'Now, you might be wondering, \"Why should I care about these frameworks?\" Well, imagine being able to run complex tests at the click of a button, catch bugs faster, and release your software with more confidence. Sounds pretty good, right? That\\'s exactly what a well-implemented test automation framework can do for you.'}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2.1. Linear Automation Framework\"}),\" Think of this as the \\\"keep it simple\\\" approach. It's like following a recipe step-by-step. You record your actions, play them back, and voila! You've got a test. It's great for beginners or quick tests, but it's not the best for complex scenarios. Imagine trying to bake a wedding cake with just a basic cupcake recipe - it might work, but it's not ideal.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2.2. Modular Based Testing Framework\"}),\" This is like building with Legos. You create small, independent chunks of tests that you can mix and match. Need to test login? Grab that module. Want to check the shopping cart? There's a module for that too. It's flexible and makes maintaining your tests much easier.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2.3. Library Architecture Testing Framework\"}),\" Think of this as your testing Swiss Army knife. You've got a collection of common functions (like login, data entry, etc.) that you can use across different test scripts. It's like having a bunch of pre-made ingredients ready to throw into any recipe. This approach saves time and reduces redundancy.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2.4. Data-Driven Framework \"}),\"This framework is all about separating your test logic from your \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/understanding-data-driven-testing-an-introduction\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"test data.\"})}),\" Imagine you're testing a login page. Instead of hard-coding usernames and passwords, you keep them in a separate file. This way, you can run the same test with different data sets without changing the core test script. It's like having a standard recipe but being able to easily swap ingredients.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2.5. Keyword-Driven Testing Framework\"}),' Here\\'s where we get a bit fancy. This framework uses \"keywords\" to represent different actions in your application. For example, \"login\" might represent a whole series of steps. It\\'s like creating a shorthand language for your tests. This makes tests more readable and maintainable, even for non-technical team members.']}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2.6. Hybrid Test Automation Framework\"}),\" As the name suggests, this is a mix-and-match approach. It's like creating your perfect playlist by picking the best songs from different albums. You take the strengths of various frameworks and combine them to suit your specific needs. It's flexible, powerful, and can be customized to fit almost any testing scenario.\"]}),/*#__PURE__*/e(\"p\",{children:\"Each of these frameworks has its own strengths, and the best choice depends on your project's needs, your team's skills, and your testing goals. It's like choosing the right tool for the job - a hammer is great for nails, but not so much for screws. The key is to understand your needs and pick the framework (or combination of frameworks) that best fits your testing strategy.\"})]});export const richText11=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:'Speed Demon: Fast Execution Imagine having a super-fast robot that can run through your entire test suite in the time it takes you to grab a coffee. That\\'s test automation for you. It can zip through tests at lightning speed, giving you results faster than you can say \"bug free.\"'}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"The Time Machine: Automated Regression Testing\"}),\" Remember that bug you fixed last week? \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/building-an-effective-regression-test-suite\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Automated regression testing\"})}),\" is like having a time machine that constantly checks to make sure old bugs don't creep back in. It tirelessly runs through your entire application, ensuring that new changes haven't broken existing functionality. It's like having a guardian angel for your code.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"The Long Game\"}),\": Cost Savings Sure, setting up automation might make your wallet feel a bit lighter at first. But in the long run, it's like planting a money tree. As your automated tests run again and again, you'll save on the time and resources it would take to do all that testing manually. It's an investment that keeps on giving.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"The Flip Side: Main Disadvantages of Test Automation\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"The Initial Ouch\"}),\": High Upfront Cost Let's not sugarcoat it - \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/test-automation-strategy-basic-steps\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"getting started with test automation\"})}),\" can be pricey. It's like buying a fancy espresso machine. It costs a chunk upfront, but the idea is that it'll pay off over time. You'll need to invest in tools, training, and possibly new team members with automation skills.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"The Never-Ending Story\"}),\": Continuous Maintenance Automated tests aren't a \\\"set it and forget it\\\" deal. As your application evolves, your tests need to keep up. It's like having a high-maintenance pet - it needs regular attention to stay healthy. You'll need to update tests as features change, fix broken tests, and sometimes rewrite tests entirely.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"The Human Touch\"}),\": Limited UX Testing While automation is great for many things, it can't replicate the human experience. It might tell you if a button works, but it can't tell you if that button is intuitive or if your app is enjoyable to use. For that, you still need good old-fashioned human testers.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"The bottom line? Test automation is a powerful ally in your quest for quality software, but it's not a magic wand. It requires careful planning, investment, and ongoing effort. But when done right, it can transform your testing process, speed up your development cycles, and help you deliver better software faster. It's all about finding the right balance for your team and your project.\"}),/*#__PURE__*/e(\"h3\",{children:\"Selenium: The Web Testing Wonder\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Selenium\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,RMDtmbryNlDC7HnJuJ5smlE7VbA.png\",\"data-framer-height\":\"913\",\"data-framer-width\":\"2400\",height:\"456\",src:\"https://framerusercontent.com/images/RMDtmbryNlDC7HnJuJ5smlE7VbA.png\",srcSet:\"https://framerusercontent.com/images/RMDtmbryNlDC7HnJuJ5smlE7VbA.png?scale-down-to=512 512w,https://framerusercontent.com/images/RMDtmbryNlDC7HnJuJ5smlE7VbA.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/RMDtmbryNlDC7HnJuJ5smlE7VbA.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/RMDtmbryNlDC7HnJuJ5smlE7VbA.png 2400w\",style:{aspectRatio:\"2400 / 913\"},width:\"1200\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"Imagine having a Swiss Army knife for web testing - that's \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/step-by-step-guide-on-selenium-automation-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Selenium\"})}),\" for you. It's like the cool kid in school that everyone wants to hang out with. Why? Because it's:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Versatile: Works with almost any web browser you can think of.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Multilingual: Speaks many programming languages, so you can write tests in your favorite tongue.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Free and Open Source: Doesn't cost a dime and has a huge community backing it.\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"Selenium is your go-to if you're diving into \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/what-is-web-application-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"web application testing\"})}),\". It's been around the block and has the street cred to prove it.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Robot Framework: The Keywords Maestro\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Robot Framework\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,lUhL74H4wJjSSbMotO47qeqeSI.png\",\"data-framer-height\":\"342\",\"data-framer-width\":\"774\",height:\"171\",src:\"https://framerusercontent.com/images/lUhL74H4wJjSSbMotO47qeqeSI.png\",srcSet:\"https://framerusercontent.com/images/lUhL74H4wJjSSbMotO47qeqeSI.png?scale-down-to=512 512w,https://framerusercontent.com/images/lUhL74H4wJjSSbMotO47qeqeSI.png 774w\",style:{aspectRatio:\"774 / 342\"},width:\"387\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Think of Robot Framework as the LEGO of test automation. It's all about building tests using keywords, making it super readable and easy to use. Here's why it's gained a fan club:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"User-Friendly: You don't need to be a coding wizard to use it.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Extensible: Can handle web, mobile, and even desktop applications.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Detailed Reporting: Gives you the lowdown on your tests with clear, detailed reports.\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"If you're looking for something that bridges the gap between \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/automation-tester-skills-strategies\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"testers\"})}),\" and developers, Robot Framework might be your new best friend.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Appium: The Mobile Maven\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Appium \",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,tVToXyVIhE2q8ZJkDUREzKmoe4.png\",\"data-framer-height\":\"216\",\"data-framer-width\":\"1006\",height:\"108\",src:\"https://framerusercontent.com/images/tVToXyVIhE2q8ZJkDUREzKmoe4.png\",srcSet:\"https://framerusercontent.com/images/tVToXyVIhE2q8ZJkDUREzKmoe4.png?scale-down-to=512 512w,https://framerusercontent.com/images/tVToXyVIhE2q8ZJkDUREzKmoe4.png 1006w\",style:{aspectRatio:\"1006 / 216\"},width:\"503\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"In a world gone mobile, Appium is like having a backstage pass to mobile app testing. It's the cool cousin of Selenium, focused on mobile apps. Here's why mobile testers love it:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Cross-Platform: Works on both iOS and Android.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Language Agnostic: Use your favorite programming language.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Native, Hybrid, or Web Apps: It's got you covered, whatever your app type.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"If mobile is your game, Appium is a name you'll want to know.\"}),/*#__PURE__*/e(\"p\",{children:\"Each of these tools has its own superpower. Selenium dominates web testing, Robot Framework makes test creation a breeze, and Appium rules the mobile world. The best part? They're all open-source, meaning you can take them for a spin without breaking the bank.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, choosing the right tool is like picking the right instrument for your band. It depends on your project, your team's skills, and what you're trying to achieve. These popular tools are a great place to start your automation journey, but don't be afraid to explore and find the perfect fit for your unique needs.\"})]});export const richText12=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"effective test automation strategy\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,kjmHHWwzvEthR9uonbwvuA3VIQ.png\",\"data-framer-height\":\"1080\",\"data-framer-width\":\"1920\",height:\"540\",src:\"https://framerusercontent.com/images/kjmHHWwzvEthR9uonbwvuA3VIQ.png\",srcSet:\"https://framerusercontent.com/images/kjmHHWwzvEthR9uonbwvuA3VIQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/kjmHHWwzvEthR9uonbwvuA3VIQ.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/kjmHHWwzvEthR9uonbwvuA3VIQ.png 1920w\",style:{aspectRatio:\"1920 / 1080\"},width:\"960\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Know Your Destination: Identifying Goals\"})})})}),/*#__PURE__*/e(\"p\",{children:\"First things first - what are you trying to achieve? Maybe you want to speed up testing, improve accuracy, or free up your team for more creative tasks. Whatever it is, nail down your goals. It's like setting your GPS before you start driving. Clear goals will guide every decision you make down the road.\"}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Assemble Your Dream Team: Choosing the Right Team and Tools\"})})})}),/*#__PURE__*/e(\"p\",{children:\"You wouldn't go on a road trip without the right crew and a reliable car, right? Same goes for test automation. You need:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"A skilled team: Look for folks who understand both testing and coding.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"The right tools: Pick tools that match your project needs and team skills.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Remember, the fanciest tool isn't always the best. Sometimes, a simple, well-understood tool can take you further than a complex one that no one knows how to use.\"}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Prep Your Playground: Setting Up the Test Environment\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Before you start testing, you need a place to do it. Setting up your test environment is like preparing your kitchen before cooking a big meal. Make sure you have:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"The right hardware and software\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Proper test data\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Necessary access and permissions\"})})]}),/*#__PURE__*/e(\"p\",{children:\"A well-set-up environment means fewer headaches down the line.\"}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Chart Your Course: Designing and Executing Test Cases\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Now comes the meaty part - actually creating and running your tests. Think of this as plotting your route and then hitting the road. When designing test cases:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Start small and build up\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Focus on critical paths in your application\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Keep your tests modular and reusable\"})})]}),/*#__PURE__*/e(\"p\",{children:\"When executing, start with a pilot run to iron out any kinks before going full throttle.\"}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Learn and Adapt: Analyzing Results and Maintaining Scripts\"})})})}),/*#__PURE__*/t(\"p\",{children:[\"The journey doesn't end when the tests are run. \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/test-automation-metrics-essential-kpis\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Analyzing results\"})}),\" is like reviewing your travel photos - you learn what worked and what didn't. Use these insights to:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Refine your tests\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Update your strategy\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Fix any issues in your application\"})})]}),/*#__PURE__*/e(\"p\",{children:\"And don't forget maintenance! Test scripts need regular tune-ups, just like a car. Keep them updated as your application evolves.\"}),/*#__PURE__*/t(\"p\",{children:[\"Remember, a \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/test-automation-strategy-basic-steps\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"good test automation strategy\"})}),\" is flexible. It's not about rigidly sticking to a plan, but about having a clear direction and being ready to adjust course when needed. With the right strategy, you'll be cruising towards better quality software in no time!\"]})]});export const richText13=/*#__PURE__*/e(a.Fragment,{children:/*#__PURE__*/e(\"p\",{children:\"Choosing the right test automation framework isn't a one-size-fits-all situation. It's about finding the perfect fit for your organization's unique needs and goals. Whether you opt for the simplicity of a linear framework or the flexibility of a hybrid approach, the key is to align your choice with your team's skills, project requirements, and long-term objectives. Remember, the best framework is one that enhances your testing efficiency, improves software quality, and ultimately delivers value to your end-users. As you embark on your automation journey, keep an open mind, be ready to adapt, and don't be afraid to mix and match approaches to create your ideal testing solution.\"})});export const richText14=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Ever wondered why some apps feel like a breeze to use, while others make you want to throw your device out the window? The secret sauce is often in the GUI testing. Yep, that's right - those smooth buttons, perfectly aligned text, and intuitive layouts don't just happen by magic.\"}),/*#__PURE__*/e(\"p\",{children:\"In today's digital world, where users judge an app in seconds, nailing your Graphical User Interface (GUI) is crucial. It's not just about making things pretty - it's about creating an experience that keeps users coming back for more.\"}),/*#__PURE__*/e(\"p\",{children:\"That's why we're diving into the world of GUI testing today. Whether you're a seasoned developer or just dipping your toes into the software pool, this guide is for you. We'll break down what GUI testing is all about, why it matters, and give you a handy checklist to ensure your app's interface is top-notch.\"})]});export const richText15=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:'\"GUI vs CLI: The Interface Showdown',className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,Ov6treYKlTjJ40yusTYEKHWPec.png\",\"data-framer-height\":\"768\",\"data-framer-width\":\"1344\",height:\"384\",src:\"https://framerusercontent.com/images/Ov6treYKlTjJ40yusTYEKHWPec.png\",srcSet:\"https://framerusercontent.com/images/Ov6treYKlTjJ40yusTYEKHWPec.png?scale-down-to=512 512w,https://framerusercontent.com/images/Ov6treYKlTjJ40yusTYEKHWPec.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/Ov6treYKlTjJ40yusTYEKHWPec.png 1344w\",style:{aspectRatio:\"1344 / 768\"},width:\"672\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're using your favorite app or browsing a website. All those colorful buttons, images, and menus you're clicking on? That's the GUI or Graphical User Interface. It's the visual way we interact with our tech gadgets, making our digital lives a whole lot easier and more intuitive.\"}),/*#__PURE__*/e(\"h3\",{children:\"GUI vs. CLI: The Showdown\"}),/*#__PURE__*/e(\"p\",{children:\"Now, let's compare GUI with its text-based cousin, the Command Line Interface (CLI):\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"GUI\"}),\": Think of it as the friendly face of your computer or app. It's all about visuals - icons, buttons, and windows. You can point, click, and drag things around. It's like the difference between using emojis and typing out \\\"smiley face\\\" in a text.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"CLI\"}),\": This is the behind-the-scenes hero. It's text-based, where you type commands to make things happen. While it might seem old school, it's super powerful for certain tasks. Think of it as speaking your computer's native language.\"]}),/*#__PURE__*/e(\"p\",{children:\"In a nutshell, GUI is what most of us use daily - it's user-friendly and visually appealing. CLI, on the other hand, is often the go-to for developers and tech pros who need precise control.\"})]});export const richText16=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"GUI testing is like giving your app's interface a thorough health check-up. It's all about making sure every visual element - from buttons to menus - not only looks good but works perfectly too. Think of it as quality control for everything your users see and interact with.\"}),/*#__PURE__*/e(\"h3\",{children:\"Why Should You Care About GUI Testing?\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"I\",/*#__PURE__*/e(\"strong\",{children:\"t's All About the User Experience, Baby!\"}),\" Imagine trying to use an app where buttons don't work, or text is unreadable. Frustrating, right? Good GUI testing prevents these headaches. It's about creating an experience so smooth, users don't even think about the interface - they just enjoy using your app.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Numbers Don't Lie\"}),\": It Affects Your Bottom Line Here's a mind-blowing stat for you: a well-designed user interface can boost your website's conversion rate by up to 200%! But wait, there's more. If you nail the overall user experience, you're looking at potential conversion increases of up to 400%. That's not just impressive - it's game-changing. On the flip side, a clunky interface can cost you big time. Did you know that 88% of online shoppers say they wouldn't return to a website after a bad user experience? Yikes!\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"The takeaway? GUI testing isn't just about making things look pretty. It's a crucial step in creating an app or website that people love to use - and that love translates directly into better business results.\"}),/*#__PURE__*/e(\"p\",{children:\"So, next time someone asks why you're spending so much time on GUI testing, you can tell them it's not just good practice - it's good business!\"})]});export const richText17=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Ready to level up your GUI testing game? Here's your ultimate checklist to ensure your app's interface is top-notch:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Consistency is Key Make sure your app looks and feels the same throughout. Consistent colors, fonts, and styles create a polished, professional look.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Does It Actually Work? Test all the basic functions. Can users do what they need to do without hiccups? A beautiful app that doesn't work is like a sports car with no engine!\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Spell Check, Please! Nothing screams \"amateur hour\" like typos. Double-check all text, including error messages and tiny labels.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Play Nice with All Devices Your app should look great on everything from a smartphone to a desktop. Test on different devices and browsers to ensure a smooth experience for all users.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Typography Matters Is your text easy to read? Are headers distinguishable from body text? Good typography guides users through your app effortlessly.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Forms, Fields, and Dropdowns, Oh My! Ensure all input elements work correctly. Can users easily enter info and submit forms? Are dropdowns behaving as expected?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Validate Like a Pro When users enter incorrect data, does your app politely let them know? Clear, helpful error messages can make or break the user experience.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Button Behavior and Link Logic Check that all clickable elements do what they're supposed to. Buttons should look clickable, and links should take users where they expect to go.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Space It Out Good spacing can make your app feel clean and organized. Make sure elements aren't crowded or floating in too much white space.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Picture Perfect Are your images crisp and clear on all devices? Do they load quickly? Visual elements can make or break your app's appeal.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Remember, this checklist is your secret weapon for creating an app that not only looks great but works like a charm.\"})]});export const richText18=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Login Page Test Cases: A Mini-Adventure\"})}),/*#__PURE__*/t(\"p\",{children:[\"Imagine you're \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/writing-test-cases-for-login-page\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"testing a login page\"})}),\". Here's a quick hit list of what you'd check:\"]}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Does the logo look sharp and sit pretty where it should?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Is the \"Login\" header text clear and welcoming?'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Can you type into the email field, and does it catch obvious mistakes?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Does the password field hide your secret code and warn you if it's too weak?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Is the \"Sign In\" button easy to spot and click?'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Do those \"Forgot Password\" and \"Sign up\" links actually work?'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Can you log in with your social media accounts if that's an option?\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Each of these is a test case. Run through them, and you'll catch most common login page issues!\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"When to Call in the Automation Cavalry\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/beginner-s-guide-to-manual-testing-tutorial\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Manual testing\"})}),\" is great, but sometimes you need to bring in the big guns. Consider automation when:\"]}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You're running the same tests over and over (and over)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Your app updates frequently, and you need quick feedback\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You're testing across multiple devices or browsers\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"You've got a stable app, and you're focusing on regression testing\"})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/top-automation-testing-tools\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Automation tools\"})}),\" like \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Qodex\"})}),\" can be a real game-changer. They let you write tests in plain English (no coding required!) and run them across tons of devices and browsers. It's like having a super-efficient testing army at your fingertips.\"]}),/*#__PURE__*/e(\"p\",{children:\"Remember, automation isn't about replacing human testers \u2013 it's about freeing them up to focus on more complex, creative testing scenarios.\"})]});export const richText19=/*#__PURE__*/e(a.Fragment,{children:/*#__PURE__*/e(\"p\",{children:\"And there you have it, folks! GUI testing might seem like a small detail, but it's the secret sauce that turns good apps into great ones. From boosting user satisfaction to pumping up those conversion rates, a well-tested GUI is your ticket to digital success. Remember, whether you're manually checking each element or unleashing automation tools, the goal is the same: creating an app that users love to use. So, grab that checklist, fire up your testing tools, and start crafting interfaces that not only look good but work flawlessly too. Your users (and your bottom line) will thank you!\"})});export const richText20=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Ever wondered what keeps your favorite apps running smoothly? It's not magic \u2013 it's testing! In the world of software development, testing is like a superhero working behind the scenes to ensure everything functions perfectly before it reaches your device.\"}),/*#__PURE__*/t(\"p\",{children:[\"Think of \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/qa-vs-qc-battle-for-software-excellence\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"testing as a quality check\"})}),\" for your digital experiences. It's the process that catches bugs, glitches, and hiccups before they have a chance to ruin your day. Without it, we'd be stuck with apps that crash, websites that freeze, and software that just doesn't work the way it should.\"]}),/*#__PURE__*/t(\"p\",{children:[\"But not all testing is created equal. Today, we're zooming in on two essential players in the testing game: \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/understanding-smoke-testing-in-software-development\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"smoke testing\"})}),\" and \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/differences-and-relation-between-sanity-testing-and-regression-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"sanity testing\"})}),\". These might sound like terms from a science lab, but they're actually crucial steps in making sure software is ready for prime time.\"]}),/*#__PURE__*/e(\"p\",{children:\"Smoke testing is like a quick health check-up for your software. It's the first line of defense, making sure the basics are working before diving deeper. Sanity testing, on the other hand, is more like a focused exam, checking if specific changes or new features are playing nice with the rest of the system.\"}),/*#__PURE__*/e(\"p\",{children:\"Curious about how these tests keep your digital world running smoothly? Stick around as we break down the ins and outs of smoke and sanity testing \u2013 without the tech jargon overload. Let's dive in and discover why these tests are the unsung heroes of the software world!\"})]});export const richText21=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Picture this: You've just whipped up a new batch of code, and you're eager to see if it works. Enter smoke testing \u2013 the digital equivalent of kicking the tires on a new car.\"}),/*#__PURE__*/e(\"h3\",{children:\"What's Smoke Testing All About?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/understanding-smoke-testing-in-software-development\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Smoke testing\"})}),' is like a quick health check for your software. It\\'s a rapid-fire series of tests that make sure the most crucial parts of your program are up and running. Think of it as asking, \"Hey, does this thing actually turn on and do the basics?\"']}),/*#__PURE__*/e(\"h3\",{children:\"Why Bother with Smoke Tests?\"}),/*#__PURE__*/e(\"p\",{children:\"The goal here is simple: catch any major issues early on. It's all about saving time and headaches down the road. Smoke tests aim to:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Verify that the core functions work\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Spot any showstopper bugs\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Give a quick thumbs up (or down) on whether the software is stable enough for more detailed testing\"})})]}),/*#__PURE__*/e(\"p\",{children:\"When Do We Light It Up?\"}),/*#__PURE__*/e(\"h3\",{children:\"Smoke tests jump into action:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Right after a new build is created\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Before diving into more in-depth testing\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"When time is tight, and you need to know ASAP if something's seriously wrong\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"The Smoke Test Playbook\"}),/*#__PURE__*/e(\"p\",{children:\"Here's what makes smoke testing stand out:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Speed: These tests are fast, often automated, and give quick feedback\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Broad strokes: They cover the main functions but don't dive deep into details\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Pass/Fail mentality: It's binary \u2013 either the core features work, or they don't\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Early warning system: Catches big problems before they snowball\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Smoke testing is like a gatekeeper, deciding whether your software is ready for the next round of testing or if it needs to go back to the drawing board. It's not about perfection at this stage \u2013 it's about making sure the foundation is solid before building on it.\"}),/*#__PURE__*/e(\"p\",{children:\"By catching major issues early, smoke testing saves developers from wasting time on detailed tests when the basics aren't even working. It's a smart, efficient way to kick off the testing process and keep the development train chugging along smoothly.\"})]});export const richText22=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"After smoke testing gives us the green light, it's time for sanity testing to step in. Think of it as the software world's version of a reality check \u2013 making sure everything still makes sense after changes have been made.\"}),/*#__PURE__*/e(\"h3\",{children:\"What's Sanity Testing All About?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/differences-and-relation-between-sanity-testing-and-regression-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Sanity testing\"})}),\" is like a focused pit stop in the testing race. It's a targeted check to ensure that specific functionalities are working as expected, especially after updates or fixes. It's not about testing everything \u2013 just the areas that have been tweaked or added.\"]}),/*#__PURE__*/e(\"p\",{children:\"The Method to the Madness\"}),/*#__PURE__*/e(\"h3\",{children:\"The main goals of sanity testing are:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Verifying that recent changes or new features work correctly\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Ensuring that these changes haven't broken other parts of the software\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Quickly determining if a build is stable enough for more rigorous testing\"})})]}),/*#__PURE__*/e(\"p\",{children:\"When Does Sanity Prevail?\"}),/*#__PURE__*/e(\"h3\",{children:\"Sanity tests come into play:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"After smoke tests pass with flying colors\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"When there's been a minor change or bug fix in the software\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Before diving into full-blown \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/building-an-effective-regression-test-suite\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"regression testing\"})})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"In time-crunch situations when a quick assessment is needed\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"The Sanity Testing Toolkit\"}),/*#__PURE__*/e(\"p\",{children:\"Here's what sets sanity testing apart:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Narrow focus: It zeroes in on specific areas rather than the entire system\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Flexibility: Tests are often unscripted, allowing testers to explore potential issues\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Speed: It's designed to be a rapid check, not a deep dive\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Rational approach: It's all about making sure the software behaves logically\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Sanity testing is like a smart detective \u2013 it doesn't waste time checking every nook and cranny. Instead, it looks at the most likely places for issues to pop up based on recent changes. This targeted approach helps catch problems quickly without getting bogged down in unnecessary details.\"}),/*#__PURE__*/e(\"p\",{children:\"By focusing on sanity, developers and testers can quickly gauge whether their recent work has paid off or if they need to go back to the drawing board. It's a practical, no-nonsense way to keep the development process moving forward efficiently.\"})]});export const richText23=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Smoke vs Sanity: The Testing Showdown\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,DEZO2JbyLBwz4GE4cmFkdGgD0U.png\",\"data-framer-height\":\"1080\",\"data-framer-width\":\"1920\",height:\"540\",src:\"https://framerusercontent.com/images/DEZO2JbyLBwz4GE4cmFkdGgD0U.png\",srcSet:\"https://framerusercontent.com/images/DEZO2JbyLBwz4GE4cmFkdGgD0U.png?scale-down-to=512 512w,https://framerusercontent.com/images/DEZO2JbyLBwz4GE4cmFkdGgD0U.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/DEZO2JbyLBwz4GE4cmFkdGgD0U.png 1920w\",style:{aspectRatio:\"1920 / 1080\"},width:\"960\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Now that we've got the lowdown on both smoke and sanity testing, let's put them head-to-head. While they might seem similar at first glance, these two testing types have some key differences that set them apart.\"}),/*#__PURE__*/e(\"h4\",{children:\"Goals: Stability vs. Rationality\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Smoke Testing: Aims for stability. It's all about making sure the software doesn't fall apart when you turn it on.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Sanity Testing: Focuses on rationality. It checks if recent changes make sense and work as expected.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"The Testing Squad\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Smoke Testing: Often a team effort. Both developers and testers might jump in to run these tests.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Sanity Testing: Usually the testers' domain. They're the ones who give new features or fixes the once-over.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"How Deep Do They Go?\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Smoke Testing: Broad but shallow. It touches on all major functions but doesn't dive too deep.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Sanity Testing: Narrow but focused. It zeroes in on specific areas affected by recent changes.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Testing Family Tree\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[\"Smoke Testing: It's like the first chapter in the \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/types-of-software-testing-engineering\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"acceptance testing\"})}),\" story.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Sanity Testing: More of a quick check within the larger regression testing saga.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Paperwork, Anyone?\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Smoke Testing: Often comes with a script or checklist. It's usually well-documented.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Sanity Testing: More freestyle. Testers might wing it based on what's changed, with less formal documentation.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Timing is Everything\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Smoke Testing: Jumps in early, right after a new build is ready.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Sanity Testing: Shows up later, after smoke tests pass and when specific changes need a quick check.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Think of smoke testing as the bouncer at a club, checking if everyone's dressed right and behaving before letting them in. Sanity testing is more like the host inside, making sure the VIPs (new features) are in the right place and playing nice with others.\"}),/*#__PURE__*/e(\"p\",{children:\"Both tests play crucial roles in keeping software development on track. Smoke testing prevents major disasters, while sanity testing ensures that progress is actually, well, sane. Together, they help create a smoother, more efficient path from code to completed product.\"})]});export const richText24=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Knowing when to deploy smoke testing versus sanity testing can make all the difference in your software development journey. Let's break down some typical scenarios for each to help you choose the right tool for the job.\"}),/*#__PURE__*/e(\"h3\",{children:\"When to Call in the Smoke Squad\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Fresh Off the Press: Just compiled a brand new build? Smoke testing is your go-to first step. It's like taking your new car for a quick spin around the block before hitting the highway.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Major Overhauls: After significant changes or updates to your software, smoke testing helps ensure you haven't accidentally broken anything critical.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Time Crunch Situations: When deadlines are looming and you need a quick yes/no on whether to proceed, smoke testing gives you that rapid feedback.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Daily Check-ups: Many teams run smoke tests daily on their main development branch. It's like a daily health check for your project.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Pre-Release Jitters: Before handing off the software for more intensive testing, smoke tests can save time by catching any glaring issues early.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Sanity Testing Scenarios\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"The Bug Fix Follow-up: Just squashed a pesky bug? Sanity testing helps verify the fix worked without creating new problems.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Feature Frenzy: After adding a new feature, sanity tests focus on making sure it plays nice with existing functionalities.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Configuration Changes: Made some tweaks to your software's configuration? Sanity testing ensures these changes didn't throw anything out of whack.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Quick Releases: In fast-paced environments where full regression testing isn't feasible, sanity testing offers a compromise between speed and thoroughness.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Regression Test Prep: Before diving into comprehensive regression testing, sanity tests can give you a quick green light to proceed.\"})})]})]});export const richText25=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:'Think of smoke testing as your first line of defense, best used when you need a broad, quick check of the entire system. It\\'s your \"Is this thing on?\" test.'}),/*#__PURE__*/e(\"p\",{children:\"Sanity testing, on the other hand, is your focused checkup. Use it when you've made specific changes and need to ensure those changes (and only those changes) are working as expected.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, the goal is efficiency. Smoke testing prevents you from wasting time on detailed tests when the basics aren't working, while sanity testing helps you zoom in on recent changes without getting bogged down in full-scale testing.\"}),/*#__PURE__*/e(\"p\",{children:\"By choosing the right test for the right moment, you'll keep your development process smooth, efficient, and (mostly) headache-free. After all, in the world of software testing, staying sane and smoke-free is the name of the game!\"})]});export const richText26=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Ever wondered how software companies ensure their products work flawlessly? Enter the world of Verification and Validation (V&V) - the dynamic duo of software quality assurance.\"}),/*#__PURE__*/e(\"p\",{children:\"In today's fast-paced tech landscape, where a single bug can cost millions, V&V acts as the backbone of the Software Development Life Cycle (SDLC). These processes are like your smartphone's spell-check and grammar-check rolled into one, but for complex software systems.\"}),/*#__PURE__*/e(\"p\",{children:\"Verification is all about building the software right. It's like double-checking your grocery list while you're still at home. Did we include everything we planned to? Are we following the recipe correctly?\"}),/*#__PURE__*/e(\"p\",{children:\"Validation, on the other hand, ensures we're building the right software. It's like tasting the dish you've cooked to make sure it's delicious and exactly what you wanted.\"}),/*#__PURE__*/e(\"p\",{children:\"Together, V&V form a powerful team that catches potential issues early, saves time and resources, and ultimately delivers software that not only works but delights users. They're the unsung heroes that transform good software into great products.\"}),/*#__PURE__*/e(\"p\",{children:\"In this blog, we'll dive into the world of V&V, exploring how these processes work their magic throughout the software development journey. Whether you're a tech enthusiast, a budding developer, or just curious about what goes on behind the scenes of your favorite apps, stick around. You're about to discover the secret sauce that makes modern software reliable, efficient, and user-friendly.\"})]});export const richText27=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Imagine you're building a house. You wouldn't wait until it's finished to check if the walls are straight or the plumbing works, right? That's exactly what verification does in software development.\"}),/*#__PURE__*/e(\"h3\",{children:\"What's Verification All About?\"}),/*#__PURE__*/e(\"p\",{children:\"Verification is like your quality control inspector on the software assembly line. It's all about making sure we're building the product correctly at every step. Think of it as a constant checkpoint system throughout the development process.\"}),/*#__PURE__*/e(\"p\",{children:\"The main goal? To catch any hiccups early on, before they snowball into bigger problems. It's much easier (and cheaper!) to fix a small coding error now than to overhaul an entire system later.\"}),/*#__PURE__*/e(\"h3\",{children:\"The Static Testing Process\"}),/*#__PURE__*/e(\"p\",{children:\"Now, you might be wondering, \\\"How does verification actually work?\\\" Well, it's called static testing because we're examining the software without actually running it. It's like proofreading a book before it goes to print.\"}),/*#__PURE__*/e(\"p\",{children:\"Here's what it looks like in action:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Code Reviews: Developers team up to check each other's work, looking for any potential issues or areas for improvement.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:'Walkthrough: The team \"walks through\" the code or design, explaining each part to catch any logical errors.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Inspection: A more formal review where team members meticulously examine the software artifacts (like requirements documents or design specifications) against a predefined checklist.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Keeping the Product on Track\"}),/*#__PURE__*/e(\"p\",{children:\"The beauty of verification is that it ensures every piece of the software puzzle fits perfectly with the original plan. It's like having a GPS for your development journey, constantly making sure you're on the right path.\"}),/*#__PURE__*/e(\"p\",{children:\"By comparing the software at each stage against its specifications, verification helps to:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Eliminate inconsistencies\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Identify missing features\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Ensure the code meets industry standards\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Keep the project aligned with its initial goals\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Remember, in the world of software development, prevention is always better than cure. Verification is your first line of defense against bugs and errors, helping to create a smoother, more efficient development process.\"})]});export const richText28=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"You've baked a cake following the recipe to a T. But the real test? That first bite. Validation in software development is a lot like that taste test.\"}),/*#__PURE__*/e(\"h2\",{children:\"What's Validation All About?\"}),/*#__PURE__*/e(\"p\",{children:\"Validation is the process of making sure the software we've built actually does what it's supposed to do in the real world. It's about answering the question: \\\"Did we build the right product?\\\"\"}),/*#__PURE__*/e(\"p\",{children:\"While verification focuses on building the product right, validation ensures we've built the right product. It's our reality check, making sure the software meets the actual needs and expectations of its users.\"}),/*#__PURE__*/e(\"h2\",{children:\"The Dynamic Testing Process\"}),/*#__PURE__*/e(\"p\",{children:\"Unlike verification, validation is all about action. We call it dynamic testing because we're putting the software through its paces in conditions that mimic real-world use. Here's how it typically unfolds:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/how-to-do-functional-testing-process-and-examples\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Functional Testing\"})}),\": We check if each feature works as intended. It's like making sure every button on your TV remote does what it's supposed to do.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/performance-testing-tools\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Performance Testing\"})}),\": This tests how the software performs under different conditions. Can it handle a sudden influx of users? Does it work well on different devices?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"User Acceptance Testing (UAT): This is the ultimate test. Real users try out the software and provide feedback. It's like a dress rehearsal before the big show.\"})})]}),/*#__PURE__*/e(\"h2\",{children:\"Meeting User Needs: The Heart of Validation\"}),/*#__PURE__*/e(\"p\",{children:\"At its core, validation is about the end-user. It asks crucial questions like:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Does the software solve the problem it was designed to address?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Is it user-friendly and intuitive?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Does it perform well in real-world scenarios?\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Validation helps bridge the gap between technical specifications and actual user satisfaction. It's not just about ticking boxes on a checklist; it's about creating software that truly resonates with its users.\"}),/*#__PURE__*/e(\"p\",{children:\"By focusing on user needs, validation helps:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Improve user satisfaction\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Reduce the need for post-release patches and updates\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Ensure the software provides real value to its users\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Remember, in today's competitive software market, it's not enough for a product to just work \u2013 it needs to work well and meet user expectations. That's where validation shines, turning a functional piece of software into a user-approved success.\"})]});export const richText29=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Verification and Validation aren't just fancy terms - they're the backbone of quality software development. Let's dive into four crucial ways V&V keeps your software project on track and top-notch.\"}),/*#__PURE__*/e(\"h3\",{children:\"A. Traceability Analysis: Following the Breadcrumbs\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine you're a detective, tracing the history of each feature in your software. That's traceability analysis in a nutshell.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It's all about linking each piece of your software back to its original requirement.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"This helps ensure nothing gets lost in translation from concept to code.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It's like having a family tree for your software, showing where each feature came from and why it's there.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Why it matters: Traceability keeps your project focused and helps prevent feature creep. It ensures every part of your software has a purpose and aligns with the original goals.\"}),/*#__PURE__*/e(\"h3\",{children:\"B. Interface Analysis: Making Sure Everyone Plays Nice\"}),/*#__PURE__*/e(\"p\",{children:\"In the software world, no component is an island. Interface analysis is about making sure all parts of your software communicate effectively.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It examines how different components of your software interact.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"This includes interfaces between software and hardware, and between the software and its users.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Think of it as making sure all the instruments in an orchestra are in tune and playing the same song.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Why it matters: Good interfaces mean smooth operation. It prevents issues like data mismatches or confusing user experiences, ensuring your software runs like a well-oiled machine.\"}),/*#__PURE__*/e(\"h3\",{children:\"C. Criticality Analysis: Knowing What Really Matters\"}),/*#__PURE__*/e(\"p\",{children:\"Not all parts of your software are created equal. Criticality analysis helps you focus on what's truly important.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It assesses the importance of each software function.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"This helps prioritize testing and development efforts.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It's like knowing which parts of your car need the most attention during a tune-up.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Why it matters: By focusing resources on the most critical functions, you ensure the core of your software is rock-solid. It helps manage risks and allocate resources effectively.\"}),/*#__PURE__*/e(\"h3\",{children:\"D. Hazard and Risk Analysis: Staying One Step Ahead\"}),/*#__PURE__*/e(\"p\",{children:\"In software, as in life, it's better to be safe than sorry. Hazard and risk analysis is all about anticipating and preventing problems.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It identifies potential dangers or risks in your software.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"This includes security vulnerabilities, performance issues, or potential user errors.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Think of it as a weather forecast for your software project, helping you prepare for any storms.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Why it matters: By identifying risks early, you can develop strategies to mitigate them. This proactive approach saves time, money, and headaches down the line.\"}),/*#__PURE__*/e(\"p\",{children:\"These four analyses work together throughout the SDLC to ensure your software is not just functional, but reliable, efficient, and user-friendly. They're the secret ingredients that turn good software into great products.\"}),/*#__PURE__*/e(\"p\",{children:\"Remember, in the world of software development, knowledge is power. These analyses arm you with the insights you need to make informed decisions and create software that truly shines.\"})]});export const richText30=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"You've seen how Verification and Validation work their magic throughout the software development process. But what's the real payoff? Let's break down the top benefits that make V&V a must-have in any software project.\"}),/*#__PURE__*/e(\"h3\",{children:\"Catching Bugs Early: The Early Bird Gets the Worm\"}),/*#__PURE__*/e(\"p\",{children:\"Imagine finding a small leak in your boat while you're still at the dock, instead of when you're out at sea. That's what early defect detection does for your software.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"V&V processes help spot issues right from the get-go.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"This means fewer nasty surprises later in development or after release.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It's like having a time machine that lets you fix problems before they even happen!\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Why it rocks: Early detection saves time, money, and a whole lot of headaches. It's much easier (and cheaper) to fix a small bug early than to overhaul an entire system later.\"}),/*#__PURE__*/e(\"h3\",{children:\"Quality You Can Count On: Building Trust in Every Line of Code\"}),/*#__PURE__*/e(\"p\",{children:\"In the software world, quality isn't just nice to have \u2013 it's essential. V&V is your ticket to software that doesn't just work, but works well.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Rigorous testing at every stage leads to more robust, reliable software.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It helps create systems that can handle real-world scenarios and user behaviors.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"Think of it as putting your software through boot camp, making it stronger and more resilient.\"})})]}),/*#__PURE__*/e(\"p\",{children:'Why it matters: High-quality, reliable software means fewer crashes, smoother performance, and a product that users can depend on. It\\'s the difference between \"it works\" and \"wow, it works great!\"'}),/*#__PURE__*/e(\"h3\",{children:\"Happy Users, Happy Life: Boosting Satisfaction Scores\"}),/*#__PURE__*/e(\"p\",{children:\"At the end of the day, software exists to serve its users. V&V ensures your product hits the mark.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"By thoroughly testing and validating the software, you ensure it meets real user needs.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"This leads to more intuitive, user-friendly products.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:\"It's like having a focus group guiding your development every step of the way.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Why it's a win: Satisfied users mean positive reviews, loyal customers, and great word-of-mouth marketing. In today's competitive market, user satisfaction can make or break a product.\"}),/*#__PURE__*/e(\"h3\",{children:\"The Big Picture: V&V as Your Software's Best Friend\"}),/*#__PURE__*/e(\"p\",{children:\"When you put it all together, V&V is like having a super-powered quality assurance team working 24/7 on your software. It catches problems early, ensures top-notch quality, and keeps users smiling.\"}),/*#__PURE__*/e(\"p\",{children:\"But here's the real kicker: these benefits don't just apply to the current project. The insights and improvements you gain through V&V can inform future projects, leading to better processes and even higher quality software down the line.\"}),/*#__PURE__*/e(\"p\",{children:\"In essence, V&V isn't just about making good software \u2013 it's about continually raising the bar for what \\\"good software\\\" means. It's an investment in your product, your users, and your entire development process.\"})]});export const richText31=/*#__PURE__*/e(a.Fragment,{children:/*#__PURE__*/e(\"p\",{children:\"Verification and Validation are more than just steps in the SDLC - they're the guardians of quality software. By catching issues early, ensuring top-notch reliability, and focusing on user needs, V&V transforms good ideas into great products. These processes may work behind the scenes, but their impact is front and center in every successful software launch. As technology continues to evolve, the role of V&V becomes even more crucial. Remember, in the world of software development, it's not just about building it - it's about building it right and building the right thing.\"})});export const richText32=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In today's fast-paced digital world, your app's performance can make or break your business. Imagine launching a new e-commerce platform during a major sale, only to have it crash under the weight of excited shoppers. Ouch! That's where stress testing comes in - it's like a fire drill for your software, making sure it can handle the heat when things get intense.\"}),/*#__PURE__*/e(\"p\",{children:\"Stress testing is all about pushing your application to its limits and beyond. It's like training for a marathon - you want to know how far you can run before you hit the wall. By simulating extreme conditions, such as huge spikes in user traffic or heavy data processing loads, stress testing helps developers spot potential weak points before they become real-world nightmares.\"}),/*#__PURE__*/e(\"p\",{children:'Why is this so crucial in software development? Well, in our always-on, instant-gratification digital culture, users expect apps to work flawlessly, all the time. A single outage or slowdown can send customers running to your competitors faster than you can say \"server error.\" By identifying and fixing performance bottlenecks early, stress testing helps ensure your app stays responsive and reliable, even during peak times.'}),/*#__PURE__*/e(\"p\",{children:\"But it's not just about avoiding disasters. Stress testing can also help you optimize your resources, plan for growth, and make smart decisions about scaling your infrastructure. It's like having a crystal ball that shows you how your app will perform as your user base grows.\"}),/*#__PURE__*/e(\"p\",{children:\"So, whether you're launching a new app, updating an existing one, or just want to sleep better at night knowing your software can handle whatever users throw at it, stress testing is your secret weapon. In this blog, we'll dive into the top stress testing tools that can help you bulletproof your applications for 2024 and beyond. Get ready to put your software through its paces and come out stronger on the other side!\"})]});export const richText33=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Think of stress testing as the ultimate workout for your software. It's like pushing an athlete to their limits to see how they perform under pressure. In the tech world, stress testing involves deliberately overwhelming your system with an extreme load to see how it handles the heat.\"}),/*#__PURE__*/e(\"p\",{children:\"The purpose? Simple - to make sure your app doesn't crumble when the going gets tough. It's all about uncovering hidden weaknesses, assessing real-world performance, and ensuring your system can bounce back from a heavy hit.\"}),/*#__PURE__*/e(\"h3\",{children:\"Key functions of stress testing include:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Spotting the weak links\"}),\": By pushing your system to the brink, you can identify potential breaking points before they cause real problems.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Performance check-up\"}),\": It's like a health check for your app, showing you how it performs when the pressure's on.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Building digital resilience:\"}),\" Stress testing helps ensure your system can take a punch and keep on ticking, even in worst-case scenarios.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Common Scenarios for Stress Testing\"}),/*#__PURE__*/e(\"p\",{children:\"Stress testing isn't just for tech giants - it's crucial across various industries. Let's look at some common scenarios:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Software Development\"}),\": Imagine you're launching a hot new mobile game. You'll want to make sure it can handle millions of players without breaking a sweat. Stress testing helps developers ensure their apps can manage high user loads, especially crucial for e-commerce platforms, online games, and financial apps.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Financial Institutions\"}),\": Banks and investment firms use stress testing to prepare for economic storms. It's like a financial fire drill, helping them gauge how well they'd weather market crashes or economic downturns.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Healthcare Systems\"}),\": In healthcare, system failures can literally be a matter of life and death. Stress testing critical healthcare applications ensures they can handle sudden spikes in demand, like during a public health crisis or natural disaster.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11.5px\",\"--framer-text-color\":\"rgb(29, 28, 29)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Telecommunications\"}),\": When disaster strikes, communication is key. Telecom \",/*#__PURE__*/e(r,{href:\"https://qodex.ai/blog/load-testing-stress-testing-and-performance-testing\",nodeId:\"xUFEuGbVZ\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"companies use stress testing\"})}),\" to make sure their networks can handle massive traffic surges during major events or emergencies. It's about keeping people connected when it matters most.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"By simulating these high-pressure scenarios, organizations can identify potential issues and shore up their defenses before real crises hit. It's all about being prepared for the unexpected and ensuring systems can perform when they're needed most.\"})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText13\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText20\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText28\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText17\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText27\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText12\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText25\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText18\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText33\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText29\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText31\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText15\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText24\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText22\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText19\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText16\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText21\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText23\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText26\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText30\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText14\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText32\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "Link", "richText1", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "richText11", "richText12", "richText13", "richText14", "richText15", "richText16", "richText17", "richText18", "richText19", "richText20", "richText21", "richText22", "richText23", "richText24", "richText25", "richText26", "richText27", "richText28", "richText29", "richText30", "richText31", "richText32", "richText33", "__FramerMetadata__"]
}
