<?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: krishnaveni</title>
    <description>The latest articles on DEV Community by krishnaveni (@krishnavenis).</description>
    <link>https://dev.to/krishnavenis</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%2F1263817%2F353a2a5e-10d1-4437-b92b-072cf2f9b4d7.png</url>
      <title>DEV Community: krishnaveni</title>
      <link>https://dev.to/krishnavenis</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/krishnavenis"/>
    <language>en</language>
    <item>
      <title>#Introduction To Software Testing#</title>
      <dc:creator>krishnaveni</dc:creator>
      <pubDate>Wed, 31 Jul 2024 15:54:13 +0000</pubDate>
      <link>https://dev.to/krishnavenis/introduction-to-software-testing-52ah</link>
      <guid>https://dev.to/krishnavenis/introduction-to-software-testing-52ah</guid>
      <description>&lt;p&gt;&lt;a href="https://media.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%2Fjrwvuekba5p64n5hh1du.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fjrwvuekba5p64n5hh1du.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Software testing is a process of verifying that our application or software is working without any defects. Software testing is used to make our application/software more user friendly and prevent any defects in the software at later point of time.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Types of Software testing,&lt;/p&gt;

&lt;p&gt;Functional testing:&lt;br&gt;
Unit testing: In Unit testing we test smaller units of modules of the application. Also referred as "Component testing".&lt;br&gt;
Its primarily performed by Developers using White box approach.&lt;br&gt;
The objective of unit testing is to deduct bugs in the earlier stage of development.&lt;br&gt;
Example:&lt;br&gt;
In a banking application, testing a unit of the application like Login page with different test cases like with valid username/password, invalid username and password etc.&lt;/p&gt;

&lt;p&gt;Integration testing: In Integration testing we integrate the individual units and test the collective functionality.&lt;/p&gt;

&lt;p&gt;It is performed by Testers on testing servers.&lt;/p&gt;

&lt;p&gt;The scope of integration testing is to expose errors during the interaction between the individual units.&lt;/p&gt;

&lt;p&gt;Types of Non functional Testing:&lt;/p&gt;

&lt;p&gt;Performance Testing: In this testing we check the performance and stability of the software under varying workloads. Performance testing scope includes testing the Speed, Scalability, Stability and Reliability(product is secure or not) of the software.&lt;br&gt;
Example : A banking application's response time is usually 60 seconds for the login page and this response time doesn't change when 10000 users try to access the login page at the same time.&lt;/p&gt;

&lt;p&gt;Load Testing: In load testing we test if the software can handle huge transactions or increase in load. Load testing is done mostly by end users. Example : When a huge transaction load is passed to a Banking application.&lt;/p&gt;

&lt;p&gt;Volume Testing: In volume testing we test the software by passing huge volume at a time and checking system's response time. Example: When huge volume of data is passed to the system to check the banking applications response time.&lt;/p&gt;

&lt;p&gt;Software Development Lifecycle and Software Testing Lifecycle:&lt;/p&gt;

&lt;p&gt;We need to know what is Software Development lifecycle and Software Testing lifecycle and the various test in them to understand what are the different types of software testing like Unit testing, integration testing, System testing and which type is best applicable for a given test case. It is also important for a tester to know how to write test cases for a given scenario and then get them executed. Below are the major steps in software testing lifecycle:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fm87ob268fql76vw31z7t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fm87ob268fql76vw31z7t.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1.Requirement Analysis&lt;br&gt;
This is the very first phase of STLC where the testers analyze the project requirements by discussing it with various stakeholder and prepare the RTM(Requirement Traceability Matrix is a document where we associate the requirements with the corresponding test cases).&lt;/p&gt;

&lt;p&gt;2.Test planning&lt;br&gt;
In this phase the test manager determines the Test plan or strategy, test tool selection, types of testing in scope, cost estimation, resource planning, Trainings required etc.&lt;/p&gt;

&lt;p&gt;3.Test case development&lt;br&gt;
In Test case development phase, the test cases, scripts and data is created.&lt;/p&gt;

