<?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>DEV Community: gokila selvaraj</title>
    <description>The latest articles on DEV Community by gokila selvaraj (@gokila_selvaraj_8a3278587).</description>
    <link>https://dev.to/gokila_selvaraj_8a3278587</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%2F1555778%2F97e2487c-7073-4182-9380-d4881864ec12.jpg</url>
      <title>DEV Community: gokila selvaraj</title>
      <link>https://dev.to/gokila_selvaraj_8a3278587</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gokila_selvaraj_8a3278587"/>
    <language>en</language>
    <item>
      <title>Python Selenium Architecture</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Sun, 05 Oct 2025 15:51:30 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/python-selenium-architecture-1mgn</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/python-selenium-architecture-1mgn</guid>
      <description>&lt;p&gt;*&lt;em&gt;Python Selenium Architecture *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Selenium architecture defines how your Python test script interacts with the browser using Selenium WebDriver.&lt;/p&gt;

&lt;p&gt;It consists of four main components:&lt;/p&gt;

&lt;p&gt;Components of Selenium Architecture&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;*&lt;em&gt;Selenium Client Library *&lt;/em&gt;&lt;br&gt;
• Selenium provides libraries for multiple languages: Python, Java, C#, Ruby, JavaScript, etc.&lt;br&gt;
• Testers write test scripts using the Python Selenium library (selenium package).&lt;br&gt;
• Example:&lt;br&gt;
• from selenium import webdriver&lt;br&gt;
• driver = webdriver.Chrome()&lt;br&gt;
• driver.get("&lt;a href="https://www.google.com%22" rel="noopener noreferrer"&gt;https://www.google.com"&lt;/a&gt;)&lt;br&gt;
This script is written in Python, but Selenium converts it into a form the browser understands.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JSON Wire Protocol / W3C WebDriver Protocol&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;• Acts as a communication bridge between your Python script and the browser driver.&lt;br&gt;
• Your Python commands are converted into JSON (JavaScript Object Notation) format and sent to the browser driver via HTTP.&lt;br&gt;
• Example:&lt;br&gt;
o   Python command: driver.get("&lt;a href="https://www.google.com%22" rel="noopener noreferrer"&gt;https://www.google.com"&lt;/a&gt;)&lt;br&gt;
o   Is converted to a JSON request, sent to the ChromeDriver, telling it to open the page.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Browser Drivers&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;• Each browser has its own driver that communicates between Selenium and the actual browser:&lt;br&gt;
o   Chrome → ChromeDriver&lt;br&gt;
o   Firefox → GeckoDriver&lt;br&gt;
o   Edge → EdgeDriver&lt;br&gt;
o   Safari → SafariDriver&lt;br&gt;
• The driver receives commands in JSON format from Selenium and translates them into native browser actions.&lt;br&gt;
• Communication happens through HTTP requests on a specific port.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Real Browsers&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;• Finally, the browser executes those actions:&lt;br&gt;
o   Open a URL&lt;br&gt;
o   Click a button&lt;br&gt;
o   Enter text&lt;br&gt;
o   Capture screenshots&lt;br&gt;
• The browser performs the operation and sends the response (status or error message)&lt;br&gt;
 back through the same route:&lt;/p&gt;

&lt;p&gt;• Browser → Browser Driver → JSON Response → Selenium Client Library → Python Script&lt;br&gt;
 Selenium Architecture Flow Diagram &lt;br&gt;
Python Test Script&lt;br&gt;
   ↓&lt;br&gt;
Selenium Client Library (Python Bindings)&lt;br&gt;
   ↓&lt;br&gt;
JSON Wire / W3C WebDriver Protocol&lt;br&gt;
   ↓&lt;br&gt;
Browser Driver (e.g., ChromeDriver)&lt;br&gt;
   ↓&lt;br&gt;
Web Browser (e.g., Chrome)&lt;/p&gt;

&lt;p&gt;Response Path (Back):&lt;/p&gt;

&lt;p&gt;Web Browser → Browser Driver → JSON Response → Selenium Library → Python Script&lt;/p&gt;

&lt;p&gt;driver.find_element("id", "loginBtn").click()&lt;/p&gt;

&lt;p&gt;step-by-step:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; The Python Selenium library sends a command: click element with ID 'loginBtn'.&lt;/li&gt;
&lt;li&gt; It is converted into JSON format and sent via HTTP to the browser driver.&lt;/li&gt;
&lt;li&gt; ChromeDriver receives it and tells the Chrome browser to perform a click.&lt;/li&gt;
&lt;li&gt; The browser performs the click and sends a success response back to Selenium.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Significance of the Python Virtual Environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Python virtual environment is an isolated workspace that allows you to install and manage Python packages independently for each project — without affecting your system-wide (global) Python installation.&lt;/p&gt;

&lt;p&gt;It helps developers and testers maintain different versions of Python libraries for multiple projects on the same system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Project A (OrangeHRM Automation): needs selenium==4.10.0&lt;/p&gt;

&lt;p&gt;Project B (Banking Automation): needs selenium==4.5.0&lt;/p&gt;

&lt;p&gt;If both use the same global Python, there’ll be a version conflict.&lt;br&gt;
With virtual environments, both can coexist peacefully:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Component-Role&lt;/strong&gt;&lt;br&gt;
Selenium Client Library-Converts Python commands into JSON&lt;br&gt;
JSON Wire/W3C Protocol-Defines the communication standard&lt;br&gt;
Browser Driver-Translates JSON commands into browser actions&lt;br&gt;
Browser-Executes user actions (click, type, etc.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefit:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefit-Description&lt;/strong&gt;&lt;br&gt;
Isolation-Keeps dependencies separate per project&lt;br&gt;
Reproducibility-Ensures same package versions across systems&lt;br&gt;
Stability-Prevents conflicts with global Python packages&lt;br&gt;
Portability-Easy to share via requirements.txt&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Manual Testing Techniques</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Sun, 05 Oct 2025 15:21:59 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/manual-testing-techniques-4ji7</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/manual-testing-techniques-4ji7</guid>
      <description>&lt;p&gt;1️⃣ &lt;strong&gt;Common Manual Testing Techniques:&lt;/strong&gt;&lt;br&gt;
Manual testing techniques help testers create effective test cases to find defects without using automation tools.&lt;br&gt;
&lt;strong&gt;A. Equivalence Partitioning (EP)&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;Definition&lt;/strong&gt;: Divide input data into valid and invalid groups so that testing one value from each group is enough.&lt;br&gt;
• &lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
Suppose a form accepts ages 18 to 60.&lt;br&gt;
o   Valid partition: 18–60 → test with 25&lt;br&gt;
o   Invalid partitions: &amp;lt;18 and &amp;gt;60 → test with 17 and 61&lt;br&gt;
This reduces test cases while maintaining coverage.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;B. Boundary Value Analysis (BVA)&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;Definition&lt;/strong&gt;: Test values at the edges of valid and invalid input ranges since most errors occur at boundaries.&lt;br&gt;
• &lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
For input range 1–100:&lt;br&gt;
Test with 0, 1, 2, 99, 100, and 101&lt;br&gt;
→ Ensures correct handling at lower and upper limits.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;C. Decision Table Testing&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;Definition:&lt;/strong&gt; Test all possible combinations of inputs and conditions using a table.&lt;br&gt;
• &lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
A loan system grants approval only if both conditions are true:&lt;/p&gt;

&lt;p&gt;o   Salary &amp;gt; ₹50,000&lt;br&gt;
o   Experience &amp;gt; 5 years&lt;/p&gt;

&lt;p&gt;Rule    Salary &amp;gt; 50k    Experience &amp;gt; 5  Loan Approved&lt;/p&gt;

&lt;p&gt;1   No  No  No&lt;br&gt;
2   Yes No  No&lt;br&gt;
3   No  Yes No&lt;br&gt;
4   Yes Yes ✅ Yes&lt;/p&gt;

&lt;p&gt;• → This ensures you don’t miss any logical combinations.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;D. State Transition Testing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Definition:&lt;/strong&gt; Test how the system behaves when it moves between different states.&lt;br&gt;
• &lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
ATM System:&lt;/p&gt;

&lt;p&gt;o   State 1: Card Inserted → Enter PIN → Withdraw → Card Ejected.&lt;/p&gt;

&lt;p&gt;You test transitions like:&lt;/p&gt;

&lt;p&gt;o   Enter wrong PIN 3 times → Card Blocked (Invalid transition)&lt;br&gt;
o   Enter correct PIN → Proceed (Valid transition)&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;E. Error Guessing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Definition&lt;/strong&gt;: Based on the tester’s experience and intuition to find common errors.&lt;br&gt;
• &lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
o   Entering blank username/password fields&lt;br&gt;
o   Typing special characters in numeric fields&lt;br&gt;
o   Uploading invalid file formats&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;2️⃣ Boundary Value Analysis (BVA)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A black-box testing technique where testers focus on values at boundaries of input domains.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
An online exam system accepts marks between 0 and 100.&lt;br&gt;
• Test inputs: -1, 0, 1, 99, 100, 101&lt;br&gt;
• Expected results:&lt;br&gt;
o   -1 → Invalid (below range)&lt;br&gt;
o   0 → Valid (minimum)&lt;br&gt;
o   1 → Valid&lt;br&gt;
o   99 → Valid&lt;br&gt;
o   100 → Valid (maximum)&lt;br&gt;
o   101 → Invalid (above range)&lt;br&gt;
Why use it?&lt;/p&gt;

&lt;p&gt;Because developers often make off-by-one errors, and these are caught only by testing boundary conditions.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;3️⃣ Decision Table Testing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Definition:&lt;br&gt;
A systematic way to test all combinations of conditions and actions in business logic using a decision matrix.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
For an online discount rule:&lt;br&gt;
• Condition 1: Customer is a member&lt;br&gt;
• Condition 2: Purchase amount &amp;gt; ₹5000&lt;/p&gt;

&lt;p&gt;Rule    Member  Amount &amp;gt; 5000   Discount (%)&lt;br&gt;
1   No  No  0&lt;br&gt;
2   Yes No  5&lt;br&gt;
3   No  Yes 10&lt;br&gt;
4   Yes Yes 15&lt;/p&gt;

&lt;p&gt;→ Ensures all logical rules are verified.&lt;br&gt;
When to Use:&lt;br&gt;
When multiple conditions determine the outcome (e.g., banking, insurance, or e-commerce systems).&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;4️⃣ The Future of Manual Testing in the Age of AI&lt;br&gt;
Current Trend:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI and automation are revolutionizing testing, but manual testing is still important for human judgment, creativity, and usability validation.&lt;br&gt;
Automation vs Manual Testing:&lt;br&gt;
Area    Automation/AI Strength  Manual Testing Strength&lt;br&gt;
Repetitive Regression Tests Fast and consistent Not efficient&lt;br&gt;
Exploratory Testing Limited context Deep insight &amp;amp; creativity&lt;br&gt;
UI/UX Feedback  Detects layout issues   Understands user emotions&lt;br&gt;
Complex Business Scenarios  Needs rules to learn    Humans adapt easily&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
• AI Testing: Can detect if a button is missing.&lt;br&gt;
• Manual Tester: Can say “The button placement confuses users.”&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>testing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>selenium</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Sun, 05 Oct 2025 15:09:16 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/selenium-5271</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/selenium-5271</guid>
      <description>&lt;p&gt;What is selenium?&lt;br&gt;
Selenium is a widely used tool for testing web-based applications that checks if they are working as expected. It is a primary preference amongst testers for cross-browser testing and is viewed as one of the most reliable systems for web application automation evaluation.&lt;br&gt;
Selenium has four Components of Selenium components, which are &lt;br&gt;
                1) Selenium IDE&lt;br&gt;
                2) Selenium RC&lt;br&gt;
                3) Selenium Web-Driver&lt;br&gt;
                4) Selenium GRID&lt;br&gt;
