<?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: MADHUPRIYA MAHALINGAN</title>
    <description>The latest articles on Forem by MADHUPRIYA MAHALINGAN (@madhupriyamahalingan).</description>
    <link>https://forem.com/madhupriyamahalingan</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%2F3757874%2F16ed98b4-853c-40e3-8899-54578e13c187.png</url>
      <title>Forem: MADHUPRIYA MAHALINGAN</title>
      <link>https://forem.com/madhupriyamahalingan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/madhupriyamahalingan"/>
    <language>en</language>
    <item>
      <title>Selenium for automation using Python</title>
      <dc:creator>MADHUPRIYA MAHALINGAN</dc:creator>
      <pubDate>Thu, 02 Apr 2026 15:34:44 +0000</pubDate>
      <link>https://forem.com/madhupriyamahalingan/selenium-for-automation-using-python-5g6h</link>
      <guid>https://forem.com/madhupriyamahalingan/selenium-for-automation-using-python-5g6h</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In today’s fast-paced software development environment, delivering high-quality applications quickly is essential. Manual testing alone is no longer sufficient to meet the demands of speed, accuracy, and scalability. This is where automation testing plays a crucial role. Among the various tools available, Selenium has emerged as one of the most widely used solutions for automating web applications, especially when combined with Python.&lt;/p&gt;

&lt;p&gt;This article explores what Selenium is, why it is used for automation, and its relevance in Python-based automation testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Selenium?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium is an open-source automation tool designed specifically for testing web applications. It allows testers and developers to simulate user interactions with web browsers, such as clicking buttons, entering text, navigating pages, and validating content.&lt;/p&gt;

&lt;p&gt;Selenium provides a suite of tools, with the most important being Selenium WebDriver. WebDriver enables direct communication with browsers like Chrome, Firefox, Safari, and Edge, allowing automation scripts to control browser behaviour programmatically.&lt;/p&gt;

&lt;p&gt;Because Selenium supports multiple programming languages—including Python, Java, and JavaScript—it is highly flexible and widely adopted across different technology stacks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Do We Use Selenium for Automation?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium is preferred for automation testing due to several key advantages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Source and Cost-Effective&lt;/li&gt;
&lt;li&gt;Cross-Browser Compatibility&lt;/li&gt;
&lt;li&gt;Supports Multiple Languages&lt;/li&gt;
&lt;li&gt;Real Browser Testing&lt;/li&gt;
&lt;li&gt;Integration with Testing Frameworks&lt;/li&gt;
&lt;li&gt;Scalability&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Selenium with Python in Automation Testing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Python has become one of the most popular languages for Selenium automation due to its simplicity and efficiency. The combination of Selenium and Python provides a powerful and user-friendly approach to test automation.&lt;/p&gt;

&lt;p&gt;Why Python?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Easy to learn and read&lt;/li&gt;
&lt;li&gt;Less verbose compared to other languages&lt;/li&gt;
&lt;li&gt;Strong community support&lt;/li&gt;
&lt;li&gt;Rich ecosystem of libraries and frameworks&lt;/li&gt;
&lt;li&gt;How Selenium Works with Python&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In a typical setup, Python scripts use Selenium WebDriver to control a browser. These scripts perform actions such as:&lt;br&gt;
Opening web pages&lt;br&gt;
Locating elements using selectors&lt;br&gt;
Performing user actions (click, type, scroll)&lt;br&gt;
Validating expected outcomes&lt;/p&gt;

&lt;p&gt;Importance of Selenium Automation in Python Testing&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Rapid Test Development&lt;/li&gt;
&lt;li&gt;Maintainable Code&lt;/li&gt;
&lt;li&gt;Framework Support&lt;/li&gt;
&lt;li&gt;Integration Capabilities&lt;/li&gt;
&lt;li&gt;Suitable for Beginners and Experts&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium has established itself as a cornerstone tool in web automation testing due to its flexibility, reliability, and wide adoption. When combined with Python, it becomes even more powerful, offering a simple yet effective way to build robust automation frameworks.By leveraging Selenium automation in Python, organisations can improve test coverage, reduce manual effort, and accelerate their development cycles, ultimately leading to better software and enhanced user experiences.&lt;/p&gt;

