<?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: Namrata saha</title>
    <description>The latest articles on Forem by Namrata saha (@namrata_saha_f82d00e587b0).</description>
    <link>https://forem.com/namrata_saha_f82d00e587b0</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%2F3118669%2F14f83d18-3e56-4f2e-9a53-7030eb7e5d6d.png</url>
      <title>Forem: Namrata saha</title>
      <link>https://forem.com/namrata_saha_f82d00e587b0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/namrata_saha_f82d00e587b0"/>
    <language>en</language>
    <item>
      <title>Python Selenium architecture</title>
      <dc:creator>Namrata saha</dc:creator>
      <pubDate>Sun, 07 Sep 2025 06:08:55 +0000</pubDate>
      <link>https://forem.com/namrata_saha_f82d00e587b0/python-selenium-architecture-4ehj</link>
      <guid>https://forem.com/namrata_saha_f82d00e587b0/python-selenium-architecture-4ehj</guid>
      <description>&lt;p&gt;Selenium WebDriver architecture:&lt;/p&gt;

&lt;p&gt;The architecture of Selenium WebDriver tells about the Working process of Selenium internally. Selenium is one of the browser’s automation framework, with which we can communicate with the browser and automate the end to end tests of web applications.&lt;/p&gt;

&lt;p&gt;The API of selenium WebDriver helps in connecting between browser and languages. Every Browser has several logical executions on the browser. The above image represents multiple elements of Selenium WebDriver Architecture. &lt;/p&gt;

&lt;p&gt;The main four components of Selenium WebDriver are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Selenium Client Library or Language Bindings&lt;/li&gt;
&lt;li&gt;Browser Driver&lt;/li&gt;
&lt;li&gt;Browsers.&lt;/li&gt;
&lt;li&gt;JSON(JavaScript Object Notation) WIRE PROTOCOL Over HTTP Client
&lt;strong&gt;The significance of python virtual environment&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Python Virtual Environment:&lt;br&gt;
A Python Virtual Environment is an isolated space where we can work on our own Python projects, separately from our system installed Python.&lt;/p&gt;

&lt;p&gt;we can set up our own libraries and dependencies without affecting the system Python.&lt;/p&gt;

&lt;p&gt;To create a virtual environment in Python, we have to use “virtualenv”&lt;/p&gt;

&lt;p&gt;A virtual environment is a tool that helps to keep dependencies required by different projects separate by creating isolated Python virtual environments for them. This is one of the most important tools that most Python developers use.&lt;br&gt;
**Example:&lt;/p&gt;

&lt;p&gt;To create a virtual environment, you can use the virtualenv tool:&lt;br&gt;
pip install virtualenv&lt;br&gt;
virtualenv myenv&lt;br&gt;
source myenv/bin/activate  # On Windows: myenv\Scripts\activate&lt;/p&gt;

&lt;p&gt;Once activated, you can install Selenium and other packages using pip.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample Selenium Script in Python&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;**from selenium import webdriver&lt;br&gt;
from selenium.webdriver.chrome.service import Service&lt;br&gt;
from selenium.webdriver.common.by import By&lt;/p&gt;

&lt;h2&gt;
  
  
  Set up the Chrome driver
&lt;/h2&gt;

&lt;p&gt;service = Service()&lt;br&gt;
driver = webdriver.Chrome(service=service)&lt;/p&gt;

&lt;h2&gt;
  
  
  Open a webpage
&lt;/h2&gt;