Selenium is an open-source tool for automating web browsers. It helps to test the website functionality easily and check the regular performance across different browsers and systems through cross-browser testing .&lt;br&gt;
      •Automated Web Application Testing: Selenium is mainly used for the       automation testing of web applications across different browsers and platforms.&lt;br&gt;
     •Cross-Browser Testing: It checks the compatibility of web applications across various web browsers like Chrome, Firefox, Safari, and Edge.&lt;br&gt;
     •Web Scraping: Automates the filter of the data from websites for purposes such as data analysis and monitoring with easy automation.&lt;br&gt;
     •Continuous Integration/Continuous Deployment (CI/CD): Integrates with CI/CD tools like Jenkins to enable continuous testing as part of the development pipeline and automation.&lt;br&gt;
     •Functional Testing: It checks the functionality of a web application against the specified requirements of the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why we use selenium Testing in Automation?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Language and Framework Support&lt;/li&gt;
&lt;li&gt;Open Source Availability&lt;/li&gt;
&lt;li&gt;Multi-Browser Support&lt;/li&gt;
&lt;li&gt;Support Across Various Operating Systems&lt;/li&gt;
&lt;li&gt;Ease Of Implementation&lt;/li&gt;
&lt;li&gt;Reusability and Integrations&lt;/li&gt;
&lt;li&gt;Flexibility&lt;/li&gt;
&lt;li&gt;Parallel Test Execution and Faster Go-to-Market&lt;/li&gt;
&lt;li&gt;Less Hardware Usage&lt;/li&gt;
&lt;li&gt;Easy to Learn and Use&lt;/li&gt;
&lt;li&gt;Constant Updates&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What is relevance the selenium automation testing using python?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;prefer Python for writing Selenium test scripts because of its simplicity, readability, and ease of use. Python’s clear and concise syntax allows for faster script development and easier maintenance, which is crucial in testing scenarios.&lt;/p&gt;

