<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mohammad Faisal Khatri</title>
    <description>The latest articles on Forem by Mohammad Faisal Khatri (@mfaisalkhatri).</description>
    <link>https://forem.com/mfaisalkhatri</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F206582%2F52c6ea53-6b1b-408e-8f82-f19e1d6f4a6c.jpg</url>
      <title>Forem: Mohammad Faisal Khatri</title>
      <link>https://forem.com/mfaisalkhatri</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mfaisalkhatri"/>
    <language>en</language>
    <item>
      <title>Free AI/ML Resources Everyone Should Learn From in 2025</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Fri, 28 Nov 2025 12:16:14 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/free-aiml-resources-everyone-should-learn-from-in-2025-3k24</link>
      <guid>https://forem.com/mfaisalkhatri/free-aiml-resources-everyone-should-learn-from-in-2025-3k24</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjb5f6wnbnqp9l3c41pp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjb5f6wnbnqp9l3c41pp.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI and ML have gained a lot of popularity in 2025. Every company wants to stay ahead of the curve and introduce AI in its daily operations. Although we have multiple models from ChatGPT, Claude, Cursor, DeepSeek, and other models available in the market today, which amaze the world with their knowledge and data that they share.&lt;/p&gt;

&lt;p&gt;However, to learn and grow, we need resources that can help us understand the basics, the technicalities, and most importantly, how to apply these concepts in real-world scenarios.&lt;/p&gt;

&lt;p&gt;Below are multiple free resources I’ve gathered to help you master AI/ML concepts effortlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Engineer Roadmap
&lt;/h2&gt;

&lt;p&gt;An &lt;a href="https://roadmap.sh/ai-engineer" rel="noopener noreferrer"&gt;AI Engineer roadmap&lt;/a&gt; is a step-by-step guide to becoming an AI Engineer in 2025. It provides a curated list of learning paths starting from Introducing AI concepts, to LLMs, OpenAI, AI safety and ethics, MCP servers, and AI development tools. It guides the learner to choose the correct path for easy learning of the concepts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Elements of AI
&lt;/h2&gt;

&lt;p&gt;Created by MinnaLearn in partnership with the University of Helsinki, The &lt;a href="https://www.elementsofai.com/" rel="noopener noreferrer"&gt;Elements of AI&lt;/a&gt; is a free online course series designed with accessibility in mind. It offers learners practical insight into what’s possible with AI, what isn’t, and how to begin developing AI applications. The curriculum blends theoretical foundations with real-world exercises, designed to fit the schedule rather than dictate it.&lt;/p&gt;

&lt;h2&gt;
  
  
  MIT 6.034 Artificial Intelligence
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/playlist?list=PLUl4u3cNGP63gFHB6xb-kVBiQHYe_4hSi" rel="noopener noreferrer"&gt;This course&lt;/a&gt;, offered by MIT, equips students with a strong foundation in how AI systems think, reason, and learn. It covers core concepts such as knowledge representation, problem-solving strategies, and machine learning techniques. By the end of the program, learners gain the ability to design intelligent systems that solve real computational challenges. They also develop a deeper understanding of how structuring knowledge, building reasoning workflows, and enabling learning shape the engineering of AI-driven applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI for Beginners
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/microsoft/ai-for-beginners" rel="noopener noreferrer"&gt;AI for Beginners&lt;/a&gt; GitHub repository offered by Microsoft is a 2-week, 24-lesson curriculum. It includes practical lessons, quizzes, and labs. The curriculum is beginner-friendly and covers tools such as TensorFlow and PyTorch, as well as ethics in AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generative AI Course by Google
&lt;/h2&gt;

&lt;p&gt;Discover the latest &lt;a href="https://cloud.google.com/learn/training/machinelearning-ai" rel="noopener noreferrer"&gt;generative AI training courses by Google&lt;/a&gt;, from beginner to advanced. Start with an introduction or dive into advanced training for application developers or data scientists.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn AI Engineering
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/ashishps1/learn-ai-engineering" rel="noopener noreferrer"&gt;Learn AI Engineering&lt;/a&gt; GitHub repository provides a comprehensive list of free resources to learn everything about AI/ML, LLMs, and Agents. A plethora of information is available in the repository to build a solid foundation in AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generative AI for Beginners
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/microsoft/generative-ai-for-beginners" rel="noopener noreferrer"&gt;Generative AI&lt;/a&gt; for Beginners is a GitHub repository created by Microsoft offering 21 Lessons to get started and build with Generative AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Agents for Beginners
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/microsoft/ai-agents-for-beginners" rel="noopener noreferrer"&gt;AI Agents for Beginners&lt;/a&gt; is a GitHub repository created by Microsoft offering 12 Lessons to get started with building AI Agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Awesome Artificial Intelligence
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/owainlewis/awesome-artificial-intelligence" rel="noopener noreferrer"&gt;Awesome artificial intelligence&lt;/a&gt; GitHub repository offers a well-organized and carefully curated collection of AI courses, books, video lectures, and research papers.&lt;/p&gt;