&lt;p&gt;4.Test Environment setup&lt;br&gt;
In this phase, the environment for testing is setup on the basis of software and hardware requirement. Smoke testing is performed in this phase.&lt;/p&gt;

&lt;p&gt;5.Test Execution&lt;br&gt;
In this phase, Test cases, scripts are executed and the results are documented. The bugs/defects are also reported and post the defect is fixed, retesting is also done in this phase.&lt;/p&gt;

&lt;p&gt;6.Test Closure&lt;br&gt;
This is the last phase of STLC, where the testers report the test results and test completion metrics. In this phase EOTR (End of Testing report) is also prepared and submitted by the Testers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fpl8nocf0zny49gugjfow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fpl8nocf0zny49gugjfow.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Significance of Software testing&lt;/p&gt;

&lt;p&gt;cost saving: As we test the software frequently, this can prevent unnecessary fix at later stage.&lt;br&gt;
Good product quality and security: Software testing also helps in maintaining our product and avoiding the security breaches&lt;br&gt;
Customer satisfaction: Software testing also contributes to achieving customer satisfaction and gathering feedback on the application.&lt;br&gt;
Risk mitigation can be done by identifying issues at early stage and prevents critical problems during later stages of development and post-release.&lt;br&gt;
Verifying that the software meets specified requirements and performs its intended functionalities.&lt;br&gt;
Security enhancement can be achieved by detecting vulnerabilities and protecting the software against security threats and breaches.&lt;br&gt;
      software testing is relevance for identifying any issue and defect with the written code in the project so that they can be corrected or fixed before the software product is delivered and also it improves the product quality when it comes to the customer end. Testing of a system helps to identify gaps, errors, or any kind of missing requirements differing from the actual requirements.&lt;/p&gt;

</description>
      <category>python</category>
      <category>selenium</category>
      <category>github</category>
      <category>programming</category>
    </item>
    <item>
      <title>Functional and Non-Functional Testing.</title>
      <dc:creator>krishnaveni</dc:creator>
      <pubDate>Wed, 31 Jul 2024 15:36:34 +0000</pubDate>
      <link>https://dev.to/krishnavenis/functional-and-non-functional-testing-1mde</link>
      <guid>https://dev.to/krishnavenis/functional-and-non-functional-testing-1mde</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fny8g6df15hdq7siu2lm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fny8g6df15hdq7siu2lm4.png" alt="Image description" width="616" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Difference between functional and non functional testing:&lt;br&gt;
The requirement function of an application is checked in functional testing.&lt;br&gt;
where in Non-functional testing test the behavior of application from maximum capacity of application as follows by using these testing type.&lt;/p&gt;

&lt;p&gt;-&amp;gt;performance testing is done by the following type:&lt;/p&gt;

&lt;p&gt;load testing&lt;br&gt;
security testing&lt;br&gt;
volume testing&lt;br&gt;
stress testing&lt;br&gt;
LOAD TESTING:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwgdyi1lolwboq40jkzkj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwgdyi1lolwboq40jkzkj.png" alt="Image description" width="510" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Used to identify the maximum operating capacity of application in normal(100 to more) and peak load condition(1000 to more).&lt;br&gt;
SECURITY TESTING:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu5ikqoslepjoyqib69p4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu5ikqoslepjoyqib69p4.png" alt="Image description" width="609" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Security testing is an important one of software testing focused on identifying and addressing security in a software applications like authentication and authorization to ensure that the software is secure from unauthorized access, and data loss.&lt;br&gt;
VOLUME TESTING:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnrsjs73h64dicd0m8nzy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnrsjs73h64dicd0m8nzy.png" alt="Image description" width="424" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How does application behaves when extreme amount of data given to system to improve system performance in term of large database or software.&lt;/p&gt;