&lt;p&gt;Additionally, Python has a rich set of libraries and frameworks that complement Selenium, making it easier to handle complex tasks such as data manipulation, reporting, and integration with other tools.&lt;/p&gt;

&lt;p&gt;Python’s extensive community support and documentation also provide valuable resources for troubleshooting and improving test scripts. These factors make Python a popular choice for Selenium automation.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>testing</category>
      <category>tooling</category>
      <category>beginners</category>
    </item>
    <item>
      <title>SELENIUM ARCHITECTURE/PYTHON VIRTUAL ENVIRONMENT</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Sun, 13 Oct 2024 11:00:47 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/selenium-architecturepython-virtual-environment-2d5</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/selenium-architecturepython-virtual-environment-2d5</guid>
      <description>&lt;p&gt;**What is Selenium WebDriver?&lt;br&gt;
Selenium WebDriver is a powerful automation tool used for testing web applications across different browsers and platforms. It provides a programming interface to interact with web elements and perform various actions such as clicking buttons, entering text, navigating pages, and validating elements. Unlike Selenium RC, WebDriver directly communicates with the browser using native methods, making it faster and more reliable. WebDriver supports multiple programming languages like Java, Python, C#, etc., making it versatile for developers and testers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;It also enables parallel testing, allowing multiple test cases to run simultaneously across different browsers, improving efficiency and reducing testing time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebDriver’s architecture includes a client library, WebDriver API, browser drivers, and the actual browsers, ensuring seamless automation and accurate testing results.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Architecture of Selenium WebDriver (Selenium 3)&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;The architecture of Selenium WebDriver in Selenium 3 follows a client-server model. Selenium provides client libraries for different programming languages like java, Python, Ruby, etc. These libraries’ aim is to allow Selenium WebDriver to interact with the control browser. JSON Protocol acts as a communication bridge between the client libraries and browser drivers. Client libraries send commands in JSON format over HTTP requests. Browser drivers understand the JSON wire Protocol and translate the commands into action within the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components of Selenium 3 WebDriver&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Client Library&lt;/strong&gt;: This component provides language-specific bindings or APIs (java, Python, Ruby, etc. ) that allow users to write test scripts and interact with the WebDriver.&lt;br&gt;
JSON Wire Protocol over HTTP: The JSON Wire Protocol is a standardized protocol used for communication between the Selenium Client Library and the Browser Drivers. It defines a set of commands and responses in JSON format exchanged over HTTP requests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser Drivers&lt;/strong&gt;: These are executable files that establish a communication channel between the WebDriver and the actual web browsers such as Chrome, Firefox, Safari, etc. Each browser requires its specific driver (e.g., ChromeDriver, GeckoDriver, etc.) to enable WebDriver to control and automate browser actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real Browsers&lt;/strong&gt;: These are web browsers like Google Chrome, Mozilla Firefox, Microsoft Edge, etc., where the actual testing and automation take place. The WebDriver interacts with these browsers through their respective browser drivers to perform actions like clicking elements, filling forms, navigating pages, and validating content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Working of Selenium 3 WebDriver:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1)Write a test script using the Selenium client library in your preferred language.&lt;br&gt;
2)The test script sends commands through the client library to interact with the browser.&lt;br&gt;
3)The client library converts commands into JSON format and sends them via HTTP request.&lt;br&gt;
4)The browser driver decodes JSON commands and interacts with the real web browser.&lt;br&gt;
5)Browser performs actions (e.g., clicking buttons, entering text) on the web page based on the received commands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture of Selenium 4 WebDriver:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium four brings significant improvements to the architecture, often with the introduction of the W3C WebDriver Protocol. This protocol standardizes interactions between the purchaser and server, selling higher compatibility and consistency across one-of-a-kind implementations. Moreover, Selenium 4 affords a better guide for present-day net technology and progressed overall performance. &lt;/p&gt;

