<?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: Gokilavani.P</title>
    <description>The latest articles on DEV Community by Gokilavani.P (@gokilavani).</description>
    <link>https://dev.to/gokilavani</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%2F3649830%2F5c4002b6-2841-4646-b9cc-68cb1ec5a68a.jpg</url>
      <title>DEV Community: Gokilavani.P</title>
      <link>https://dev.to/gokilavani</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gokilavani"/>
    <language>en</language>
    <item>
      <title>Selenium Architecture with Python and Significances of Python Virtual Environment</title>
      <dc:creator>Gokilavani.P</dc:creator>
      <pubDate>Wed, 18 Mar 2026 02:01:11 +0000</pubDate>
      <link>https://dev.to/gokilavani/selenium-architecture-with-python-and-significances-of-python-virtual-environment-3mm0</link>
      <guid>https://dev.to/gokilavani/selenium-architecture-with-python-and-significances-of-python-virtual-environment-3mm0</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Selenium Architecture:&lt;/strong&gt;&lt;br&gt;
Python Selenium architecture is a client-server model of Selenium Webdriv this enables automated interaction with web browser using python language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Architecture flow:&lt;/strong&gt;&lt;br&gt;
Client(Selenium client Webdriver language)  W3C Protocol(Webdriver)  Browser Drivers  Web Browser(Chrome, Firefox,Edge,etc)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Selenium Client Library(Python Binding) : This allows python API which allows user to write the automation scripts using Python language. This consist of methods and classes to interact with web elements, manage browser interactions, etc. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Webdriver Protocol (W3C) : COmmunication standard used to exchange data commands between the client and server (Browser drivers). Earlier selenium version uses JSON Wire protocol over HTTP. now Selenium webdriver 4 uses W3C protocol , its a standardized approach that ensures better compatibility across browsers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Browser Drivers : Each browser have a specific executable drivers. It act as an intermediary to receive and send commands through the Webdriver protocol to the browsers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real Browsers: Its a actual browsers where the automation takes place. Browser executes the code written in python in the browser by receiveing commands from its driver and send the execution status(Test Pass, Fail or data) back to driver as an HTTP response.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Actual flow of Selenium Test using python language in Selenium Webdriver 4:&lt;/strong&gt;&lt;br&gt;
Step 1: In IDE, user writes the script using python language.&lt;br&gt;
Step 2: Once the script runs, W3C protocol send the instruction to the Web drivers.&lt;br&gt;
Step 3: Browser driver receives HTTP commands and translate based on its library to the real browsers.&lt;br&gt;
Step 4: Browser receives the command and executes the scripts in the browser and send back the status to Web drivers through HTTP response.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Significance of Python Virtual Environment:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dependency Management : Each project can have its own set of libraries.&lt;/li&gt;
&lt;li&gt;Isolation from System Python : Virtual Environment prevent accidental modification of the global python installation, keeping the system stable.&lt;/li&gt;
&lt;li&gt;Reproducibility : By freezing dependencies in a requirement file, developers can recreate same environment across machines, ensuring the behaviour consistent in development, testing and deployment.&lt;/li&gt;
&lt;li&gt;Simplified Project Management : Each environment is self-contained, making it easier to manage, replicate, and share setups with teammates.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Web Development : &lt;br&gt;
Without Virtual Environment : Installing any extensions globally may break older projects when upgrading.&lt;br&gt;
With Virtual Environment : Each project runs its required extension version independently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Team Collaboration:&lt;br&gt;
Without Virtual Environment : Developers may face “works on my machine” issues.&lt;br&gt;
With Virtual Environment : Sharing the requirement file (.txt) ensures identical environments for all team members&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Selenium</title>
      <dc:creator>Gokilavani.P</dc:creator>
      <pubDate>Wed, 11 Mar 2026 09:17:07 +0000</pubDate>
      <link>https://dev.to/gokilavani/selenium-338</link>
      <guid>https://dev.to/gokilavani/selenium-338</guid>
      <description>&lt;p&gt;What is selenium?&lt;br&gt;
Selenium is an open source automation testing framework. Used to automate the web application testing. It is used for web application testing across different browsers and platforms. &lt;/p&gt;

&lt;p&gt;Why do we use Selenium for Automation?&lt;br&gt;
Selenium is an Open Source Tool. Free to use.&lt;br&gt;
It Supports multiple languages like C#, Java, Python, Ruby, JavaScript etc.&lt;br&gt;
Selenium supports multiple browser testing like chrome, Edge, Firefox, Safari, Opera.&lt;br&gt;
Selenium can be used in Multiple Operating Systems like Windows, Linux, Mac.&lt;br&gt;
Selenium have inbuild community support which is helpful for the testers where they need a support to clarify the doubts.&lt;br&gt;
Selenium uses different Framework like TestNG, JUnit, NUnit.&lt;br&gt;
Selenium supports plugins and the extensions for testing the advanced test cases. &lt;/p&gt;