</description>
      <category>python</category>
      <category>selenium</category>
      <category>test</category>
      <category>automation</category>
    </item>
    <item>
      <title>Common Manual Testing Techniques and The Future Of Manual Testing in the age of AI</title>
      <dc:creator>MADHUPRIYA MAHALINGAN</dc:creator>
      <pubDate>Sat, 07 Feb 2026 06:28:34 +0000</pubDate>
      <link>https://forem.com/madhupriyamahalingan/common-manual-testing-techniques-and-the-future-of-manual-testing-in-the-age-of-ai-485o</link>
      <guid>https://forem.com/madhupriyamahalingan/common-manual-testing-techniques-and-the-future-of-manual-testing-in-the-age-of-ai-485o</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Introduction&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software testing plays a critical role in ensuring that applications function correctly, meet user expectations, and maintain high quality standards.Manual testing involves human testers executing test cases without automation tools, allowing them to evaluate software from a real user’s perspective.Manual testing techniques help testers identify defects, validate requirements, and ensure smooth user experiences. &lt;br&gt;
This blog explores common manual testing types and techniques, explains Boundary Value Analysis and Decision Table Testing in detail, and discusses how manual testing is evolving in the modern AI-driven software industry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1.Manual Testing Techniques&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Manual testing techniques are structured methods used to design and execute test cases effectively. Unlike testing types, which define what to test, techniques focus on how to test.&lt;br&gt;
&lt;strong&gt;Equivalence Partitioning&lt;/strong&gt;&lt;br&gt;
One widely used technique is Equivalence Partitioning, where input data is divided into logical groups with similar expected outcomes. Testers select representative values from each group, reducing the number of test cases while maintaining coverage.&lt;br&gt;
&lt;strong&gt;Boundary Value Analysis&lt;/strong&gt; &lt;br&gt;
Boundary Value Analysis focuses on testing values at the edges of acceptable input ranges. Since many defects occur at boundaries, this technique helps identify errors related to limits and validations.&lt;br&gt;
&lt;strong&gt;Decision Table Testing&lt;/strong&gt;&lt;br&gt;
Another important method is Decision Table Testing, which is used when software behaviour depends on multiple conditions. Testers create tables that map different input combinations to expected outcomes, ensuring all possible scenarios are tested systematically.&lt;br&gt;
&lt;strong&gt;Exploratory Testing&lt;/strong&gt;&lt;br&gt;
Exploratory Testing allows testers to interact with the application freely without predefined scripts. This technique encourages creativity and helps uncover hidden defects and usability problems that structured tests might overlook.&lt;br&gt;
&lt;strong&gt;Error Guessing&lt;/strong&gt;&lt;br&gt;
Error Guessing relies on the tester’s experience to anticipate potential problem areas, such as incorrect data handling or missing validations.&lt;br&gt;
By applying these techniques, testers can create efficient test cases, improve coverage, and identify defects early in the development process.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Manual Testing Types&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Manual testing types refer to the different levels or categories of testing activities performed during the software development process. &lt;br&gt;
&lt;strong&gt;Functional Testing&lt;/strong&gt;&lt;br&gt;
One of the most common testing types is Functional Testing, which ensures that the application behaves according to business requirements and produces expected outputs for given inputs. Testers validate features such as login systems, payment processes, and data processing workflows.&lt;br&gt;
&lt;strong&gt;Integration Testing&lt;/strong&gt;&lt;br&gt;
Another important type is Integration Testing, where testers verify that different modules or components work correctly when combined. This type is essential for identifying issues related to data flow, communication errors, or incorrect interactions between system components.&lt;br&gt;
&lt;strong&gt;System Testing&lt;/strong&gt;&lt;br&gt;
System Testing evaluates the entire application as a complete system. Testers check whether the software meets overall requirements, including performance, reliability, and compatibility. This stage simulates real-world usage scenarios to confirm that the product is ready for deployment.&lt;br&gt;
&lt;strong&gt;User Acceptance Testing (UAT)&lt;/strong&gt;&lt;br&gt;
User Acceptance Testing (UAT) is conducted from the end-user’s perspective. Stakeholders or clients verify whether the application meets business expectations and is suitable for real-world use before release.&lt;br&gt;
&lt;strong&gt;Regression Testing&lt;/strong&gt;&lt;br&gt;
In addition, Regression Testing is performed whenever new features or updates are introduced. Testers ensure that previously working functionalities remain unaffected by recent changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2.Boundary Value Analysis (BVA)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Boundary Value Analysis is a test design technique that focuses on the edges or limits of input ranges. Defects frequently occur at boundary points due to incorrect logic or validation errors. Therefore, testing boundary values is often more effective than testing typical input values.&lt;br&gt;
&lt;strong&gt;How It Works?&lt;/strong&gt;&lt;br&gt;
Testers identify minimum and maximum limits for input fields and then create test cases around those boundaries. Both valid and invalid boundary values are tested to ensure the system handles inputs correctly.&lt;br&gt;
For example, if a field accepts values between 18 and 60:&lt;br&gt;
Valid boundaries: 18 and 60&lt;br&gt;
Invalid boundaries: 17 and 61&lt;br&gt;
Testing these values helps detect issues such as incorrect validations or “off-by-one” errors.&lt;br&gt;
&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Efficient test coverage with fewer test cases&lt;/li&gt;
&lt;li&gt;High probability of detecting defects&lt;/li&gt;
&lt;li&gt;Useful for numeric and data-driven applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Random Example&lt;/strong&gt;&lt;br&gt;
In a banking application, a transfer limit might allow transactions up to ₹50,000. Testing values like ₹49,999, ₹50,000, and ₹50,001 ensures the system properly enforces transaction limits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3.Decision Table Testing&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Decision Table Testing is used when application behaviour depends on multiple conditions and their combinations. It helps testers systematically evaluate complex business rules and ensure all scenarios are covered.&lt;br&gt;
&lt;strong&gt;How It Works?&lt;/strong&gt;&lt;br&gt;
Testers create a table listing:&lt;br&gt;
Conditions (inputs or rules)&lt;br&gt;
Possible actions or outcomes&lt;br&gt;
Each row represents a unique combination of conditions, allowing testers to verify how the system responds in each case.&lt;br&gt;
&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear visualisation of complex logic&lt;/li&gt;
&lt;li&gt;Reduces the risk of missing scenarios&lt;/li&gt;
&lt;li&gt;Improves test coverage for rule-based systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Random Example&lt;/strong&gt;&lt;br&gt;
Consider an e-commerce application offering discounts based on:&lt;br&gt;
User type (new or existing)&lt;br&gt;
Purchase amount (above or below ₹5,000)&lt;br&gt;
A decision table ensures that testers verify all possible combinations and confirm the correct discount is applied.&lt;br&gt;
Decision tables are especially useful in financial systems, insurance applications, and e-commerce platforms where multiple business rules interact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;4.The Future of Manual Testing in the Age of AI&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Artificial Intelligence is rapidly transforming the software industry, and software testing is no exception. With the rise of intelligent automation, predictive analytics, and AI-driven testing tools, many people wonder whether manual testing will disappear. However, instead of replacing manual testing, AI is reshaping its purpose and expanding the role of human testers.&lt;br&gt;
Despite these advancements, manual testing continues to play a vital role in quality assurance. Human testers are better equipped to evaluate user interfaces, assess workflow logic, and detect unexpected issues that may not be captured by automated scripts. Exploratory testing, usability testing, and ethical decision-making require human insight and cannot be fully automated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How AI Supports Manual Testing&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI does not eliminate manual testing; instead, it enhances testers’ capabilities by:&lt;/li&gt;
&lt;li&gt;Automating repetitive regression tests&lt;/li&gt;
&lt;li&gt;Generating test data and test cases&lt;/li&gt;
&lt;li&gt;Predicting high-risk areas&lt;/li&gt;
&lt;li&gt;Prioritising tests for faster releases
These improvements allow manual testers to focus on complex testing activities such as exploratory testing and usability evaluation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills Required for Future Manual Testers&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To remain competitive in the AI era, manual testers should:&lt;/li&gt;
&lt;li&gt;Understand automation and AI tools&lt;/li&gt;
&lt;li&gt;Develop analytical and critical thinking skills&lt;/li&gt;
&lt;li&gt;Focus on user experience and usability testing&lt;/li&gt;
&lt;li&gt;Collaborate closely with developers and product teams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The role of testers is shifting from executing repetitive tests to providing strategic insights into product quality.&lt;br&gt;
The future of manual testing lies in collaboration with AI rather than competition against it. Testers will increasingly act as quality analysts who interpret AI results, design meaningful test strategies, and ensure that software meets real business and user needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Conclusion&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Manual testing remains a cornerstone of software quality assurance despite the rapid advancement of automation and artificial intelligence.&lt;br&gt;
Boundary Value Analysis focuses on testing input limits where errors frequently occur, while Decision Table Testing ensures comprehensive coverage of complex business rules.&lt;br&gt;
Although AI is transforming the testing landscape by automating repetitive tasks and improving efficiency, manual testing is far from obsolete. Instead, its role is evolving toward more strategic and creative activities that require human insight.&lt;br&gt;
The future of manual testing lies in combining human expertise with AI-driven tools. Testers who adapt to these technological changes while maintaining strong analytical and user-focused skills will continue to play an essential role in delivering high-quality software.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>beginners</category>
      <category>softwaredevelopment</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