&lt;p&gt;The architecture of Selenium 4 WebDriver has made a key change compared to Selenium 3 which is a communication protocol. Like Selenium 3, Selenium 4 offers client libraries for various programming languages, which help WebDriver interact with the browser. &lt;/p&gt;

&lt;p&gt;WebDriver W3C protocol is the major change in Selenium 4 as it completely replaces JSON Protocol which was in Selenium 3.&lt;/p&gt;

&lt;p&gt;The WebDriver W3C Protocol is defined by the World Wide Web Consortium (W3C) that ensure better compatibility and stability on different browsers and client libraries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components of Selenium 4 WebDriver:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Client Library&lt;/strong&gt;: This component provides language-specific bindings or APIs (e.g., Java, Python, Ruby) that allow users to write test scripts and interact with the WebDriver.&lt;br&gt;
WebDriver W3C Protocol: WebDriver is a protocol that provides a standard way for web browsers to communicate with an automation script. In Selenium 4, it focuses on W3C WebDriver Protocol, for better consistency and compatibility across different browsers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser Drivers&lt;/strong&gt;: These are executable files that establish a communication channel between the WebDriver and the actual web browsers such as Chrome, Firefox, Safari, etc. Each browser requires its specific driver (e.g., ChromeDriver, GeckoDriver, etc.) to enable WebDriver to control and automate browser actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real Browsers&lt;/strong&gt;: These are web browsers like Google Chrome, Mozilla Firefox, Microsoft Edge, etc., where the actual testing and automation take place. The WebDriver interacts with these browsers through their respective browser drivers to perform actions like clicking elements, filling forms, navigating pages, and validating content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Working of Selenium 3 WebDriver:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1)Write your test script using the Selenium client library in your comfortable language.&lt;br&gt;
2)The test script sends commands through the client library to interact with the browser.&lt;br&gt;
3)Client library converts commands into WebDriver W3C Protocol format.&lt;br&gt;
4)The browser driver receives commands via WebDriver W3C Protocol.&lt;br&gt;
5)Browser drivers understand commands and interact with real web browsers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Difference between Architecture of Selenium 3 &amp;amp; Selenium 4&lt;br&gt;
**&lt;br&gt;
**&lt;em&gt;Selenium 3&lt;/em&gt; :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1)JSON wire web driver protocol&lt;br&gt;
2)client-server model communication&lt;br&gt;
3)Limited browser Compatibility&lt;br&gt;
4)Moderate performance &lt;br&gt;
5)Limited Support for Modern Web Tech&lt;br&gt;
6)Interactions with Browser(e.g., Gecko Driver, Chrome driver)&lt;br&gt;
7)Limited future-proofing with reliance on browser-specific implementations.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;**Selenium&lt;/em&gt; 4:**&lt;/p&gt;