&lt;p&gt;What is the Relevance of Selenium in automation testing using Python?&lt;br&gt;
Selenium is an open source tool which supports multiple languages. Python is one of the language supported in Selenium. Python is widely used by the Testers due to its simple syntax and easy learning. Python is easy to read and understand. Beginners can also learn Python easily and quickly to start with Selenium testing. Python is preferred choice for the freshers and testers who trying to move from manual to automation testing. Automation scripts created using selenium and python can be integrated with different tools like Jenkins, Git, and Docker. This allows Test execution whenever new code is added or updated. Defects can be identified at an early stage, reducing the cost of fixing issues and improving overall software quality. When selenium combined with python it becomes even more effective due to python's simplicity and library support.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Manual testing techniques</title>
      <dc:creator>Gokilavani.P</dc:creator>
      <pubDate>Sun, 07 Dec 2025 04:58:59 +0000</pubDate>
      <link>https://dev.to/gokilavani/manual-testing-techniques-3mjm</link>
      <guid>https://dev.to/gokilavani/manual-testing-techniques-3mjm</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;1.Common Manual testing Techniques:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Black Box Testing : Tester test the software by user perspective without any coding Knowledge.&lt;br&gt;
We have mainly Functional and Non-Functional Testing techniques.&lt;br&gt;
Functional testing – Test the software matches the requirement specified in the User’s requirement document.&lt;br&gt;
Below are the functional Testing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Unit Testing
o   Done during the development stage by the developers. Developer test after completing development of each unit/module is working as per Requirement. This also called as Module or component testing.&lt;/li&gt;
&lt;li&gt;  Integration Testing
o   Combining all the individual units/module together and test the software is working as accepted by interacting with each modules.&lt;/li&gt;
&lt;li&gt;  System Testing
o   System testing is done after Integration testing to validate the software functionality end to end is working as expected.&lt;/li&gt;
&lt;li&gt;  Smoke Testing
o   It is done once the tester receives the software from the developers. This testing checks whether we received the correct software from the developers.&lt;/li&gt;
&lt;li&gt;  Sanity testing
o   This testing done during the release of the software. In this testing we just check main features are working as expected  during the release.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Non-Functional Testing : Test the non-functional like Software speed, load, stress etc.&lt;br&gt;
Below are the Non-Functional Testing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Performance Testing
o   This testing used to find the speed and scalability of the software. By doing performance testing we can ensure whether the software is responding quicky for the user input.&lt;/li&gt;
&lt;li&gt;  Usability Testing
o   This testing is mainly used to validate the software is understand by user perspective and easy to operate for the user. &lt;/li&gt;
&lt;li&gt;  Security testing
o   Used to check the system is protected against unauthorized internal or external access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Regression Testing: Regression testing is done once the bug/defect is fixed and the fix is not affected the existing working functionality.&lt;/p&gt;

&lt;p&gt;Acceptance Testing: Done by end user along with the tester to check the functional is implemented as per the requirement. Below is the type of Acceptance testing&lt;br&gt;
o   Alpha Testing: Done by client or outsource team in front of developers or testers. Minor changes can be done during this testing phase.&lt;br&gt;
o   Beta Testing: Used to find the bugs or defects before the final release of the software. Testing done by End user.&lt;/p&gt;

&lt;p&gt;Exploratory Testing: Performing the testing by exploring the functionality of the software without knowing the Requirement or pre-conditions.&lt;/p&gt;

&lt;p&gt;Ad-hoc Testing: It is a informal testing. Tester tests the software without following any test case, test design technique, requirement document. Just randomly based on the intuition tester test the software. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Boundary Value Analysis:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It is one of test case design technique.&lt;br&gt;
BVA technique mainly used to validate the test data is valid or not to avoid test case failure due to invalid test.&lt;br&gt;
This technique is used when we have test data ranges and limits.&lt;br&gt;
By using this technique we validate boundary values of test data.&lt;br&gt;
Example of Boundary value Analysis:&lt;br&gt;
Consider Test Data requirement for Username textbox for login should have length of 5 to 8 character.&lt;br&gt;
We validate this test data by giving username with 4 characters, 5 characters, 8 characters and 9 characters.&lt;/p&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%2F8fs5cwsov0ga441dn60b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8fs5cwsov0ga441dn60b.png" alt=" " width="367" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Decision table:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Decision Table is the technique used to validate test data. This technique is used when we have a logical relationship if-else condition in the input.This technique is used when we have combinational inputs. Example : Valid test data when both username and password should be correct.&lt;br&gt;
Example : Login to a Webpage with Valid username and password and captcha&lt;br&gt;
In this example user should enter valid username, password, correct captcha displayed in screen and should click login button. Below is the decision table for this valid data.&lt;/p&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%2Fuv9z4ckvcmlfyo08d72q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuv9z4ckvcmlfyo08d72q.png" alt=" " width="541" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Whatever the changes comes in an industry like AI, manual testing will never destroy. Because we can automate all the possibilities like regression testing, end to end testing but few things can be validated only by human in the application to determine software is perfect. Example when we go with AI or Automation, whatever the comment we give it perform but it doesn’t check whether that is the right comment and this is needed at that particular point.&lt;/p&gt;

</description>
      <category>manualtesting</category>
      <category>techniques</category>
    </item>
  </channel>
</rss>