&lt;p&gt;STRESS TESTING:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0y6jsmchhgfzt5riy3oq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0y6jsmchhgfzt5riy3oq.png" alt="Image description" width="538" height="215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Determines the behavior of the system and Ensure failure does not cause security issues Makes system function in every situation Stress testing makes the system work in normal as well as abnormal conditions in an appropriate way.&lt;br&gt;
There is also another non-functional testing is portable testing this test is for server to server or one operating system to another operating system to make sure each product it transfer from our end to user end.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>agile</category>
    </item>
    <item>
      <title>#Manual testing deep drive#</title>
      <dc:creator>krishnaveni</dc:creator>
      <pubDate>Wed, 31 Jul 2024 15:20:15 +0000</pubDate>
      <link>https://dev.to/krishnavenis/manual-testing-deep-drive-160i</link>
      <guid>https://dev.to/krishnavenis/manual-testing-deep-drive-160i</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;As we hear the word "Testing", the very first sequel word that comes into my mind is "Manual Testing". Manual testing is a type of software testing in which testers manually verify and validate if the end product satisfy the customer requirements and specifications in both Functional and Non-Functional aspects. 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The testing is performed in a similar way as an end user to identify bugs and defects in the software or application.Manual testing is nothing but testing the functionality of application repeatedly or again and again manually in order to find the defect according to the customer requirement is called as manual testing.&lt;br&gt;
 Type of software that is used by a developer to test the software without any automated tools. The main purpose is to identify the defect and remove the bugs. Manual testing concepts is to guarantee that the application is without any error or bug and it is working as expected.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqs3se2h5h67h3fuhq0r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqs3se2h5h67h3fuhq0r.png" alt="Image description" width="562" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We use the STLC(Software Testing Life Cycle) to perform any type of testing. The phases of STLC are as below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Requirement Analysis
This is the very first phase of STLC where the testers analyze the project requirements by discussing it with various stakeholder and prepare the RTM(Requirement Traceability Matrix is a document where we associate the requirements with the corresponding test cases).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.Test planning&lt;br&gt;
In this phase the test manager determines the Test plan or strategy, test tool selection, types of testing in scope, cost estimation, resource planning, Training required etc.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Test case development&lt;br&gt;
In Test case development phase, the test cases, scripts and data is created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test Environment setup&lt;br&gt;
In this phase, the environment for testing is setup on the basis of software and hardware requirement. Smoke testing is performed in this phase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test Execution&lt;br&gt;
In this phase, Test cases, scripts are executed and the results are documented. The bugs/defects are also reported and post the defect is fixed, retesting is also done in this phase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test Closure&lt;br&gt;
This is the last phase of STLC, where the testers report the test results and test completion metrics. In this phase EOTR (End of Testing report) is also prepared and submitted by the Testers.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5yst73f4seturoei8vrp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5yst73f4seturoei8vrp.png" alt="Image description" width="434" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Manual testing is not an easy task to do. It requires proper knowledge and moreover patience to detect the bugs and figure out a way to correct them. The beginners can also use the guides, Manual testing for beginners that includes manual testing basics and information. The steps for manual testing are:&lt;br&gt;
Requirement analysis: You should know beforehand what is expected from the software.&lt;br&gt;
Create a test plan: You should have the documentation of how the testing process is followed.&lt;br&gt;
Creation of Test Case: You should create the test cases on which you will execute the plan.&lt;br&gt;
Execution of Test Flow: You have to execute the plan on the test flow properly and carefully avoiding any kinds of errors in programming.&lt;br&gt;
Detect Logging: After execution of the plan, you will have to search for any errors if there are, and figure out where the error is.&lt;br&gt;
Debugging and Re-verification: If there is any bug, you will have to debug, and again verify it after the debugging process.&lt;/p&gt;

&lt;p&gt;Merits of Manual testing&lt;/p&gt;

&lt;p&gt;1.There is no environment limitations. We can perform manual testing in any kind of Application, Software, OS etc.&lt;/p&gt;

&lt;p&gt;2.No programming language knowledge is required for developing and executing the test cases.&lt;/p&gt;

&lt;p&gt;3.Manual testing is the best approach for dynamically changing GUI(Graphic User Interface).&lt;/p&gt;