&lt;p&gt;1)W3C WebDriver Protocol&lt;br&gt;
2)client-server model communication&lt;br&gt;
3)improved browser Compatibility&lt;br&gt;
4)improved performance &lt;br&gt;
5)Better Support for Modern Web Tech&lt;br&gt;
6)Interactions with Browser(e.g., Gecko Driver, Chrome driver)&lt;br&gt;
7)Improved future-proofing with reliance on browser-specific implementations.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;**Python Virtual Environment:&lt;/em&gt;*&lt;/p&gt;

&lt;p&gt;1)It is sandboxing of the Python projects&lt;br&gt;
2)It is a module which helps us to keep the required dependencies of a particular project separated by creating an isolated environment.&lt;/p&gt;

&lt;p&gt;For that you need to install Python “virtualenv” module system wide&lt;/p&gt;

&lt;p&gt;Install Python Virtual Environment:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Pip install virtualenv&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Verify Python Virtual Environment&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Virtualenv --version&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Create Virtual Environment&lt;/p&gt;

&lt;p&gt;It will create a project folder &lt;/p&gt;

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

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

&lt;p&gt;Activate Virtual Environment&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scripts\activate&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Deactivate Virtual Environment&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scripts\deactivate&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Install Python Selenium Module&lt;/p&gt;

&lt;p&gt;_pip install seleniu_m&lt;/p&gt;

&lt;p&gt;Install Python WebDriver Manager Module&lt;/p&gt;

&lt;p&gt;&lt;em&gt;pip install webdriver-manager&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is selenium ? why do we use in Automation?</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Sun, 13 Oct 2024 07:14:39 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/what-is-selenium-why-do-we-use-in-automation-192b</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/what-is-selenium-why-do-we-use-in-automation-192b</guid>
      <description>

&lt;p&gt;Selenium is a popular open-source tool used for automating web browser interactions. It allows developers and testers to write scripts that simulate user actions like clicking buttons, entering text, navigating between web pages, and interacting with various web elements. Selenium supports multiple programming languages (such as Python, Java, C#, and JavaScript) and can be integrated with various testing frameworks for seamless automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Reasons for Using Selenium in Automation&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cross-Browser Testing&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium supports multiple browsers like Chrome, Firefox, &lt;br&gt;
 Safari, and Edge. This allows you to automate web testing across &lt;br&gt;
 different browsers to ensure consistent behavior.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supports Multiple Operating Systems&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium runs on various operating systems, including Windows, &lt;br&gt;
   Linux, and macOS, which makes it versatile for cross-platform &lt;br&gt;
   testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration with Test Frameworks&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium can be integrated with various test frameworks like &lt;br&gt;
  TestNG, JUnit, and PyTest, allowing developers to organize and &lt;br&gt;
  manage test cases efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parallel Execution:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium Grid allows you to run tests in parallel on different &lt;br&gt;
 machines and browsers, significantly reducing testing time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Easy to Use for Web Testing&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium interacts directly with the browser's DOM, which means it can handle complex web applications, including dynamic content and AJAX.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supports Multiple Languages&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium provides bindings for several languages, which means you can write tests in your preferred programming language (Python, Java, C#, etc.).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Handles Dynamic Elements&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium can handle dynamic web elements that change without page reloads (e.g., AJAX-based elements).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Free and Open Source&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium is completely free and supported by a large community, making it a cost-effective option for automation testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser Compatibility&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Selenium ensures that web applications function consistently across different browsers, versions, and platforms, helping in identifying browser-specific bugs.&lt;/p&gt;

&lt;p&gt;By automating repetitive and time-consuming manual tasks (such as regression tests), Selenium helps increase productivity, improve testing accuracy, and enable continuous integration/continuous deployment (CI/CD) workflows.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Advantages of Selenium Testing *&lt;/em&gt;&lt;br&gt;
Selenium automated testing comes with several benefits, such as: &lt;/p&gt;

&lt;p&gt;1)Selenium has proven to be accurate with results thus making it extremely reliable.&lt;/p&gt;

&lt;p&gt;2)Since selenium is open-source, anybody willing to learn testing can begin at no cost.&lt;/p&gt;

&lt;p&gt;3)Selenium supports a broad spectrum of programming languages like Python, PHP, Perl, and Ruby.&lt;/p&gt;

&lt;p&gt;4)Selenium supports various browsers like Chrome, Firefox, and Opera, among others.&lt;/p&gt;

&lt;p&gt;5)Selenium is easy to implement and doesn’t require the engineer to have in-depth knowledge of the tool.&lt;/p&gt;