&lt;p&gt;It serves as a valuable resource for learners aiming to build a stronger foundation of core AI concepts, problem-solving approaches, and modern application areas such as machine learning, deep learning, computer vision, and natural language processing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Machine Learning Roadmap
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://roadmap.sh/machine-learning" rel="noopener noreferrer"&gt;Machine Learning Roadmap&lt;/a&gt; offers a step-by-step guide to becoming a Machine Learning Engineer in 2025. It helps to map out everything from fundamentals to advanced topics, making it an excellent starting point whether you’re new to ML or strengthening your existing skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  Machine Learning Crash Course by Google
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://developers.google.com/machine-learning/crash-course" rel="noopener noreferrer"&gt;Machine Learning Crash Course by Google&lt;/a&gt; offers a free, hands-on introduction to machine learning, covering core concepts like regression, classification, neural networks, and modern topics such as large language models, AutoML, and responsible AI.&lt;/p&gt;

&lt;p&gt;Whether you’re new to ML or revisiting the fundamentals, the course uses interactive lessons, real-world exercises, and intuitive visuals to build a solid conceptual and practical foundation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Foundations of Machine Learning and Artificial Intelligence
&lt;/h2&gt;

&lt;p&gt;This course by &lt;a href="https://www.freecodecamp.org/news/learn-the-foundations-of-machine-learning-and-artificial-intelligence/" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt; combines clear, structured lessons with real-world case studies and insights from industry experts. It’s designed to help learners master both AI fundamentals and hands-on implementation, ensuring a balanced understanding of theory and practice.&lt;/p&gt;

&lt;p&gt;In addition to technical training, the course includes a detailed career roadmap, whether your goal is to grow in data science, build an AI-driven startup, or confidently prepare for interviews in the AI industry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Awesome Machine Learning
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/josephmisiti/awesome-machine-learning" rel="noopener noreferrer"&gt;Awesome Machine Learning&lt;/a&gt; GitHub repository provides a curated list of awesome Machine Learning frameworks, libraries, and software. It offers links to free ML courses, books, events, and meetups.&lt;/p&gt;

&lt;h2&gt;
  
  
  LLM4SoftwareTesting
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/LLM-Testing/LLM4SoftwareTesting" rel="noopener noreferrer"&gt;LLM4SoftwareTesting&lt;/a&gt; GitHub repository provides a curated collection of papers and resources on the utilization of large language models (LLMs) in software testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Words
&lt;/h2&gt;

&lt;p&gt;Artificial Intelligence and Machine Learning are evolving at a rapid pace, making continuous learning a key differentiator for every modern technologist. The resources shared in this blog are designed to help you build real expertise, grounded in fundamentals and strengthened through hands-on practice.&lt;/p&gt;

&lt;p&gt;No single tool or course will define your success, but a consistent commitment to learning and applying your skills certainly will.&lt;/p&gt;

&lt;p&gt;Happy Learning!!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>beginners</category>
      <category>learning</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Actions to be taken by a QA on finding a Critical Issue in Production</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Mon, 16 Sep 2024 07:20:49 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/actions-to-be-taken-by-a-qa-on-finding-a-critical-issue-in-production-10bb</link>
      <guid>https://forem.com/mfaisalkhatri/actions-to-be-taken-by-a-qa-on-finding-a-critical-issue-in-production-10bb</guid>
      <description>&lt;p&gt;You've just released a product but QA finds a critical issue. How do you navigate this post-release crisis?&lt;/p&gt;

&lt;p&gt;I would: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a ticket for the issue in the tracker board and update it as High Severity and High Priority.&lt;/li&gt;
&lt;li&gt;Update the details, steps to reproduce along with screenshots and log details.&lt;/li&gt;
&lt;li&gt;Update the ticket with the impact of the issue on the application.&lt;/li&gt;
&lt;li&gt;Communicate about the ticket with the respective Stakeholders keeping the product owner in the loop.&lt;/li&gt;
&lt;li&gt;If Possible, call upon a meeting with the respective stakeholders to discuss and take corrective measures as early as possible.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check if the unit/integration/end to end automation test covers the test case of the issue. If not, make provisions to get it covered.&lt;/li&gt;
&lt;li&gt;Add the case to the regression suite.&lt;/li&gt;
&lt;li&gt;If a hot fix is provided, make sure the same patch is applied in the DEV/QA and other ENV as well so we have a the same build in all envs. This ensures that the bug is not only fixed in production but also avoids the future conflicts.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;On resolution of the issue by the developers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ask the developers to desk-check the resolution and demo it to the QAs before deploying the builds to any environment.&lt;/li&gt;
&lt;li&gt;Recheck all the scenarios in the desk check session itself in order to save time and get quality fix.&lt;/li&gt;
&lt;li&gt;Ask the devs to write unit test for the resolution so we do not miss the issue any time again in near future&lt;/li&gt;
&lt;li&gt;Cover the test case in the automation test scripts and add it to the regression suite.&lt;/li&gt;
&lt;li&gt;Once everything works fine, ask the devs to deploy it to all other environments and retest it again with all combinations.&lt;/li&gt;
&lt;li&gt;This issue should also be tested in production replica environment to make sure that after deployment it should work as expected.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Happy Testing!!&lt;/p&gt;

</description>
      <category>testing</category>
      <category>help</category>
      <category>tutorial</category>
      <category>learning</category>
    </item>
    <item>
      <title>RESTful E-Commerce API in Node.js: Demo APIs for API Testing</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Wed, 11 Sep 2024 07:57:04 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/restful-ecommerce-a-simple-demo-node-e-commerce-application-for-practising-api-testing-1jek</link>
      <guid>https://forem.com/mfaisalkhatri/restful-ecommerce-a-simple-demo-node-e-commerce-application-for-practising-api-testing-1jek</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftx7s621ob5kqiqld8zyh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftx7s621ob5kqiqld8zyh.png" alt="Restful-ECommerce - Cover image" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Hello Testers and Developers! 👋&lt;/p&gt;