&lt;p&gt;4.Testers interact more with the AUT, which helps in finding the defects easily and making the application defect free.&lt;/p&gt;

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

&lt;p&gt;1.Many number of testers are involved.&lt;br&gt;
2.It's is costly in the short run.&lt;br&gt;
3.Time consuming.&lt;br&gt;
4.The tester develops test cases based on their skills and&lt;br&gt;
experiences.&lt;br&gt;
5.Testers cannot use a given test case again.&lt;br&gt;
6.It does not cover all aspects of testing.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; Manual testing is, in fact, a user-friendly programming improvement since people are engaged with testing programming applications and end-clients are likewise people. They need to think and act with an End User point of view and make the product user-friendly.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>testing</category>
      <category>manual</category>
      <category>python</category>
    </item>
    <item>
      <title>#PYTHON SELENIUM ARCHITECTURE AND THE SIGNIFICANT OF PYTHON VIRTUAL ENVIRONMENT#</title>
      <dc:creator>krishnaveni</dc:creator>
      <pubDate>Sat, 25 May 2024 15:50:15 +0000</pubDate>
      <link>https://dev.to/krishnavenis/python-selenium-architecture-and-the-significant-of-python-virtual-environment-17dk</link>
      <guid>https://dev.to/krishnavenis/python-selenium-architecture-and-the-significant-of-python-virtual-environment-17dk</guid>
      <description>&lt;p&gt;** python selenium architecture**:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   The Python Selenium architecture allows for the automation of web browser interactions, making it a powerful tool for web testing and other automation tasks.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Selenium is an automation tool used for web application testing, and Python is a programming language. Selenium scripts can be written using only programming languages; the most commonly used programming languages are Java and Python.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F441dbj23e9ts894s0kp1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F441dbj23e9ts894s0kp1.png" alt="Image description" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selenium WebDriver Architecture is made up of four major components:&lt;/p&gt;

&lt;p&gt;1- Selenium Client Library&lt;/p&gt;

&lt;p&gt;The Selenium Client Library consists of various language libraries for Java, Ruby, Python, and other supported languages.&lt;/p&gt;

&lt;p&gt;2- JSON WIRE PROTOCOL Over HTTP Client&lt;/p&gt;

&lt;p&gt;JSON denotes Javascript Object Notation. This component of the Selenium WebDriver plays an important role in the Selenium automation process by transferring data between the server and a client on the web. JSON is an acronym for JavaScript Object Notation. It is an open standard that provides a transport mechanism for transferring data between client and server on the web.&lt;/p&gt;

&lt;p&gt;3- Browser Drivers&lt;/p&gt;

&lt;p&gt;Browser drivers are used to carry out the communication between the Selenium WebDriver and the respective browser. The Browser drivers ensure that no details are revealed to the browser regarding the internal logic of the functionalities of the browser.Selenium browser drivers are native to each browser, interacting with the browser by establishing a secure connection. Selenium supports different browser drivers such as Chrome Driver, Gecko Driver, Microsoft Edge WebDriver, Safari Driver, and Internet Explorer Driver.&lt;/p&gt;

&lt;p&gt;4- Real Browsers&lt;/p&gt;

&lt;p&gt;Selenium provides support for multiple browsers like Chrome, Firefox, Safari, Internet Explorer etc.&lt;/p&gt;

&lt;p&gt;In selenium architecture and selenium 3 we have json protocol but in selenium 4 we dont have any intermediates like json.The architecture of Selenium 4 is similar to Selenium 3, however it uses W3C protocol instead of JSON wire protocol for communication between Client Libraries and Browser Drivers.&lt;/p&gt;

&lt;p&gt;WebDriver in Selenium 4 is fully W3C compliant stands for the World Wide Web Consortium, an international community that develops and maintains standards and guidelines for the World Wide Web. The main aim of the W3C is to ensure the long-term growth and interoperability of the Web.&lt;/p&gt;