&lt;p&gt;driver.get("&lt;a href="https://example.com%22" rel="noopener noreferrer"&gt;https://example.com"&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Find an element and print its text
&lt;/h2&gt;

&lt;p&gt;element = driver.find_element(By.TAG_NAME, "h1")&lt;br&gt;
print(element.text)&lt;/p&gt;

&lt;h2&gt;
  
  
  Close the browser
&lt;/h2&gt;

&lt;p&gt;driver.quit()&lt;/p&gt;

</description>
      <category>selenium</category>
      <category>python</category>
      <category>automation</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Selenium automation testing using Python</title>
      <dc:creator>Namrata saha</dc:creator>
      <pubDate>Mon, 21 Jul 2025 12:26:34 +0000</pubDate>
      <link>https://forem.com/namrata_saha_f82d00e587b0/selenium-automation-testing-using-python-137i</link>
      <guid>https://forem.com/namrata_saha_f82d00e587b0/selenium-automation-testing-using-python-137i</guid>
      <description>&lt;p&gt;What is Selenium?&lt;br&gt;
Selenium is an open-source tool used for automating tests on web-based applications. In simple terms, it helps testers simulate user actions on websites using web browsers like Google Chrome, Firefox, Edge, Safari, and Internet Explorer. This ensures that a web application functions as expected across different browsers.&lt;/p&gt;

&lt;p&gt;A key point to remember is that Selenium only supports testing of web applications. It does not work for desktop software or mobile applications, which is one of its primary limitations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features and Uses of Selenium&lt;/strong&gt;&lt;br&gt;
Selenium is widely used in the software industry for several reasons:&lt;/p&gt;

&lt;p&gt;Language Flexibility:&lt;br&gt;
Testers can write automation scripts in various programming languages such as Python, Java, C#, PHP, Ruby, .NET, and Perl, offering flexibility based on the team’s skills.&lt;/p&gt;

&lt;p&gt;Cross-Platform Support:&lt;br&gt;
Selenium supports multiple operating systems including Windows, macOS, Linux, and UNIX, allowing scripts to be developed on one OS and executed on another.&lt;/p&gt;

&lt;p&gt;Cross-Browser Compatibility:&lt;br&gt;
Selenium works across browsers like Chrome, Firefox, Safari, Opera, and Edge, making it a great choice for testing the consistency of a web application across environments.&lt;/p&gt;

&lt;p&gt;Integration with Tools:&lt;br&gt;
Selenium can be integrated with TestNG, JUnit, Maven, Jenkins, and Docker to manage test cases, generate reports, and perform continuous testing in CI/CD pipelines.&lt;/p&gt;

&lt;p&gt;Why Use Selenium with Python?&lt;br&gt;
Among all supported languages, Python is one of the most popular choices for writing Selenium test scripts due to its simplicity and strong library support.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Easy to Learn and Read&lt;br&gt;
Python has a clean and intuitive syntax, making it easier to write and understand test scripts. This is helpful for both beginners and experienced testers, speeding up development and reducing maintenance time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rich Library Ecosystem&lt;br&gt;
Python offers a range of libraries and tools that enhance Selenium automation:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;PyTest: A powerful framework for writing simple to complex tests, supporting fixtures and parallel execution.&lt;/p&gt;

&lt;p&gt;Pandas: Useful for managing and processing test data.&lt;/p&gt;

&lt;p&gt;Allure and HTMLTestRunner: Tools for generating detailed and visually rich test reports.&lt;/p&gt;

&lt;p&gt;These tools help build robust and maintainable automation frameworks.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Strong Tool Integration
Selenium with Python integrates smoothly with tools like Jenkins for continuous integration. It can also work with cloud-based testing platforms like BrowserStack or Sauce Labs, enabling tests to be run on different devices, browsers, and operating systems remotely.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This level of integration improves test coverage and allows for scalable and efficient test execution.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Rapid Test Development&lt;br&gt;
Python’s simplicity, along with its pre-built libraries and frameworks, allows for faster script writing and testing. This enables quicker prototyping and shorter development cycles—especially valuable in agile projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cross-Browser &amp;amp; Cross-Platform Testing&lt;br&gt;
Selenium WebDriver supports running Python-based scripts on multiple browsers and platforms. This ensures the application behaves consistently across different user environments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Time and Cost Efficiency&lt;br&gt;
Automating repetitive test cases using Selenium and Python saves manual effort, speeds up testing, and reduces errors. This leads to faster releases and lower testing costs, making the process efficient and business-friendly.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Selenium is a reliable and powerful tool for web automation testing. When paired with Python, it offers a combination of simplicity, flexibility, and speed. Python’s clear syntax, strong library support, and easy integration with modern tools make it an excellent choice for writing Selenium scripts. While Selenium is limited to web applications, it remains one of the most effective tools for ensuring quality and consistency across browsers and platforms.&lt;/p&gt;

&lt;p&gt;If your focus is on automating web application testing efficiently and affordably, Selenium with Python is a smart and practical solution.&lt;/p&gt;

</description>
      <category>selenium</category>
      <category>python</category>
      <category>automation</category>
    </item>
    <item>
      <title>The Role of Manual Testing: Techniques and Future in the AI Era</title>
      <dc:creator>Namrata saha</dc:creator>
      <pubDate>Sun, 04 May 2025 17:04:21 +0000</pubDate>
      <link>https://forem.com/namrata_saha_f82d00e587b0/the-role-of-manual-testing-techniques-and-future-in-the-ai-era-3kog</link>
      <guid>https://forem.com/namrata_saha_f82d00e587b0/the-role-of-manual-testing-techniques-and-future-in-the-ai-era-3kog</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Manual testing:&lt;/strong&gt;&lt;br&gt;
Manual testing is a software testing process where testers manually execute test cases without using automation tools. It helps ensure that an application functions correctly and meets user requirements. Any deviation from an expected behavior or output could be considered a defect. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Importance of Testing in Software Development&lt;/strong&gt;&lt;br&gt;
In the fast-paced world of software development, delivering high-quality, reliable applications is essential. Testing plays a crucial role in ensuring software meets user expectations, functions correctly, and remains free from defects. Without proper testing, software can fail, causing financial losses, security vulnerabilities, and negative user experiences.&lt;/p&gt;

&lt;p&gt;Common Manual Testing Techniques&lt;br&gt;
&lt;strong&gt;1. Boundary Value Analysis (BVA)&lt;/strong&gt;&lt;br&gt;
Boundary Value Analysis is based on the observation that defects often occur at the edges of input domains rather than in the middle. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example: Suppose an application accepts age inputs between 18 and 60:&lt;/li&gt;
&lt;li&gt;Valid test cases: 18, 19, 59, 60 (boundary values)&lt;/li&gt;
&lt;li&gt;Invalid test cases: 17, 61 (just outside the boundary)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Decision Table Testing&lt;/strong&gt;&lt;br&gt;
Decision Table Testing is ideal for applications with complex business logic, where multiple conditions govern different possible outcomes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example: Consider an e-commerce discount system:&lt;/li&gt;
&lt;li&gt;If a user is a loyalty member AND purchases above $100, they get a 20% discount.&lt;/li&gt;
&lt;li&gt;If the user is NOT a loyalty member, but purchases above $100, they get 10% discount.&lt;/li&gt;
&lt;li&gt;Purchases below $100 get no discount.
A decision table ensures all possible scenarios are covered, preventing overlooked logic errors.&lt;/li&gt;
&lt;/ul&gt;

&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%2Ffwlhi7jbz21nehtyykr5.jpeg" 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%2Ffwlhi7jbz21nehtyykr5.jpeg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Future of Manual Testing in the Age of AI&lt;/strong&gt;&lt;br&gt;
With the rapid advancement of Artificial Intelligence (AI) and Machine Learning (ML) in software development, the role of manual testing is evolving rather than disappearing. Instead of replacing testers, AI is enhancing their efficiency and shifting their focus toward higher-value tasks. Here’s how manual testing is expected to change in the coming years.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Increased Focus on Exploratory Testing&lt;/strong&gt;&lt;br&gt;
One of the most valuable aspects of manual testing is exploratory testing, where testers apply human intuition, creativity, and domain expertise to uncover hidden defects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. AI-Augmented Testing for Better Efficiency&lt;/strong&gt;&lt;br&gt;
Manual testers will increasingly collaborate with AI-powered tools to enhance testing strategies. AI can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze past defect trends to suggest high-risk areas for testing.&lt;/li&gt;
&lt;li&gt;Automatically generate optimized test scenarios.&lt;/li&gt;
&lt;li&gt;Help testers prioritize critical test cases, improving coverage and efficiency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Manual Testing in AI Systems Validation&lt;/strong&gt;&lt;br&gt;
With AI-driven applications becoming mainstream, testers will play a vital role in validating AI logic, bias, and fairness. Testing AI systems requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evaluating whether AI models make fair decisions (bias testing).&lt;/li&gt;
&lt;li&gt;Ensuring results align with expected business rules.&lt;/li&gt;
&lt;li&gt;Detecting cases where AI-generated outputs seem illogical or inconsistent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Manual testing remains an integral part of software quality assurance. While AI and automation accelerate test execution, they don’t replace human intuition, exploratory techniques, or ethical oversight. Techniques like Boundary Value Analysis and Decision Table Testing ensure structured testing, while the future demands testers who can adapt to AI-enhanced workflows.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwaredevelopment</category>
      <category>automation</category>
    </item>
    <item>
      <title>The Role of Manual Testing: Techniques and Future in the AI Era</title>
      <dc:creator>Namrata saha</dc:creator>
      <pubDate>Sun, 04 May 2025 17:04:21 +0000</pubDate>
      <link>https://forem.com/namrata_saha_f82d00e587b0/the-role-of-manual-testing-techniques-and-future-in-the-ai-era-47dd</link>
      <guid>https://forem.com/namrata_saha_f82d00e587b0/the-role-of-manual-testing-techniques-and-future-in-the-ai-era-47dd</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Manual testing:&lt;/strong&gt;&lt;br&gt;
Manual testing is a software testing process where testers manually execute test cases without using automation tools. It helps ensure that an application functions correctly and meets user requirements. Any deviation from an expected behavior or output could be considered a defect. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Importance of Testing in Software Development&lt;/strong&gt;&lt;br&gt;
In the fast-paced world of software development, delivering high-quality, reliable applications is essential. Testing plays a crucial role in ensuring software meets user expectations, functions correctly, and remains free from defects. Without proper testing, software can fail, causing financial losses, security vulnerabilities, and negative user experiences.&lt;/p&gt;

&lt;p&gt;Common Manual Testing Techniques&lt;br&gt;
&lt;strong&gt;1. Boundary Value Analysis (BVA)&lt;/strong&gt;&lt;br&gt;
Boundary Value Analysis is based on the observation that defects often occur at the edges of input domains rather than in the middle. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example: Suppose an application accepts age inputs between 18 and 60:&lt;/li&gt;
&lt;li&gt;Valid test cases: 18, 19, 59, 60 (boundary values)&lt;/li&gt;
&lt;li&gt;Invalid test cases: 17, 61 (just outside the boundary)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Decision Table Testing&lt;/strong&gt;&lt;br&gt;
Decision Table Testing is ideal for applications with complex business logic, where multiple conditions govern different possible outcomes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example: Consider an e-commerce discount system:&lt;/li&gt;
&lt;li&gt;If a user is a loyalty member AND purchases above $100, they get a 20% discount.&lt;/li&gt;
&lt;li&gt;If the user is NOT a loyalty member, but purchases above $100, they get 10% discount.&lt;/li&gt;
&lt;li&gt;Purchases below $100 get no discount.
A decision table ensures all possible scenarios are covered, preventing overlooked logic errors.&lt;/li&gt;
&lt;/ul&gt;

&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%2Ffwlhi7jbz21nehtyykr5.jpeg" 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%2Ffwlhi7jbz21nehtyykr5.jpeg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Future of Manual Testing in the Age of AI&lt;/strong&gt;&lt;br&gt;
With the rapid advancement of Artificial Intelligence (AI) and Machine Learning (ML) in software development, the role of manual testing is evolving rather than disappearing. Instead of replacing testers, AI is enhancing their efficiency and shifting their focus toward higher-value tasks. Here’s how manual testing is expected to change in the coming years.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Increased Focus on Exploratory Testing&lt;/strong&gt;&lt;br&gt;
One of the most valuable aspects of manual testing is exploratory testing, where testers apply human intuition, creativity, and domain expertise to uncover hidden defects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. AI-Augmented Testing for Better Efficiency&lt;/strong&gt;&lt;br&gt;
Manual testers will increasingly collaborate with AI-powered tools to enhance testing strategies. AI can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze past defect trends to suggest high-risk areas for testing.&lt;/li&gt;
&lt;li&gt;Automatically generate optimized test scenarios.&lt;/li&gt;
&lt;li&gt;Help testers prioritize critical test cases, improving coverage and efficiency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Manual Testing in AI Systems Validation&lt;/strong&gt;&lt;br&gt;
With AI-driven applications becoming mainstream, testers will play a vital role in validating AI logic, bias, and fairness. Testing AI systems requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evaluating whether AI models make fair decisions (bias testing).&lt;/li&gt;
&lt;li&gt;Ensuring results align with expected business rules.&lt;/li&gt;
&lt;li&gt;Detecting cases where AI-generated outputs seem illogical or inconsistent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Manual testing remains an integral part of software quality assurance. While AI and automation accelerate test execution, they don’t replace human intuition, exploratory techniques, or ethical oversight. Techniques like Boundary Value Analysis and Decision Table Testing ensure structured testing, while the future demands testers who can adapt to AI-enhanced workflows.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwaredevelopment</category>
      <category>testi</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