&lt;p&gt;If you want to learn and practise API Testing and need a demo API. I have got something exciting for you!!&lt;/p&gt;

&lt;p&gt;I recently built a Restful-Ecommerce API that is a simple Node E-Commerce application for testing RESTful web services.&lt;br&gt;
It is built using ExpressJS in node.&lt;/p&gt;

&lt;p&gt;This application has multiple endpoints related to creating, updating, retrieving and deleting orders.It is specifically built for testers and developers to practise API Testing manually using tools like Postman or using API Test Automation tools like SuperTest, Rest-Assured, Playwright, Cypress, Boyka-Framework, etc.&lt;/p&gt;

&lt;p&gt;In this post, I’ll walk you through what this repository offers, how to get started, and why it could be a great learning resource for your next project.&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repo: &lt;a href="https://github.com/mfaisalkhatri/restful-ecommerce" rel="noopener noreferrer"&gt;Restful E-commerce&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Project? 🤔
&lt;/h2&gt;

&lt;p&gt;There are tons of e-commerce platforms out there, but building one from scratch can help you understand the core concepts of back-end development and API design. &lt;/p&gt;

&lt;p&gt;Also, for learning about ecommerce applications, I couldnt find a good RESTful API that could serve the purpose of learning API testing and test automation. Another benefit of this project is that it gives control in your hands,i.e. it can be installed on your local machine using NodeJS or using Docker. &lt;/p&gt;

&lt;p&gt;It also generates the Swagger that serves as API documentation and allows testing the APIs manually over it.&lt;/p&gt;

&lt;p&gt;This project is perfect for testers looking to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn RESTful API Testing manually using tools like &lt;a href="https://www.postman.com/downloads/" rel="noopener noreferrer"&gt;Postman&lt;/a&gt;, &lt;a href="https://insomnia.rest/download" rel="noopener noreferrer"&gt;Insomnia&lt;/a&gt;, etc.&lt;/li&gt;
&lt;li&gt;Learn API Test Automation using tools and frameworks like &lt;a href="https://www.npmjs.com/package/supertest" rel="noopener noreferrer"&gt;SuperTest&lt;/a&gt;, &lt;a href="https://rest-assured.io/" rel="noopener noreferrer"&gt;Rest-Assured&lt;/a&gt;, &lt;a href="https://playwright.dev/java/docs/api-testing" rel="noopener noreferrer"&gt;Playwright&lt;/a&gt;, &lt;a href="https://learn.cypress.io/advanced-cypress-concepts/integration-and-api-tests" rel="noopener noreferrer"&gt;Cypress&lt;/a&gt;, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technologies Used 🛠️
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Node.js: Back-end JavaScript runtime&lt;/li&gt;
&lt;li&gt;Express: Web framework for building RESTful APIs&lt;/li&gt;
&lt;li&gt;JWT (JSON Web Tokens): For secure user authentication&lt;/li&gt;
&lt;li&gt;Swagger : For generating the Swagger documentation&lt;/li&gt;
&lt;li&gt;Mocha: For writing the Unit tests&lt;/li&gt;
&lt;li&gt;Chai: For writing the assertions in the Unit tests&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Features of the API
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Security
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;JWT based authentication token generation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Order Management
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Users can create and manage orders&lt;/li&gt;
&lt;li&gt;View order history and current orders&lt;/li&gt;
&lt;li&gt;For more details on the APIs checkout the &lt;a href="https://github.com/mfaisalkhatri/restful-ecommerce/wiki" rel="noopener noreferrer"&gt;API documentation&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Checkout the following links to get started with the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/mfaisalkhatri/restful-ecommerce/blob/main/readme.md" rel="noopener noreferrer"&gt;Installation and Setup&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Video Tutorial on YouTube &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=9WDhjf-Qlo4" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgdpvzvpgvmj1y7xmwq9.jpg" alt="Restful-ECommerce Youtube Video Tutorial" width="480" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts 💬
&lt;/h2&gt;

&lt;p&gt;Building your own e-commerce API is a fantastic way to sharpen your back-end development skills. Whether you want to use this project as a starting point for a larger application or simply learn more about testing RESTful services, I hope this repo will be useful to you.&lt;/p&gt;

&lt;p&gt;Feel free to reach out with any questions or suggestions, and don’t forget to star the repo if you find it helpful! ⭐&lt;/p&gt;

</description>
      <category>api</category>
      <category>testing</category>
      <category>tutorial</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Beyond Bugs: Exploring the Depths of Software Testing</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Sun, 21 May 2023 14:20:22 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/beyond-bugs-exploring-the-depths-of-software-testing-2h1a</link>
      <guid>https://forem.com/mfaisalkhatri/beyond-bugs-exploring-the-depths-of-software-testing-2h1a</guid>
      <description>&lt;p&gt;Testing is a critical phase in the software development process. It ensures that the software meets the requirements, functions as expected, and is reliable. However, there are many challenges that can erupt throughout the testing process.&lt;/p&gt;

&lt;p&gt;In this blog, let me take you on a tour of the challenges faced while performing software testing, provide you some tips and tricks to overcome those challenges and also talk beyond catching bugs to efficiently test the software ensuring quality releases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges faced in Software Testing
&lt;/h2&gt;