&lt;p&gt;It creates open standards and specifications that promote compatibility and consistency across various web technologies and platforms. And when we say Selenium 4 is W3C compliant it states that Selenium adheres to the standards and specifications laid by the W3C for web automation.&lt;/p&gt;

&lt;p&gt;All the browsers and the browser drivers in Selenium architecture follow W3C, except Selenium 3 WebDriver. And hence, JSON Wire Protocol is used to encode and decode the requests and responses. Selenium 4 WebDriver was made W3C compliant to make the communication easy and direct between the client libraries and the browser drivers. Improved communication led to more stability.&lt;/p&gt;

&lt;p&gt;This has also enhanced browser compatibility, performance and efficiency as there is no overhead of HTTP requests and responses for communication between the WebDriver client and the browser driver. Instead, WebDriver now utilizes native browser communication channels and protocols.&lt;/p&gt;

&lt;p&gt;-&amp;gt; &lt;strong&gt;what is the significance of the python virtual environment? Give some examples in support of your answer?&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Imagine a scenario where you are working on two web-based Python projects one of them uses instagram 7.0 and the other uses instagram 7.1. In such situations, we need to create virtual environment in Python that can be really useful to maintain the dependencies of both projects.&lt;/p&gt;

&lt;p&gt;By default, every project on your system will use these same directories to store and retrieve site packages (third-party libraries). Now, in the above example of two projects, you have two versions of instagram. This is a real problem for Python since it can’t differentiate between versions in the “site-packages” directory. So both v1.7 and v1.8 would reside in the same directory with the same name. This is where virtual environments come into play. To solve this problem, we just need to create two separate virtual environments for both projects. The great thing about this is that there are no limits to the number of environments you can have since they’re just directories containing a few scripts. A virtual Environment should be used whenever you work on any Python-based project. It is generally good to have one new virtual environment for every Python-based project you work on. So the dependencies of every project are isolated from the system and each other.&lt;/p&gt;

&lt;p&gt;We use a module named virtualenv which is a tool to create isolated Python environments. virtualenv creates a folder that contains all the necessary executable**** to use the packages that a Python project would need.Installing virtualenv = $ pip install virtualenv&lt;/p&gt;

&lt;p&gt;Once you are done with the work, you can deactivate the virtual environment by the following command:(virtualenv_name)$ deactivate.&lt;/p&gt;

</description>
      <category>python</category>
      <category>selenium</category>
      <category>architecture</category>
    </item>
    <item>
      <title>SELENIUM</title>
      <dc:creator>krishnaveni</dc:creator>
      <pubDate>Tue, 21 May 2024 12:41:20 +0000</pubDate>
      <link>https://dev.to/krishnavenis/selenium-4npm</link>
      <guid>https://dev.to/krishnavenis/selenium-4npm</guid>
      <description>&lt;p&gt;Selenium it is a automation tool used to automate web pages , it is one kind of package in python.selenium is a framework which helps us to automate the web application,it is a package we can install using pip install selenium.&lt;br&gt;
It does not require any monitoring or human it is time saving,time consumption is less,it is an open source tool we can install freely. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoy5pt9wwzz71kuxhcfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoy5pt9wwzz71kuxhcfr.png" alt="Image description" width="484" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ADVANTAGES:&lt;br&gt;
-&amp;gt;Language  and framework support.&lt;br&gt;
-&amp;gt;supports various operating system.&lt;br&gt;
-&amp;gt;Easy for implementation.&lt;br&gt;
-&amp;gt;flexibility and more efficient with selenium feature it will reduce &lt;br&gt;
  duplicate.&lt;br&gt;
-&amp;gt;minimize complication and improves maintainability.&lt;/p&gt;

&lt;h1&gt;
  
  
  components of Selenium S it has all the below listed:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fih97kre1ja9ywyl174d3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fih97kre1ja9ywyl174d3.png" alt="Image description" width="539" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selenium Integrated Development Environment (IDE)&lt;br&gt;
Selenium Remote Control (RC)&lt;br&gt;
WebDriver&lt;br&gt;
Selenium Grid&lt;/p&gt;

