<?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: santhiya p</title>
    <description>The latest articles on DEV Community by santhiya p (@santhiya_p_128807e268e3b1).</description>
    <link>https://dev.to/santhiya_p_128807e268e3b1</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3826394%2F0560ca69-aa7a-471a-8dc4-198da0aae269.png</url>
      <title>DEV Community: santhiya p</title>
      <link>https://dev.to/santhiya_p_128807e268e3b1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/santhiya_p_128807e268e3b1"/>
    <language>en</language>
    <item>
      <title>Python Selenium Architecture</title>
      <dc:creator>santhiya p</dc:creator>
      <pubDate>Sat, 27 Jun 2026 05:50:39 +0000</pubDate>
      <link>https://dev.to/santhiya_p_128807e268e3b1/python-selenium-architecture-33mj</link>
      <guid>https://dev.to/santhiya_p_128807e268e3b1/python-selenium-architecture-33mj</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python Selenium Architecture&lt;/strong&gt;&lt;br&gt;
Selenium is one of the most widely used frameworks for web automation testing. When paired with Python, it provides a powerful way to automate browser interactions. Its architecture is based on a client-server model, designed to ensure flexibility, scalability, and cross-browser compatibility.&lt;/p&gt;

&lt;p&gt;Key Components:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Selenium Client Libraries&lt;br&gt;
Selenium supports multiple programming languages (Python, Java, C#, Ruby, etc.). In Python, developers write test scripts using the selenium library. These Scripts contain commands such as find_element, click, or send_keys.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JSON Wire Protocol/ W3C WebDriver Protocol&lt;br&gt;
Earlier versions of selenium used the Json Wire Protocol to Communicate between client and server.&lt;br&gt;
Selenium 4 now fully supports the W3C WebDriver protocol, ensuring better compliance and stability across modern browsers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Browser Drivers&lt;br&gt;
Each browser requires a specific driver to translate selenium commands into native browser actions.&lt;br&gt;
Examples:&lt;br&gt;
Chrome Driver for Google Chrome&lt;br&gt;
Gecko Driver for Mozilla Firefox&lt;br&gt;
Edge Driver for Microsoft Edge&lt;br&gt;
These drivers act as servers that receive commands from the client library and execute them in the browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Browser&lt;br&gt;
The final execution happens inside the browser.&lt;br&gt;
The driver launches the browser instance, performs actions (clicks, navigation, form filling), and returns responses to the client.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;A python script sends commands using Selenium client library.&lt;/li&gt;
&lt;li&gt;These commands are converted into HTTP requests following the WebDriver protocol.&lt;/li&gt;
&lt;li&gt;The browser driver receives the requests and translates them into native browser actions.&lt;/li&gt;
&lt;li&gt;the browser executes the actions and sends back the results (Success/Failure, element states, etc.)&lt;/li&gt;
&lt;li&gt;The driver communicates the response back to the python script.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Advantages of the Architecture&lt;br&gt;
Language Flexibility: Python is just one of many supported languages.&lt;br&gt;
Cross Browser Support: Works across Chrome, Firefox, Edge, Safari, etc.&lt;br&gt;
Scalability: Selenium Grid allows parallel execution across multiple machines and browsers.&lt;br&gt;
Standardization: W3C Compliance ensures consistent behavior across different environment.&lt;/p&gt;

&lt;p&gt;Conclusion:&lt;br&gt;
Python Selenium architecture is built on a client-server model, where the Python script (client) communicates with browser drivers (server) using the WebDriver protocol. This design ensures robust automation across browsers, making selenium a cornerstone of modern test automation frameworks. Its modularity, scalability, and compliance with web standards make it indispensable for QA engineers and developers alike.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>automation</category>
      <category>python</category>
      <category>testing</category>
    </item>
    <item>
      <title>Selenium</title>
      <dc:creator>santhiya p</dc:creator>
      <pubDate>Thu, 04 Jun 2026 04:54:22 +0000</pubDate>
      <link>https://dev.to/santhiya_p_128807e268e3b1/selenium-4fb2</link>
      <guid>https://dev.to/santhiya_p_128807e268e3b1/selenium-4fb2</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Selenium?&lt;/strong&gt;&lt;br&gt;
Selenium is widely used open-source framework for automation web browsers, primarily for testing web applications but also for automation repetitive browser tacks.&lt;br&gt;
It provides tools like:&lt;br&gt;
WebDriver, IDE, and Grid that allow developers to simulate user interactions, run tests across multiple browsers, and scale automation across environments.&lt;br&gt;
In shorts, Selenium is a tool for automating web browsers. In simple terms, it lets you write code that can open a browser, click button, type into forms, and check if a website works the way it should.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why selenium is used for automation&lt;/strong&gt;&lt;br&gt;
Open Source&lt;br&gt;
Selenium is free to use and has support from a large community of developers and testers.&lt;/p&gt;

&lt;p&gt;Cross-Browser Testing&lt;br&gt;
Automation Scripts can run on different browser, ensuring that the web application works correctly for all users.&lt;/p&gt;

&lt;p&gt;Multiple Language Support&lt;br&gt;
Testers can write automation scripts in the programming language the prefer.&lt;/p&gt;

&lt;p&gt;Platform Compatibility&lt;br&gt;
Selenium works on windows, macOS, and Linux.&lt;/p&gt;

&lt;p&gt;Integration Testing Tools&lt;br&gt;
It can easily integrate with frameworks such as Py Test or Unit test and with CI/CD tools to run automated tests during software development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relevance of Selenium in Automation testing using Python&lt;/strong&gt;&lt;br&gt;
Selenium provides the browser automation power, and python provides the simplicity and flexibility to make automation testing efficient.&lt;/p&gt;

&lt;p&gt;Python Benefits&lt;br&gt;
Readable Syntax - Easier to learn and maintain.&lt;br&gt;
Testing Framework - Integrates with pytest, unittest&lt;br&gt;
Cross platform - Works on Window, macOS, Linux.&lt;br&gt;
Scalability - Combine with Selenium Grid for parallel testing&lt;br&gt;
Community driven - Strong support and frequent updates.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Common Manual Testing Techniques &amp; The Future of manual testing in the Age of AI</title>
      <dc:creator>santhiya p</dc:creator>
      <pubDate>Mon, 16 Mar 2026 07:40:44 +0000</pubDate>
      <link>https://dev.to/santhiya_p_128807e268e3b1/common-manual-testing-techniques-the-future-of-manual-testing-in-the-age-of-ai-58m5</link>
      <guid>https://dev.to/santhiya_p_128807e268e3b1/common-manual-testing-techniques-the-future-of-manual-testing-in-the-age-of-ai-58m5</guid>
      <description>&lt;p&gt;I.COMMON MANUAL TESTING TECHNIQUES: -&lt;br&gt;
           Manual Testing is the most fundamental approach in the Software Testing Life Cycle (STLC). It is the Process of manually testing software applications without the use of automation tools. The tester acts as the end-user and validates whether the software behaves as expected.&lt;br&gt;
           Manual Testing remains essential for validating Functionality, Usability, and User Experience in ways automation cannot fully replicate. It Leverages human intuition, creativity, and domain expertise to uncover defects that Scripted tests may miss.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;White Box Testing&lt;br&gt;
      Testing each and every line of code is called as white box testing.&lt;br&gt;
      Testing which is done by the 'Developer' is called as white box testing.&lt;br&gt;
      It is also called glass box / Open box / Unit Testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Black Box Testing&lt;br&gt;
      To verify the functionality of an application against the requirement specification is called as black box Testing.&lt;br&gt;
      Testing which is done by the 'Test Engineer' is called as black box testing.&lt;br&gt;
      It is also called functional testing or behavior testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Smoke Testing&lt;br&gt;
      To Verify the stability of the entire application and ensure that critical functionalities are working before proceeding to more detailed testing.&lt;br&gt;
      It covers the entire application or system, checking all major functionalities to ensure they are operational.&lt;br&gt;
      Typically, documented and scripted, with predefined test cases to cover critical functionalities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sanity Testing&lt;br&gt;
      To confirm that specific Changes or bug fixes work correctly and have not caused any new issues in the application.&lt;br&gt;
      It Focuses on specific components or functionalities that have been changes or fixed, ensuring they work as intended.&lt;br&gt;
      Usually not documented it may involve ad-hoc testing based on the change made.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User Acceptance Testing&lt;br&gt;
     User Acceptance testing (UAT) serves the purpose of ensuring that the software meets the business requirements and is ready for deployment by validation its functionality in a real- world environment.&lt;br&gt;
     It allows end-users to test the software to ensure it meets their needs and operates as expected, helping to identify and fix any issues before the final release.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Regression Testing&lt;br&gt;
     Testing existing functionality after changes or updates it is called as regression testing.&lt;br&gt;
     Ensuring new code doesn't break old features.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;II.BOUNDARY VALUE ANALYSIS: -&lt;br&gt;
         Boundary value analysis is a test technique used to verify that software functions correctly when processing boundary values. such as the minimum values of input parameters.&lt;br&gt;
         It is important to apply this technique because boundary values are often a source of errors in software applications.&lt;br&gt;
         By using boundary value analysis, as a software tester, you can ensure that the software functions correctly in all situations where boundary values play a role.&lt;br&gt;
         The analysis is especially important for cross-functional teams involved in the development and testing of software.&lt;br&gt;
         By Using this techniques, cross-functional teams can improve the quality of software and errors at an early stage. This is important to prevent delays and additional costs in the development process.&lt;/p&gt;

&lt;p&gt;III.DECISION TABLE TESTING: -&lt;br&gt;
         Decision Table testing is a Black Box Testing technique that represents the relationship between input conditions and expected system actions in a structured table. Each column in the table defines a rule a unique combination of input conditions and the corresponding action the system should take.&lt;br&gt;
        The Decision table eliminates this problem by systematically enumerating every valid combination, assigning the expected action for each, and converting each column into a test case. the result is complete, structured, and traceable test coverage for any system driven by conditional business logic.&lt;/p&gt;

&lt;p&gt;IV.THE FUTURE OF MANUAL TESTING IN THE AGE OF AI&lt;br&gt;
Manual Testing&lt;br&gt;
       Manual testing involves human testers executing test cases without automation tools. It emphasizes intuition, creativity, and user-centric validation. Common techniques include exploratory testing, usability testing, regression testing, and acceptance testing. While automation excels at repetitive tasks, manual testing shines in areas requiring human judgment, empathy, and adaptability.&lt;/p&gt;

&lt;p&gt;Manual testing in the age of AI&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hybrid Testing Models - The Future lies in combining AI-driven automation with manual testing. Routine tasks will be automated, while human testers focus on exploratory, usability, and domain specific testing.&lt;/li&gt;
&lt;li&gt;Shift in Teaster Roles manual testers will evolve into quality advocates.&lt;/li&gt;
&lt;li&gt;Collaborate with AI tools.&lt;/li&gt;
&lt;li&gt;Interpret AI generated insights.&lt;/li&gt;
&lt;li&gt;Focus on user centric validation.&lt;/li&gt;
&lt;li&gt;Bridge gaps between technical teams and end - users.&lt;/li&gt;
&lt;li&gt;AI Augmented Manual Testing AI will not replace manual testing but augment it.&lt;/li&gt;
&lt;li&gt;AI can suggest test cases, while humans refine them.&lt;/li&gt;
&lt;li&gt;AI can defect anomalies, while humans investigate root causes.&lt;/li&gt;
&lt;li&gt;AI can simulate large-scale scenarios while humans validate edge cases.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Challenges Ahead Manual Testing in the Age of AI faces Challenges:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Perception of redundancy: Many organizations prioritize automation, undervaluing manual testing.&lt;/li&gt;
&lt;li&gt;Skill gaps: Testers Must upskill to remain competitive.&lt;/li&gt;
&lt;li&gt;Integration issues: Balancing AI tools with human workflows can be complex.&lt;/li&gt;
&lt;li&gt;Bias in AI: AI driven testing may inherit biases from training data, requiring human oversight.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CONCLUSION&lt;br&gt;
      The age of AI reshaping software testing, but manual testing is far from obsolete. Instead, it is evolving into a more strategic, human centric discipline. Testers will no longer spend time on repetitive tasks; instead, they will focus on creativity, intuition, ethics, and user experience. The Future of manual testing lies in collaboration with AI, not competition. By embracing hybrid models, developing new skills, and focusing on areas where human judgment is irreplaceable, manual tester will remain in ensuring software quality.&lt;/p&gt;

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