&lt;p&gt;Testers or the QAs face various obstacles while performing Software Testing. These challenges must be overcome in order to perform testing without any blockers ensuring on time release of software to the market. Some of the commonly faced challenges are -&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time Constraints&lt;/strong&gt;: Time Constraint is the most commonly faced challenge by QAs in mostly every software project. Testers have to work within tight schedules with limited time available for testing. With less time to test makes the testers rush test activities which eventually leads to overlooking some critical issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Changing requirements&lt;/strong&gt;: With Agile in place, though we have the flexibility to adhere to changing requirements, it can be a significant challenge, as the QA team has to align all the tests as per the latest changes. With the release deadlines, it leads to Technical Debt for the testing team as they have to update all the automation stuff as well as the test scenarios/cases to align them with latest specifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Data Management&lt;/strong&gt;: Generating and managing realistic test data is a challenge that is faced by almost every testing team especially while working on large and complex systems. Accurate and realistic test data is required for effective testing, in case that is not available chances of missing critical scenarios increases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitation of resources&lt;/strong&gt;: Infrastructure, tools, and shortage of skilled QAs are some of the commonly faced limitations by QA teams. In addition to these, Insufficient testing environments, lack of automation tools, and a shortage of experienced personnel can lead to the overall blocking of software testing thereby slowing the delivery time to the market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Communication Issues&lt;/strong&gt;: Communication and Collaboration between the Testers, BAs, Developers and the Stakeholders is most important for successful testing and improving the overall quality of the product. However, due to miscommunication, lack of clarity, experience and poor collaboration, overall quality of the product suffers.&lt;/p&gt;

&lt;p&gt;To overcome these challenges, effective planning, coordination between teams and the use of the right tools and techniques are required.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to overcome the software testing challenges?
&lt;/h2&gt;

&lt;p&gt;With the multiple challenges obstructing software testing, it becomes a kind of blocker for the testing team to progress with their daily activities. It is therefore required to resolve these challenges to work efficiently. Here are the following tips that can be considered -&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Early&lt;/strong&gt;: Testing early helps in early detecting and resolution of the issues. It is not necessary that we test the software only. The bug can be hidden in the specification as well as the feature request. Going thoroughly through the specification can help in detecting the hidden issues and correcting them before they are leaked into the product. This helps in overall cost and efforts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8QHnSrf0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i286bdwea8ikz0wznghc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8QHnSrf0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i286bdwea8ikz0wznghc.png" alt="Relative Cost of Fixing Defects" width="800" height="478"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.researchgate.net/publication/255965523_Integrating_Software_Assurance_into_the_Software_Development_Life_Cycle_SDLC"&gt;IBM System Science Institute Relative Cost of Fixing Defects&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The cost of finding bugs in the later phase of software development is much higher as compared to that in the initial phase of development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prioritize Test Cases&lt;/strong&gt;: Focus on the complex and high priority test scenarios, this will help you catch the critical bugs that might impact the overall functioning of the product. Prioritization can be done based on business requirements, its impact and probability of failure.&lt;/p&gt;

&lt;p&gt;Business Analysts and Domain Experts’ help can be taken here to focus on major critical areas of the software and prioritize them for testing.&lt;/p&gt;

&lt;p&gt;Review and update the Test Cases/Scenarios: As the requirements keep on changing, it is good to review and update the test cases/scenarios on a regular basis. This can help to avoid creation of Technical Debt and can save time by reusing these updated cases/scenarios for testing in subsequent cycles.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/best-examples-of-functional-test-cases-agilitest-blog-424260298b5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sPB5_Zjs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/v2/resize:fill:88:88/1%2Aw9jMeA2P75hYWHzUzNHPaQ.jpeg" alt="Mohammad Faisal Khatri"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/best-examples-of-functional-test-cases-agilitest-blog-424260298b5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Best Examples of Functional Test Cases | by Mohammad Faisal Khatri | Medium&lt;/h2&gt;
      &lt;h3&gt;Mohammad Faisal Khatri ・ &lt;time&gt;Apr 2, 2023&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YjpYcCMa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/medium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Automate Regression Tests&lt;/strong&gt;: Regression testing refers to retesting the existing functionality of the software after a defect is fixed, to check the stability of the software and verify that the fix doesn’t have any side effects. Performing regression testing manually is a very tedious and boring task and requires lots of manual effort. Hence, the test scenarios that need frequent testing should be automated.&lt;/p&gt;

&lt;p&gt;Automating the regression tests helps in running all the tests quickly and get faster feedback on the builds.&lt;/p&gt;

&lt;p&gt;For example, if you are working on a project that is developing an e-commerce application. Most of the regression tests would need registration, login, adding to product to cart, making payment, etc. All these test scenarios can be automated and regression testing can be a big time saver.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exploratory Testing of the product&lt;/strong&gt;: Exploratory testing refers to combining your experience, testing skills and domain knowledge to uncover the hidden issues that have not been discovered yet. It helps in adding more value to the product by exploring and testing the unexplored areas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usability Testing&lt;/strong&gt;: It refers to testing the software for its ease of use. Most of the users stop using the software as they don’t consider it user friendly. This type of testing helps in checking the overall user experience and identify the design flaws and usability issues.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Improve Communication and Collaboration *&lt;/em&gt;- Communication is the key in Software Engineering. Almost half of your issue gets resolved at the earliest if you communicate well. Having an open communication and collaborating with developers, designers, stakeholders can ensure shared understanding of requirements, defects, and testing goals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Test Pyramid&lt;/strong&gt;: The concept of Test Pyramid was introduced by Mike Cohn in his book Succeeding with Agile. Test Pyramid helps in promoting a balanced approach to testing by organizing tests into different layers.&lt;/p&gt;