&lt;p&gt;1.Selenium IDE: Selenium IDE is a Firefox add-on that enables testers to record and playback the recorded automated tests. Selenium IDE is easy to use and lets you create and run automated tests quickly. Selenium IDE Chrome also includes a built-in debugger that enables you to troubleshoot your tests. To use Selenium IDE, you first need to install the Selenium add-on for Firefox or Chrome. You can then open Selenium IDE by clicking on the Selenium icon in the Firefox or Chrome toolbar.&lt;/p&gt;

&lt;p&gt;2.Selenium RC: Testers needed to install local copies of both Selenium Core program code and the web server containing the web application being tested so they would belong to the same domain.The Web-Driver proves to be better than Selenium IDE and Selenium RC in many aspects. It implements a more modern and stable approach in automating the browser’s actions. Web-Driver, unlike Selenium RC, does not rely on JavaScript for Selenium Automation Testing. It controls the browser by directly communicating with it.&lt;br&gt;
The supported languages are the same as those in Selenium RC.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfzh95w3o3om9psq2lku.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfzh95w3o3om9psq2lku.png" alt="Image description" width="552" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;C#&lt;br&gt;
Java&lt;br&gt;
PHP&lt;br&gt;
Python&lt;br&gt;
Perl&lt;br&gt;
Ruby&lt;/p&gt;

&lt;p&gt;3.Selenium Web-Driver: Selenium Web-Driver is an open-source tool used for automating web browser interaction from a user perspective. With it, you can write tests that simulate user interactions with a web application. It is available for many different programming languages.&lt;/p&gt;

&lt;p&gt;Web-Driver provides a powerful and flexible test automation framework that enables you to create automated tests for your web applications easily. It also includes several over-the-top features, such as automatically discovering elements on a web page and capturing screenshots of your tests.&lt;/p&gt;

&lt;p&gt;4.Selenium Grid: Selenium Grid distributes your tests across multiple machines or virtual machines. Selenium Grid enables you to test parallaly on various devices or Virtual machines, allowing you to scale your test automation quickly. Selenium Grid is a crucial part of the overall Selenium testing suite and will enable you to execute your automated tests much faster.&lt;/p&gt;

&lt;p&gt;The Selenium Server is a part of Selenium Grid that can be installed locally on your device or hosted on a separate system/server.&lt;/p&gt;

&lt;p&gt;Why do we use selenium for automation?&lt;/p&gt;

&lt;p&gt;Open source, free to use, and free of charge.&lt;br&gt;
Highly extensible and also user easy.&lt;/p&gt;

&lt;p&gt;It can tests in different browsers.&lt;br&gt;
Supports various operating systems.&lt;br&gt;
Can execute tests while the browser is minimized.&lt;br&gt;
Supports mobile devices.&lt;br&gt;
Can execute tests in parallel.&lt;/p&gt;

&lt;p&gt;Efficient and accurate web application testing.&lt;br&gt;
The ability to test your web application on multiple browsers and operating systems.&lt;br&gt;
The ability to run more than one test at the same time.&lt;br&gt;
With a Selenium Grid, you can significantly reduce your time to test your web application. And by using a Selenium Grid, you can ensure that your web application is fully functional before releasing it to users. So if you want to improve your web application testing, consider using a Selenium Grid. It’s one of the best ways to automate your web application testing!&lt;/p&gt;

&lt;p&gt;Selenium is an all-in-one tool that can help you streamline your agile testing process. By following the tips below, you can ensure that your automated tests are practical and efficient and that they play a valuable role in your agile development cycle:&lt;/p&gt;

&lt;p&gt;Automated tests should be run frequently as part of the continuous integration process.&lt;/p&gt;

&lt;p&gt;Tests should be written to allow them to be run quickly and easily.&lt;br&gt;
Tests should be designed to test a specific functionality or behavior and should not be too complex.&lt;br&gt;
New features and changes should be accompanied by automated tests to ensure that the application functionality remains intact.&lt;br&gt;
Automated tests should supplement manual testing rather than replace it altogether.&lt;/p&gt;