&lt;p&gt;6)Selenium has plenty of re-usability and add-ons&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;limitations of Selenium testing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1)Since Selenium is open-source, it doesn’t have a developer community and hence doesn’t have a reliable tech support.&lt;/p&gt;

&lt;p&gt;2)Selenium cannot test mobile or desktop applications.&lt;/p&gt;

&lt;p&gt;3)Selenium offers limited support for image testing.&lt;/p&gt;

&lt;p&gt;4)Selenium has limited support for test management. Selenium is often integrated with tools like JUnit and TestNG for this purpose.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TESTING TECHNIQUES</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Tue, 04 Jun 2024 08:03:23 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/testing-techniques-1f6n</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/testing-techniques-1f6n</guid>
      <description>&lt;p&gt;1)BOUNDARY VALUE ANALYSIS:&lt;/p&gt;

&lt;p&gt;Boundary Value Analysis is based on testing the boundary values of valid and invalid partitions. The behavior at the edge of the equivalence partition is more likely to be incorrect than the behavior within the partition, so boundaries are an area where testing is likely to yield defects.&lt;/p&gt;

&lt;p&gt;It checks for the input values near the boundary that have a higher chance of error. Every partition has its maximum and minimum values and these maximum and minimum values are the boundary values of a partition.&lt;/p&gt;

&lt;p&gt;1.A boundary value for a valid partition is a valid boundary value.&lt;br&gt;
2.A boundary value for an invalid partition is an invalid boundary value.&lt;/p&gt;

&lt;p&gt;For each variable we check-&lt;/p&gt;

&lt;p&gt;1.Minimum value.&lt;br&gt;
2.Just above the minimum.&lt;br&gt;
3.Nominal Value.&lt;br&gt;
4.Just below Max value.&lt;br&gt;
5.Max value.&lt;/p&gt;

&lt;p&gt;Example: Consider a system that accepts ages from 18 to 56.&lt;br&gt;
Boundary Value Analysis(Age accepts 18 to 56)&lt;/p&gt;

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

&lt;p&gt;(min-1)&lt;br&gt;
  17&lt;/p&gt;

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

&lt;p&gt;(min, min + 1, nominal, max – 1, max)&lt;/p&gt;

&lt;p&gt;18, 19, 37, 55, 56&lt;/p&gt;

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

&lt;p&gt;(max + 1)&lt;/p&gt;

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

&lt;p&gt;Valid Test Cases: Valid test cases for the above can be any value entered greater than 17 and less than 57.&lt;/p&gt;

&lt;p&gt;Enter the value- 18.&lt;br&gt;
Enter the value- 19.&lt;br&gt;
Enter the value- 37.&lt;br&gt;
Enter the value- 55.&lt;br&gt;
Enter the value- 56.&lt;br&gt;
Invalid Cases: When any value less than 18 and greater than 56 is entered.&lt;/p&gt;

&lt;p&gt;Enter the value- 17.&lt;br&gt;
Enter the value- 57.&lt;/p&gt;

&lt;p&gt;2)Decision table technique in Black box testing:&lt;/p&gt;

&lt;p&gt;The decision table technique is one of the widely used case design techniques for black box testing. This is a systematic approach where various input combinations and their respective system behavior are captured in a tabular form.&lt;/p&gt;

&lt;p&gt;That's why it is also known as a cause-effect table. This technique is used to pick the test cases systematically; it saves testing time and gives good coverage to the testing area of the software application.&lt;/p&gt;

&lt;p&gt;Decision table technique is appropriate for the functions that have a logical relationship between two and more than two inputs.&lt;/p&gt;

&lt;p&gt;This technique is related to the correct combination of inputs and determines the result of various combinations of input. To design the test cases by decision table technique, we need to consider conditions as input and actions as output.&lt;/p&gt;

&lt;p&gt;EXAMPLE:&lt;br&gt;
Most of us use an email account, and when you want to use an email account, for this you need to enter the email and its associated password.&lt;/p&gt;

&lt;p&gt;If both email and password are correctly matched, the user will be directed to the email account's homepage; otherwise, it will come back to the login page with an error message specified with "Incorrect Email" or "Incorrect Password."&lt;/p&gt;

&lt;p&gt;Now, let's see how a decision table is created for the login function in which we can log in by using email and password. Both the email and the password are the conditions, and the expected result is action.&lt;/p&gt;

&lt;p&gt;Now, let's see how a decision table is created for the login function in which we can log in by using email and password. Both the email and the password are the conditions, and the expected result is action.&lt;/p&gt;

&lt;p&gt;EMAIL     (1)               T             T           F            F&lt;/p&gt;

&lt;p&gt;PASSWORD  (2)               T             F           T            F&lt;/p&gt;

&lt;p&gt;EXPECTED RESULT          ACCOUNT PAGE  INCORRECT    INCORRECT   INCORRECT&lt;br&gt;
  (ACTION )                               PASSWORD     EMAIL     EMAIL&lt;/p&gt;

&lt;p&gt;In the table, there are four conditions or test cases to test the login function. In the first condition if both email and password are correct, then the user should be directed to the account's Homepage.&lt;/p&gt;