&lt;p&gt;Unit Tests, Integration Tests, System Tests, End to End tests and Manual exploratory tests are layers of the Test Pyramid. As we have tests at every layer it helps in &lt;a href="https://medium.com/@iamfaisalkhatri/what-is-continuous-testing-lambdatest-bd2c464b414c"&gt;Continuous Testing&lt;/a&gt; and provides with faster feedback by detecting issues early and fixing them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ttvwa2iR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0rypp0iqfy2ov3wyd1bq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ttvwa2iR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0rypp0iqfy2ov3wyd1bq.png" alt="Test Pyramid" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Software Testing Beyond bug detections
&lt;/h2&gt;

&lt;p&gt;In this modern era of software development, there are teams working on agile methodologies like Scrum, Kanban, etc. We need to think about software testing beyond catching the bugs and writing the bug tickets.&lt;/p&gt;

&lt;p&gt;How about taking actions to avoid the bug leakage in the code from the initial development stage itself? How about testing continuously without putting in manual efforts? How about baking the quality within the code itself?&lt;/p&gt;

&lt;p&gt;There are lots of other areas to think about as well. It can all lead to delivering quality software and allow the team to maintain a balanced schedule between their work and life.&lt;/p&gt;

&lt;p&gt;Let’s take a look at the other side of the term called “Software Testing”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confirming Functional Integrity&lt;/strong&gt;: Software Testing aims to ensure that the software is functioning as per the requirement specified. QAs check that the software is performing all the actions which it is intended to do. Also, more importantly, it is also important to verify that it is not performing the actions it is not intended to do. The latter point helps to find out the deviations from the actual working of the software and fix it before it makes its way to the production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performing Usability and Accessibility Testing&lt;/strong&gt;: By performing the Usability testing, it can be ensured that the end user would be able to use the software smoothly. If the background color of the application is too dark or too itchy for the eyes, users may stop using it. Such suggestions can help improve the overall quality of the software.&lt;/p&gt;

&lt;p&gt;Accessibility testing should be performed based on the targeted audience that would be using the software. By performing Accessibility Testing, we can check that software is easily accessible by differently abled people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Checking out for Security Vulnerabilities&lt;/strong&gt;: It can help in uncovering the potential security threats that can be faced by the system and make sure that the resources and data in the system are protected by attackers. The goal for doing this is-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To identify the security risks.&lt;/li&gt;
&lt;li&gt;To measure potential threats.&lt;/li&gt;
&lt;li&gt;To identify vulnerabilities such as weak passwords, data breaches, unpatched software and misconfigured systems that could be exploited by the intruders.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Performing Cross Browser and Compatibility Testing&lt;/strong&gt;: With multiple Operating Systems such as Windows, MacOS, etc. and different browsers like Chrome, Firefox, Edge, Safari, etc. It is necessary to check the software is working as expected on different OS/Browser combinations. It can help uncover hidden issues which might go untested based on the assumption that if the software works on Chrome browser, it should work on Firefox browser as well.&lt;/p&gt;

&lt;p&gt;Compatibility testing can help uncover issues related to installation, setup and configuration of software on different platforms like Windows, MacOS, Linux,etc.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/cross-browser-testing-in-selenium-webdriver-pcloudy-blog-46e9d70fa13a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sPB5_Zjs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/v2/resize:fill:88:88/1%2Aw9jMeA2P75hYWHzUzNHPaQ.jpeg" alt="Mohammad Faisal Khatri"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/cross-browser-testing-in-selenium-webdriver-pcloudy-blog-46e9d70fa13a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Cross browser testing in Selenium WebDriver | by Mohammad Faisal Khatri | Medium&lt;/h2&gt;
      &lt;h3&gt;Mohammad Faisal Khatri ・ &lt;time&gt;Apr 2, 2023&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YjpYcCMa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/medium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;strong&gt;Integrating automated tests in CICD&lt;/strong&gt;: Automated tests triggering automatically one after another once the developer pushes any code to the remote repository helps to get faster feedback without much manual effort. It can help bake the quality within the product itself.


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/practical-guide-on-continuous-integration-for-automation-tests-vtest-blog-23e6d37f523f" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sPB5_Zjs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/v2/resize:fill:88:88/1%2Aw9jMeA2P75hYWHzUzNHPaQ.jpeg" alt="Mohammad Faisal Khatri"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/practical-guide-on-continuous-integration-for-automation-tests-vtest-blog-23e6d37f523f" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Practical Guide on Continuous Integration for automation tests| VTEST Blog | Mohammad Faisal Khatri | Medium | Medium&lt;/h2&gt;
      &lt;h3&gt;Mohammad Faisal Khatri ・ &lt;time&gt;Mar 20, 2023&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YjpYcCMa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/medium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;strong&gt;Performance Optimization&lt;/strong&gt;: With multiple features getting added to the software brings in the responsibility to keep a check on the performance of the software.