&lt;p&gt;In agile development, Selenium Testing is typically used in the following ways:&lt;/p&gt;

&lt;p&gt;The regression testing process, to ensure that existing features continue to work as expected after new code has been added.&lt;br&gt;
To verify that new features are working as expected before they are released to production.&lt;br&gt;
To help identify and troubleshoot bugs in web applications at both business and development levels before releasing the app.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>selenium</category>
    </item>
    <item>
      <title>Testing Techniques Of Software</title>
      <dc:creator>krishnaveni</dc:creator>
      <pubDate>Tue, 30 Jan 2024 18:35:14 +0000</pubDate>
      <link>https://dev.to/krishnavenis/task-2-1hgo</link>
      <guid>https://dev.to/krishnavenis/task-2-1hgo</guid>
      <description>&lt;p&gt;There are some particular test techniques to write testcases. &lt;br&gt;
BOUNDARY VALUE ANALYSIS,DECISION TABLE TESTING,USE CASE TESTING.&lt;/p&gt;

&lt;p&gt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;BOUNDARY VALUE ANALYSIS:&lt;br&gt;
In this BVA  We test boundaries between equivalence partitions&lt;br&gt;
and write one testcase for each boundary value. spotting the issue in input field defects. Expanded test coverage to include input field value verification. Improved application quality by identifying input data problems. Increased compliance with some regulatory and standards requirements.&lt;br&gt;
Example: If you are designing a program to handle number values between 1 and 100, then the boundary values should be 1 and 100. To complete the BVA test analysis successfully, you need to test with the boundary values of Testcase 1- 0,Testcase2-1,Testcase3- 2, Testcase4-99,Testcase5-100,Testcase6-101 and Testcase$-max.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DECISION TABLE TESTING:&lt;br&gt;
Decision table testing in which we use all the possible combination to be tested wherein each rule has one Testcase.&lt;br&gt;
A decision table helps to check all possible combinations of conditions for testing and we can also identify missed conditions easily. The conditions are indicated as True and&lt;br&gt;
False values.&lt;br&gt;
EXAMPLE:LOGIN SYSTEM &lt;br&gt;
TRUE- Correct username and password.&lt;br&gt;
Login successful.&lt;br&gt;
FALSE–  If Wrong username or password.&lt;br&gt;
Error– Error message is displayed as incorrect username or password.&lt;br&gt;
H – Home screen is displayed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;USECASE TESTING:&lt;br&gt;
All communication dialogue is between the actor and system, main success scenario is put first on table which check the flow fine. There can be multiple extension to a state. We write one testcase for extension and one for the happy scenario which works fine without any error. The purpose of use case is to understand the end-user interaction with the system Use case creation can be helpful in the requirement gathering, and design phase.&lt;br&gt;
EXAMPLE:ATM machine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;LCSAJ TESTING: (linear code sequence and jump)&lt;br&gt;
Linear code sequence LCS is a series of instruction given in a line sequence and it is a part of code.&lt;br&gt;
It is executed in straight or sequence order without any branches or jumps. The goal is to ensure that it behaves as expected.&lt;br&gt;
JUMP:&lt;br&gt;
It refer to the control flow operation. The normal sequential execution of code is altered based on condition.&lt;br&gt;
Were LCSAJ testing involve testing the linear code sequence and ensuring that all the possible jumps and decisions are executed during testing including both true or false outcome condition statements.&lt;br&gt;
EXAMPLE:&lt;br&gt;
Read input A&lt;br&gt;
Read input B&lt;br&gt;
if A &amp;gt; B&lt;br&gt;
C = A+ B&lt;br&gt;
else&lt;br&gt;
C=A-7&lt;br&gt;
D=C*2&lt;br&gt;
Print D.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>learning</category>
      <category>beginners</category>
      <category>testing</category>
      <category>phyton</category>
    </item>
  </channel>
</rss>