&lt;p&gt;In the second condition if the email is correct, but the password is incorrect then the function should display Incorrect Password. In the third condition if the email is incorrect, but the password is correct, then it should display Incorrect Email.&lt;/p&gt;

&lt;p&gt;Now, in fourth and last condition both email and password are incorrect then the function should display Incorrect Email.&lt;/p&gt;

&lt;p&gt;In this example, all possible conditions or test cases have been included, and in the same way, the testing team also includes all possible test cases so that upcoming bugs can be cured at testing level.&lt;/p&gt;

&lt;p&gt;To find the number of all possible conditions, the tester uses 2n formula where n denotes the number of inputs; in the example, there is the number of inputs is 2 (one is true and the second is false).&lt;/p&gt;

&lt;p&gt;Number of possible conditions = 2^ Number of Values of the second condition&lt;br&gt;
Number of possible conditions =2^2 = 4&lt;/p&gt;

&lt;p&gt;While using the decision table technique, a tester determines the expected output, if the function produces expected output, then it is passed in testing, and if not then it is failed. Failed software is sent back to the development team to fix the defect.&lt;/p&gt;

&lt;p&gt;3)USE CASE TESTING:&lt;/p&gt;

&lt;p&gt;Use case testing is a type of black box testing technique that helps you to identify test cases that form part of the entire system on a transaction basis from start to finish. It is used for functional testing to find defects in a developed system.&lt;/p&gt;

&lt;p&gt;It is important in identifying gaps related to your software application that could have been missed during component testing. With use case testing, you can determine the software quality through end to end testing methodology.&lt;/p&gt;

&lt;p&gt;Below are a few characteristics of use case testing.&lt;/p&gt;

&lt;p&gt;It helps to organize the functional requirements so that requirements can be referred to when required.&lt;br&gt;
Describes the main flow and alternate flow of events.&lt;br&gt;
Captures the goals and behavior requirements of different actors.&lt;br&gt;
Capture the paths or scenarios for better system understanding.&lt;/p&gt;

&lt;p&gt;One example of a use case in software testing is conducting regression testing. This involves retesting previously implemented features to ensure that recent changes or bug fixes haven't introduced new issues. It helps maintain the overall quality and stability of the software during development and updates.&lt;/p&gt;

&lt;p&gt;4)LCSAJ TESTING:&lt;/p&gt;

&lt;p&gt;LCSAJ stands for Linear Code Sequence and Jump. LCSAJ testing is a white-box testing methodology used to determine the code coverage, i.e., what percentage of the code is executed with the existing test cases. It helps in designing new test cases, which can increase the coverage of the code under test. Once the code coverage reaches a certain level, we can stop the testing. Hence, LCSAJ methodology also helps in determining when to stop the testing of software.&lt;/p&gt;

&lt;p&gt;White-box testing is a software testing technique in which we test the internal structure and the software code under test.&lt;/p&gt;

&lt;p&gt;A single LCSAJ has the following three components:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start of the segment, which can be a branch or the start of the program&lt;/li&gt;
&lt;li&gt;The end of the segment, which can be the end of a branch or the end of the program.&lt;/li&gt;
&lt;li&gt;A specific target line&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The code executes sequentially from the start of the segment until the end of the segment, and then the control flow breaks the sequential execution and jumps to the target line.                        &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                     #START#
                       .
                       .
                       .
                       . (SEQUENTIAL EXECUTION)
                       .

                      #END#
                       .
                       .
                       . (CONTROL FLOW JUMPS)
                       .

                    #TARGET
                     LINE#
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>what is manual testing, Benefits and drawbacks of manual testing?</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Tue, 04 Jun 2024 06:55:54 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/what-is-manual-testing-benefits-and-drawbacks-of-manual-testing-g3h</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/what-is-manual-testing-benefits-and-drawbacks-of-manual-testing-g3h</guid>
      <description>&lt;p&gt;MANUAL TESTING: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Manual testing is a software testing process in which test cases are executed manually without using any automated tool. All test cases are executed by the tester manually according to the end user's perspective. It ensures whether the application is working, as mentioned in the requirement document or not. Test cases are planned and implemented to complete almost 100 percent of the software application. Test case reports are also generated manually.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manual Testing is one of the most fundamental testing processes as it can find both visible and hidden defects of the software. The difference between the expected output and the output, given by the software, is defined as a defect. The developer fixed the defects and handed it to the tester for retesting.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manual testing is mandatory for every newly developed software before automated testing. This testing requires great effort and time, but it gives the surety of bug-free software. Manual Testing requires knowledge of manual testing techniques but not of any automated testing tool.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;WHY WE NEED MANUAL TESTING:&lt;/p&gt;

&lt;p&gt;Whenever an application comes into the market, and it is unstable or has a bug or issues or creates a problem while end-users are using it.&lt;/p&gt;

&lt;p&gt;If we don't want to face these kinds of problems, we need to perform one round of testing to make the application bug-free and stable and deliver a quality product to the client, because if the application is bug-free, the end-user will use the application more conveniently.&lt;/p&gt;