&lt;p&gt;For example, in the case of a mobile project, areas like memory usage, battery usage, App load time, data sync time, page load time, App refreshing time, etc. are some of the areas which can be checked and accordingly if any lagging is found it can be improved. It is also important to check for fallback scenarios in case of network issues, App crash, etc.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://mfaisalkhatri.github.io/2022/03/31/guidetomobiltesting/" rel="noopener noreferrer"&gt;
      mfaisalkhatri.github.io
    &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Collaborating with DevOps&lt;/strong&gt;: QAs can also contribute and collaborate with the DevOps team. Checking logs in case of the pipeline failure, helping the developers in identifying the root cause of failures, setting up pipelines for different environments, running the test on cloud platforms, monitoring the automated pipelines, etc. are some of the areas where QAs can manage and help the DevOps team.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/devops-testing-vtest-blog-635d88de352f" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sPB5_Zjs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/v2/resize:fill:88:88/1%2Aw9jMeA2P75hYWHzUzNHPaQ.jpeg" alt="Mohammad Faisal Khatri"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/devops-testing-vtest-blog-635d88de352f" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;DevOps Testing | VTEST Blog | by Mohammad Faisal Khatri | Medium | Medium&lt;/h2&gt;
      &lt;h3&gt;Mohammad Faisal Khatri ・ &lt;time&gt;Mar 20, 2023&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YjpYcCMa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/medium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;strong&gt;Organize Bug Bash&lt;/strong&gt;: A bug bash is an activity where developers, testers, business analysts, designers, operations people and even stakeholders come together to perform all hands on, on the software. This helps in locating hidden bugs more quickly as every person uses the software differently. QAs should organize such bug bash a week before the release just in case if there are any critical issues discovered, it can be quickly fixed.


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/what-is-a-bug-bash-c8ac3fd81661" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sPB5_Zjs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/v2/resize:fill:88:88/1%2Aw9jMeA2P75hYWHzUzNHPaQ.jpeg" alt="Mohammad Faisal Khatri"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@iamfaisalkhatri/what-is-a-bug-bash-c8ac3fd81661" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;What is a Bug Bash?. What is a Bug bash? | by Mohammad Faisal Khatri | Medium&lt;/h2&gt;
      &lt;h3&gt;Mohammad Faisal Khatri ・ &lt;time&gt;May 13, 2022&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YjpYcCMa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/medium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;All this can happen once all the tedious tasks that need a lot of manual effort are automated so the testers can focus and work on overall improvement of the software.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Js0anAdYAA0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Software testing goes beyond simply finding and fixing bugs. It encompasses functional validation, performance optimization, verifying usability and accessibility, identifying security vulnerabilities , cross browser and compatibility testing, and regression testing. By exploring all these areas in detail, software testers can play a crucial role in ensuring the quality, reliability, and bring user satisfaction to software products.&lt;/p&gt;

&lt;p&gt;It is important to tailor your testing techniques to the specific needs and requirements of the software project. By using comprehensive testing practices throughout the development lifecycle robust, efficient, and user-centric software can be delivered with quality.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Freelance Work / Paid Trainings/Mentoring&lt;br&gt;
Contact me for Paid training/Mentoring related to Test Automation and Software Testing, ping me using any of the social media sites listed on &lt;a href="https://linktr.ee/faisalkhatri"&gt;LinkTree&lt;/a&gt; or email me @&lt;a href="mailto:mohammadfaisalkhatri@gmail.com"&gt;mohammadfaisalkhatri@gmail.com&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>softwaretesting</category>
      <category>softwareengineering</category>
      <category>testing</category>
      <category>learning</category>
    </item>
    <item>
      <title>What is learning path I should take to transition from manual to automation testing?</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Wed, 02 Feb 2022 19:01:10 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/what-is-learning-path-i-should-take-to-transition-from-manual-to-automation-testing-5gff</link>
      <guid>https://forem.com/mfaisalkhatri/what-is-learning-path-i-should-take-to-transition-from-manual-to-automation-testing-5gff</guid>
      <description>&lt;p&gt;I have been getting a lot of messages from people who want to transition from manual to automation testing and they have been asking me to recommend the learning path to get the transition done successfully, hence I thought of writing a blog and share my experience.&lt;/p&gt;

&lt;p&gt;This blog also has links of the FREE courses which I had taken to upgrade myself and I would recommend those to others as well!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@iamfaisalkhatri/transition-from-manual-to-automation-testing-4b5c4acd9286"&gt;Transition from manual to automation testing&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>beginners</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to test APIs using supertest, mocha and chai?</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Wed, 02 Feb 2022 18:48:55 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/how-to-test-apis-using-supertest-mocha-and-chai-h0c</link>
      <guid>https://forem.com/mfaisalkhatri/how-to-test-apis-using-supertest-mocha-and-chai-h0c</guid>
      <description>&lt;p&gt;What is supertest?&lt;br&gt;
How do I test APIs?&lt;br&gt;
How do I perform end to end testing of APIs using supertest?&lt;br&gt;
How do I create an automation test strategy for testing APIs?&lt;/p&gt;

&lt;p&gt;Check out the link below where I have answered the question mentioned above:&lt;br&gt;
&lt;a href="https://medium.com/@iamfaisalkhatri/api-testing-using-supertest-ea37522fa329"&gt;How do I test APIs using supertest, mocha and chai?&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>testing</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Generic Test Cases for Testing.</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Tue, 14 Jul 2020 18:51:58 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/generic-test-cases-for-testing-4ip4</link>
      <guid>https://forem.com/mfaisalkhatri/generic-test-cases-for-testing-4ip4</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BoIJRbfA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/qv2rqfhwj4u77eeumhi1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BoIJRbfA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/qv2rqfhwj4u77eeumhi1.png" alt="Alt Text" width="800" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Recently I was reviewing the test cases of one of my colleague who has joined as a fresher in testing team. Though he had tried his best to cover up all the test cases as per the functionality and WireFrame provided in the Business Requirement Specification, I found that cases written were not descriptive to be understood in one go. I had to ask him multiple times what he meant to say in Case 1, then in Case 3 and so on...&lt;/p&gt;