&lt;p&gt;If the test engineer does manual testing, he/she can test the application from an end-user perspective and get more familiar with the product, which helps them to write the correct test cases of the application and give quick feedback on the application.&lt;/p&gt;

&lt;p&gt;TYPES OF MANUAL TESTING:&lt;/p&gt;

&lt;p&gt;White Box Testing&lt;br&gt;
Black Box Testing&lt;br&gt;
Gray Box Testing&lt;/p&gt;

&lt;p&gt;WHITE BOX TESTING:&lt;/p&gt;

&lt;p&gt;The white box testing is done by the Developer, who checks every line of code before giving it to the Test Engineer. Since the code is visible to the Developer during the testing, that's why it is also known as White box testing.&lt;/p&gt;

&lt;p&gt;BLACK BOX TESTING:&lt;/p&gt;

&lt;p&gt;The black box testing is done by the Test Engineer, who can check the functionality of an application or the software according to the customer /client's needs. In this, the code is not visible while performing the testing; that's why it is known as black-box testing.&lt;/p&gt;

&lt;p&gt;GRAY BOX TESTING:&lt;/p&gt;

&lt;p&gt;Gray box testing is a combination of white box and Black box testing. It can be performed by a person who knew both coding and testing. And if a single person performs white box, as well as black-box testing for the application, is known as Gray box testing.&lt;/p&gt;

&lt;p&gt;ADVANTAGE OF MANUAL TESTING:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It does not require programming knowledge while using the Black box 
method.&lt;/li&gt;
&lt;li&gt;It is used to test dynamically changing GUI designs.&lt;/li&gt;
&lt;li&gt;Tester interacts with software as a real user so that they can
discover usability and user interface issues.&lt;/li&gt;
&lt;li&gt;It ensures that the software is a hundred percent bug-free.&lt;/li&gt;
&lt;li&gt;It is cost-effective.&lt;/li&gt;
&lt;li&gt;Easy to learn for new testers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;DISADVANTAGE OF MANUAL TESTING:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It requires a large number of human resources.&lt;/li&gt;
&lt;li&gt;It is very time-consuming.&lt;/li&gt;
&lt;li&gt;Tester develops test cases based on their skills and experience. There is no evidence that they have covered all functions or not.&lt;/li&gt;
&lt;li&gt;Test cases cannot be used again. Need to develop separate test cases for each new software.&lt;/li&gt;
&lt;li&gt;It does not provide testing on all aspects of testing.&lt;/li&gt;
&lt;li&gt;Since two teams work together, sometimes it is difficult to understand each other's motives, which can mislead the process.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;EXAMPLES:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Jira&lt;/li&gt;
&lt;li&gt;Bugzilla&lt;/li&gt;
&lt;li&gt;Mantis &lt;/li&gt;
&lt;li&gt;ZapNUnit &lt;/li&gt;
&lt;li&gt;Tessy &lt;/li&gt;
&lt;li&gt;LoadRunner &lt;/li&gt;
&lt;li&gt;Citrus&lt;/li&gt;
&lt;li&gt;SonarQube
&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>functional testing and Non functional testing with examples</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Sat, 01 Jun 2024 16:32:44 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/functional-testing-and-non-functional-testing-with-examples-4oi4</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/functional-testing-and-non-functional-testing-with-examples-4oi4</guid>
      <description>&lt;p&gt;functional testing&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It checks the application's activities and actions.&lt;/li&gt;
&lt;li&gt;It is based on the needs of the consumer.&lt;/li&gt;
&lt;li&gt;It aids in improving the application's functionality.&lt;/li&gt;
&lt;li&gt;Manual testing can be used to carry out functional testing.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;unit testing&lt;/li&gt;
&lt;li&gt;component testing&lt;/li&gt;
&lt;li&gt;Integration Testing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Non Functional testing &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It checks the application functionality.&lt;/li&gt;
&lt;li&gt;It is based on the customer's expectations.&lt;/li&gt;
&lt;li&gt;It aids in enhancing the application's performance.&lt;/li&gt;
&lt;li&gt;Manually performing non-functional testing is difficult.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;performance testing &lt;/li&gt;
&lt;li&gt;load testing&lt;/li&gt;
&lt;li&gt;stress testing
&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>software testing?need to about software testing?Relevance of software testing?</title>
      <dc:creator>gokila selvaraj</dc:creator>
      <pubDate>Sat, 01 Jun 2024 11:00:25 +0000</pubDate>
      <link>https://dev.to/gokila_selvaraj_8a3278587/software-testingneed-to-about-software-testingrelevance-of-software-testing-3597</link>
      <guid>https://dev.to/gokila_selvaraj_8a3278587/software-testingneed-to-about-software-testingrelevance-of-software-testing-3597</guid>
      <description>&lt;p&gt;software testing is the process of assessing the functionality of a software program. the process checks for errors and bugs in the outcome of the application.&lt;/p&gt;

&lt;p&gt;Testing helps identify the failures early in the development process.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