&lt;p&gt;A thought came to my mind that why should I not create some sample test cases which could help beginners giving a fair idea about writing test cases descriptively. This could help them in writing test cases effectively considering what all things are necessary while drafting test cases to test an application.  &lt;/p&gt;

&lt;p&gt;Read about this &lt;a href="https://mfaisalkhatri.github.io/2020/07/11/testcases/"&gt;more on my website...&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>github</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>My Website..</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Tue, 02 Jun 2020 15:42:16 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/my-website-j53</link>
      <guid>https://forem.com/mfaisalkhatri/my-website-j53</guid>
      <description>&lt;p&gt;I was just thinking about building my own website, but since I didn't have any knowledge on how websites are built and what all things you require to make it, my curiosity led me searching for blogs/posts/articles on google. &lt;br&gt;
I had discussions in my friends circle too. &lt;/p&gt;

&lt;p&gt;Going through a lot of articles and suggestions provided by google search I came to know that there is whole lot of new technologies available in the market using which I can build my website in a single day.&lt;/p&gt;

&lt;p&gt;It was tough choosing between &lt;strong&gt;Jekyll/Hexo/Gatsby/Hugo&lt;/strong&gt;.&lt;br&gt;
First, I started with Hugo, but had a tough time to understand it, as you have to download &lt;strong&gt;Go&lt;/strong&gt; [&lt;em&gt;a programming language developed by Google&lt;/em&gt;] and based on it the development of you website starts. &lt;br&gt;
It was tough for me to understand. &lt;br&gt;
So, I dropped the idea of building my website using Hugo.&lt;/p&gt;

&lt;p&gt;Finally, I started my work using &lt;strong&gt;Hexo&lt;/strong&gt;. It was easy to understand and implement. I chose a theme I liked and started working on it. &lt;br&gt;
Also implemented as few 3rd party plugins inside my website for getting it lively.&lt;/p&gt;

&lt;p&gt;Its a pleasure to announce that my Website is live now.&lt;br&gt;
Checkout the link &lt;a href="https://mfaisalkhatri.github.io"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>github</category>
      <category>writing</category>
      <category>website</category>
      <category>showdev</category>
    </item>
    <item>
      <title>How to write API Tests using REST-Assured and OkHTTP?</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Sat, 14 Mar 2020 14:30:19 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/how-to-write-api-tests-using-rest-assured-and-okhttp-1lo1</link>
      <guid>https://forem.com/mfaisalkhatri/how-to-write-api-tests-using-rest-assured-and-okhttp-1lo1</guid>
      <description>&lt;h2&gt;
  
  
  ❓ What is REST-Assured?
&lt;/h2&gt;

&lt;p&gt;REST Assured is a Java library that provides a domain-specific language (DSL) for writing powerful, maintainable tests for RESTful APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  ❓ What is OkHttp?
&lt;/h2&gt;

&lt;p&gt;OkHTTP is an open source project designed to be an efficient HTTP client:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP/2 support allows all requests to the same host to share a socket.&lt;/li&gt;
&lt;li&gt;Connection pooling reduces request latency (if HTTP/2 isn’t available).&lt;/li&gt;
&lt;li&gt;Transparent GZIP shrinks download sizes.&lt;/li&gt;
&lt;li&gt;Response caching avoids the network completely for repeat requests. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ❓ How to write API Tests using REST-Assured/ OkHttp?
&lt;/h2&gt;

&lt;p&gt;As many of you know that REST-Assured and OkHttp are currently in demand for writing automation tests for APIs. I was learning about Rest-Assured and OkHttp, an idea just popped into my mind, why not save the code on github so it would serve as a learning material for beginners.&lt;/p&gt;

&lt;p&gt;Hence, I created and posted the code which I wrote, on github, in the following repository. It has API testing example codes for GET, POST, PUT, PATCH and DELETE requests using REST-Assured as well as OkHttp:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/mfaisalkhatri/OkHttpRestAssuredExamples"&gt;OkHttpRestAssuredExamples&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 REST-Assured or OkHttp?
&lt;/h2&gt;

&lt;p&gt;Interesting question! While I was running the tests, I found an interesting thing which caught my attention. The execution speed of OkHttp when compared to Rest-assured was far better. &lt;br&gt;
Checkout the following blog for more details about REST-Assured and OkHttp performance with reference to execution time:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://iamfaisalkhatri.wordpress.com/2020/03/10/rest-assured-or-okhttp/"&gt;REST-Assured or OkHttp?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the end, I would like to mention that it all depends on the project and your requirement for choosing the framework to write and execute the tests. Everything has something unique, its up to you how you choose!!&lt;/p&gt;

</description>
      <category>testing</category>
      <category>beginners</category>
      <category>java</category>
      <category>github</category>
    </item>
    <item>
      <title>Selenium WebDriver wrapper Framework in Java, which supports Automation of most of the web browsers.</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Sat, 10 Aug 2019 13:58:33 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/selenium-webdriver-wrapper-framework-in-java-which-supports-automation-of-most-of-the-web-browsers-4jco</link>
      <guid>https://forem.com/mfaisalkhatri/selenium-webdriver-wrapper-framework-in-java-which-supports-automation-of-most-of-the-web-browsers-4jco</guid>
      <description>&lt;h2&gt;
  
  
  ❓ What is this Framework about?
&lt;/h2&gt;

&lt;p&gt;This is a Selenium WebDriver wrapper Framework which enables robust, maintainable and easy to write test scripting. &lt;em&gt;&lt;strong&gt;It supports latest Selenium WebDriver 4.0 (Alpha)&lt;/strong&gt;&lt;/em&gt; and is ready for main Selenium upgrade.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 What features does this framework offer?
&lt;/h2&gt;

&lt;p&gt;Nobody uses anything without knowing what it offers. Some of the key features which this framework offers are as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latest Selenium WebDriver 4.0 (Alpha 2).&lt;/li&gt;
&lt;li&gt;Supports Chrome, Safari, Firefox, IE and Edge&lt;/li&gt;
&lt;li&gt;Supports execution on BrowserStack and Selenium Grid.&lt;/li&gt;
&lt;li&gt;On-demand highlighting of Elements.&lt;/li&gt;
&lt;li&gt;On-demand delay of test execution by allowing predefined delays.&lt;/li&gt;
&lt;li&gt;On-demand headless mode.&lt;/li&gt;
&lt;li&gt;Supports all major test frameworks like TestNG, JUnit, Cucumber, etc.&lt;/li&gt;
&lt;li&gt;Supports logging of events to Log file.&lt;/li&gt;
&lt;li&gt;Extensible framework which allows extending the framework as required.&lt;/li&gt;
&lt;li&gt;Parallel execution of tests on different browsers.&lt;/li&gt;
&lt;li&gt;Inline verification of elements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Checkout the following link for more details and examples as how to use the framework and write tests:&lt;br&gt;
&lt;a href="https://github.com/WasiqB/coteafs-selenium"&gt;https://github.com/WasiqB/coteafs-selenium&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>selenium</category>
      <category>testing</category>
    </item>
    <item>
      <title># TestCases for Manual Software Testing.</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Sun, 04 Aug 2019 16:18:18 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/testcases-for-manual-software-testing-jo7</link>
      <guid>https://forem.com/mfaisalkhatri/testcases-for-manual-software-testing-jo7</guid>
      <description>&lt;h2&gt;
  
  
  💥 What is it all about?
&lt;/h2&gt;

&lt;p&gt;This project contains sample set of test cases for manual testers to help them save time for writing manual test cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⛳ Why was this project created?
&lt;/h2&gt;

&lt;p&gt;It is always a tedious and boring task to write test cases, which takes most of the time of software testing. Hence, I decided to make generic test cases for the functionality majorly used in software testing so anyone can just download the copy and use it directly in their projects and save their time wasted in writing the generic test cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Sample Test Cases are added for the following:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Generic field level test cases for Textbox, Dropdown-box/Multi-Dropdownbox, Checkbox, Radio button, Submit/Save/Cancel button and Date fields,&lt;/li&gt;
&lt;li&gt;Sample Test cases for Export Functionality.&lt;/li&gt;
&lt;li&gt;Sample Test cases for Import Functionality.&lt;/li&gt;
&lt;li&gt;Sample Test cases for Testing reports.&lt;/li&gt;
&lt;li&gt;Sample Test cases for testing Mobile apps.&lt;/li&gt;
&lt;li&gt;Test Planning Checklist.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the following link for more details and for downloading the templates and testcases:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/mfaisalkhatri/Manual_Testing"&gt;https://github.com/mfaisalkhatri/Manual_Testing&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Coteafs-Selenium</title>
      <dc:creator>Mohammad Faisal Khatri</dc:creator>
      <pubDate>Sun, 04 Aug 2019 10:36:03 +0000</pubDate>
      <link>https://forem.com/mfaisalkhatri/coteafs-selenium-4h64</link>
      <guid>https://forem.com/mfaisalkhatri/coteafs-selenium-4h64</guid>
      <description>&lt;h2&gt;
  
  
  Selenium WebDriver wrapper framework for writing clean and maintainable tests.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ❓ What is this Framework about?
&lt;/h3&gt;

&lt;p&gt;This is a Selenium WebDriver wrapper Framework which enables robust, maintainable and easy to write test scripting. &lt;em&gt;&lt;strong&gt;It supports latest Selenium WebDriver 4.0 (Alpha)&lt;/strong&gt;&lt;/em&gt; and is ready for main Selenium upgrade.&lt;/p&gt;

&lt;h3&gt;
  
  
  💡 What features does this framework offer?
&lt;/h3&gt;

&lt;p&gt;Nobody uses anything without knowing what it offers. Some of the key features which this framework offers are as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latest Selenium WebDriver 4.0 (Alpha 2)&lt;/li&gt;
&lt;li&gt;On-demand highlighting of Elements&lt;/li&gt;
&lt;li&gt;On-demand delay of test execution by allowing predefined delays&lt;/li&gt;
&lt;li&gt;On-demand headless mode&lt;/li&gt;
&lt;li&gt;Parallel execution of tests on different browsers&lt;/li&gt;
&lt;li&gt;Support Chrome, Safari, Firefox, IE and Edge&lt;/li&gt;
&lt;li&gt;CI / CD ready&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Checkout the following link for more details:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/WasiqB/coteafs-selenium"&gt;https://github.com/WasiqB/coteafs-selenium&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>github</category>
    </item>
  </channel>
</rss>
