<?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: Vignesh</title>
    <description>The latest articles on DEV Community by Vignesh (@vignesh_89).</description>
    <link>https://dev.to/vignesh_89</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%2F1265840%2F80f3b18e-76eb-4e0a-bb6c-b75f0cae692f.png</url>
      <title>DEV Community: Vignesh</title>
      <link>https://dev.to/vignesh_89</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vignesh_89"/>
    <language>en</language>
    <item>
      <title>Task18</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Mon, 29 Apr 2024 16:44:11 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task18-141c</link>
      <guid>https://dev.to/vignesh_89/task18-141c</guid>
      <description>&lt;p&gt;&lt;strong&gt;Describe the Python Selenium architecture in detail?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the significance of the Python Virtual Environment? Give Some Example to support your answer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python Selenium Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium WebDriver stands as a widely utilized open-source library and integral element within the Selenium automation framework. Its primary function involves automating the testing procedures for web applications. This technology comprises a set of APIs that provide a programming interface, empowering developers, and testers to craft scripts in diverse programming languages like Java, JavaScript, C#, Python, etc. These scripts are designed to automate actions within web browsers and extract information from web pages. WebDriver operates by replicating user actions, navigating across web pages, engaging with various elements (ranging from buttons, text fields, dropdown menus, forms, links, etc.), submitting forms, executing validations, performing assertions, and executing numerous other functions through test scripts.&lt;/p&gt;

&lt;p&gt;The architecture of Selenium WebDriver (Selenium 3) comprises four primary components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Client library:&lt;/strong&gt; The Selenium Client Library encompasses languages such as Java, Ruby, Python, C#, and more. Once the test cases are initiated, the complete Selenium code will be transformed into JSON format.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JSON wire protocol over HTTP:&lt;/strong&gt; JSON stands for JavaScript Object Notation, handling the transmission of information from the server to the client. The JSON Wire Protocol predominantly manages the transfer of data between HTTP servers. The produced JSON is accessible to browser drivers via the HTTP protocol.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser Drivers:&lt;/strong&gt; Selenium’s browser drivers are inherently specific to each browser, establishing secure connections and enabling interaction with the browser. Selenium extends support for various browser drivers such as ChromeDriver, GeckoDriver, Microsoft Edge WebDriver, SafariDriver, and InternetExplorerDriver.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browsers:&lt;/strong&gt; One of the greatest advantages of Selenium WebDriver is its compatibility with all major browsers including Firefox, Google Chrome, Apple Safari, IE, Edge, and Opera. Each browser has its dedicated WebDriver for running automation scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Selenium WebDriver Architecture&lt;/u&gt;&lt;/strong&gt;&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%2Fe5qhzt0ka4np3udceqmj.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%2Fe5qhzt0ka4np3udceqmj.PNG" alt="Image description" width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;A Python virtual environment refers to an independent Python environment enabling the management of distinct dependencies for individual Python projects. Creating a Python virtual environment for each project guarantees that it will possess its necessary requirements without any interference from other projects.&lt;/p&gt;

&lt;p&gt;What is the reason behind using a Python Virtual Environment?&lt;/p&gt;

&lt;p&gt;While working with Python, we might find the need to install packages and modules that aren’t included in the standard library. Employing ‘pip install –user some_package’ enables the installation of Python packages in your home directory. However, potential issues may arise later regarding package dependencies.&lt;/p&gt;

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

&lt;p&gt;If developers are simultaneously handling two different projects — Project A requiring version 1.0 of a library and Project B necessitating version 2.0 of the same library — installing the dependency for Project B could potentially disrupt Project A. To circumvent this issue, creating separate virtual environments for each project is a simple solution. These virtual environments remain isolated from one another, allowing you to install dependencies for one project without concerns about affecting the other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functioning principle of a virtual environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing virtualenv:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;$ pip install virtualenv&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test the installation:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;$ virtualenv — version&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating a virtualenv using the following command:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;$ virtualenv dir_name&lt;/p&gt;

&lt;p&gt;*dir_name- Directory name&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To create a Python 3 virtual environment, use the following command:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;$ virtualenv -p /usr/bin/python3.X virtualenv_name&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deactivate a Python virtualenv:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(virtualenv_name)$ deactivate&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task-15</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Mon, 29 Apr 2024 14:47:46 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task-15-lak</link>
      <guid>https://dev.to/vignesh_89/task-15-lak</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is selenium? Why do we use selenium for automation?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Selenium?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium represents an open-source framework utilized for automated testing within the software development domain. It presents an array of tools designed to automate web browsers, simplifying the process of testing web applications for performance, compatibility, and functionality. One of Selenium’s primary strengths is its compatibility with various programming languages such as Java, Python, C#, Ruby, among others. This enables testers and developers to employ Selenium’s capabilities within their preferred programming environment and language of expertise.&lt;/p&gt;

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

&lt;p&gt;Multi language support: Selenium supports multiple languages like Ruby, Java, PHP, Perl, Python, JavaScript, C# to create test scripts.&lt;/p&gt;

&lt;p&gt;Cross Browser support: The most widely used browsers in today’s world are Chrome, Firefox, Safari, Internet Explorer, Opera, and Edge. All the browsers are compatible with Selenium and hence we can use the same test script to test an application across multiple browsers to ensure it is working fine without having to change the scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; The automation scripts in Selenium enable the coverage of wide range of test cases and scenarios and this feature ensures the maximum test coverage of applications functionality.&lt;/p&gt;

&lt;p&gt;Reusable Test Scripts: Selenium enables testers to create reusable test scripts that help save time and effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parallel Testing:&lt;/strong&gt; Selenium supports parallel test execution allowing multiple tests to run concurrently which helps reduce the overall testing time. Selenium Grid id useful for parallel testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Framework availability:&lt;/strong&gt; Frameworks in selenium facilitate easy code maintenance, improving code reusability, easy portability, lowering the cost of script maintenance,&lt;/p&gt;

&lt;p&gt;and improving the readability of the code. Some of the frameworks include hybrid framework, data driven framework and keyword driven framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Experience Testing:&lt;/strong&gt; Selenium can simulate user interactions and behaviour, allowing testers to assess the user experience and ensure that the application is intuitive and user-friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation and Reporting:&lt;/strong&gt; Selenium provides detailed test execution logs and reports making it easier to track the results.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Continuous Integration and Continuous Deployment (CI/CD): *&lt;/em&gt; Selenium can be integrated into CI/CD pipelines to automate the testing of each code change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components of selenium:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;· Selenium IDE&lt;br&gt;
· Selenium RC&lt;br&gt;
· Selenium WebDriver&lt;br&gt;
· Selenium Grid&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium IDE (Integrated Development Environment):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is primarily used for recording and playback for creating the selenium test cases for the user actions like clicks, selection etc. who is new to automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium RC (Remote Controller):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This helps to design test scripts in any language of our choice. Server and client libraries are the two main components of selenium RC. The selenium RC has the following limitations.&lt;/p&gt;

&lt;p&gt;· Browser Limitations: Selenium RC had to work with browsers using a JavaScript-based “proxy” mechanism, which introduced potential instability and limitations.&lt;/p&gt;

&lt;p&gt;· Speed and Performance: The use of a JavaScript proxy added overhead and affected the speed and performance of test execution.&lt;/p&gt;

&lt;p&gt;· Maintenance and Compatibility: Selenium RC required separate “drivers” for each browser, making maintenance and compatibility challenging as browser version changes for every update.&lt;/p&gt;

&lt;p&gt;· Synchronization Issues: Selenium RC often faced synchronization problems, where test scripts had to wait for the browser to respond before proceeding to the next step.&lt;/p&gt;

&lt;p&gt;· Complex Setup: Setting up Selenium RC involved multiple components, which could be complex and difficult to configure correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium WebDriver:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium WebDriver is the enhanced version of Selenium RC to overcome its limitations. WebDriver communicates with browsers directly with the help of browser-specific native methods.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Grid:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium grid allows users to run tests on different machines with different browsers and OS simultaneously.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task15</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Mon, 29 Apr 2024 14:46:22 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task-15-f52</link>
      <guid>https://dev.to/vignesh_89/task-15-f52</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is selenium? Why do we use selenium for automation?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Selenium?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium represents an open-source framework utilized for automated testing within the software development domain. It presents an array of tools designed to automate web browsers, simplifying the process of testing web applications for performance, compatibility, and functionality. One of Selenium’s primary strengths is its compatibility with various programming languages such as Java, Python, C#, Ruby, among others. This enables testers and developers to employ Selenium’s capabilities within their preferred programming environment and language of expertise.&lt;/p&gt;

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

&lt;p&gt;Multi language support: Selenium supports multiple languages like Ruby, Java, PHP, Perl, Python, JavaScript, C# to create test scripts.&lt;/p&gt;

&lt;p&gt;Cross Browser support: The most widely used browsers in today’s world are Chrome, Firefox, Safari, Internet Explorer, Opera, and Edge. All the browsers are compatible with Selenium and hence we can use the same test script to test an application across multiple browsers to ensure it is working fine without having to change the scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; The automation scripts in Selenium enable the coverage of wide range of test cases and scenarios and this feature ensures the maximum test coverage of applications functionality.&lt;/p&gt;

&lt;p&gt;Reusable Test Scripts: Selenium enables testers to create reusable test scripts that help save time and effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parallel Testing:&lt;/strong&gt; Selenium supports parallel test execution allowing multiple tests to run concurrently which helps reduce the overall testing time. Selenium Grid id useful for parallel testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Framework availability:&lt;/strong&gt; Frameworks in selenium facilitate easy code maintenance, improving code reusability, easy portability, lowering the cost of script maintenance,&lt;/p&gt;

&lt;p&gt;and improving the readability of the code. Some of the frameworks include hybrid framework, data driven framework and keyword driven framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Experience Testing:&lt;/strong&gt; Selenium can simulate user interactions and behaviour, allowing testers to assess the user experience and ensure that the application is intuitive and user-friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation and Reporting:&lt;/strong&gt; Selenium provides detailed test execution logs and reports making it easier to track the results.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Continuous Integration and Continuous Deployment (CI/CD): *&lt;/em&gt; Selenium can be integrated into CI/CD pipelines to automate the testing of each code change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components of selenium:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;· Selenium IDE&lt;br&gt;
· Selenium RC&lt;br&gt;
· Selenium WebDriver&lt;br&gt;
· Selenium Grid&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium IDE (Integrated Development Environment):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is primarily used for recording and playback for creating the selenium test cases for the user actions like clicks, selection etc. who is new to automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium RC (Remote Controller):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This helps to design test scripts in any language of our choice. Server and client libraries are the two main components of selenium RC. The selenium RC has the following limitations.&lt;/p&gt;

&lt;p&gt;· Browser Limitations: Selenium RC had to work with browsers using a JavaScript-based “proxy” mechanism, which introduced potential instability and limitations.&lt;/p&gt;

&lt;p&gt;· Speed and Performance: The use of a JavaScript proxy added overhead and affected the speed and performance of test execution.&lt;/p&gt;

&lt;p&gt;· Maintenance and Compatibility: Selenium RC required separate “drivers” for each browser, making maintenance and compatibility challenging as browser version changes for every update.&lt;/p&gt;

&lt;p&gt;· Synchronization Issues: Selenium RC often faced synchronization problems, where test scripts had to wait for the browser to respond before proceeding to the next step.&lt;/p&gt;

&lt;p&gt;· Complex Setup: Setting up Selenium RC involved multiple components, which could be complex and difficult to configure correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium WebDriver:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium WebDriver is the enhanced version of Selenium RC to overcome its limitations. WebDriver communicates with browsers directly with the help of browser-specific native methods.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Grid:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium grid allows users to run tests on different machines with different browsers and OS simultaneously.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task 15</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Mon, 29 Apr 2024 14:40:02 +0000</pubDate>
      <link>https://dev.to/vignesh_89/what-is-selenium-why-do-we-use-selenium-for-automation-3a22</link>
      <guid>https://dev.to/vignesh_89/what-is-selenium-why-do-we-use-selenium-for-automation-3a22</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is selenium? Why do we use selenium for automation?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Selenium?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium represents an open-source framework utilized for automated testing within the software development domain. It presents an array of tools designed to automate web browsers, simplifying the process of testing web applications for performance, compatibility, and functionality. One of Selenium’s primary strengths is its compatibility with various programming languages such as Java, Python, C#, Ruby, among others. This enables testers and developers to employ Selenium’s capabilities within their preferred programming environment and language of expertise.&lt;/p&gt;

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

&lt;p&gt;Multi language support: Selenium supports multiple languages like Ruby, Java, PHP, Perl, Python, JavaScript, C# to create test scripts.&lt;/p&gt;

&lt;p&gt;Cross Browser support: The most widely used browsers in today’s world are Chrome, Firefox, Safari, Internet Explorer, Opera, and Edge. All the browsers are compatible with Selenium and hence we can use the same test script to test an application across multiple browsers to ensure it is working fine without having to change the scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; The automation scripts in Selenium enable the coverage of wide range of test cases and scenarios and this feature ensures the maximum test coverage of applications functionality.&lt;/p&gt;

&lt;p&gt;Reusable Test Scripts: Selenium enables testers to create reusable test scripts that help save time and effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parallel Testing:&lt;/strong&gt; Selenium supports parallel test execution allowing multiple tests to run concurrently which helps reduce the overall testing time. Selenium Grid id useful for parallel testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Framework availability:&lt;/strong&gt; Frameworks in selenium facilitate easy code maintenance, improving code reusability, easy portability, lowering the cost of script maintenance,&lt;/p&gt;

&lt;p&gt;and improving the readability of the code. Some of the frameworks include hybrid framework, data driven framework and keyword driven framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Experience Testing:&lt;/strong&gt; Selenium can simulate user interactions and behaviour, allowing testers to assess the user experience and ensure that the application is intuitive and user-friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation and Reporting:&lt;/strong&gt; Selenium provides detailed test execution logs and reports making it easier to track the results.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Continuous Integration and Continuous Deployment (CI/CD): *&lt;/em&gt; Selenium can be integrated into CI/CD pipelines to automate the testing of each code change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components of selenium:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;· Selenium IDE&lt;br&gt;
· Selenium RC&lt;br&gt;
· Selenium WebDriver&lt;br&gt;
· Selenium Grid&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium IDE (Integrated Development Environment):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is primarily used for recording and playback for creating the selenium test cases for the user actions like clicks, selection etc. who is new to automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium RC (Remote Controller):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This helps to design test scripts in any language of our choice. Server and client libraries are the two main components of selenium RC. The selenium RC has the following limitations.&lt;/p&gt;

&lt;p&gt;· Browser Limitations: Selenium RC had to work with browsers using a JavaScript-based “proxy” mechanism, which introduced potential instability and limitations.&lt;/p&gt;

&lt;p&gt;· Speed and Performance: The use of a JavaScript proxy added overhead and affected the speed and performance of test execution.&lt;/p&gt;

&lt;p&gt;· Maintenance and Compatibility: Selenium RC required separate “drivers” for each browser, making maintenance and compatibility challenging as browser version changes for every update.&lt;/p&gt;

&lt;p&gt;· Synchronization Issues: Selenium RC often faced synchronization problems, where test scripts had to wait for the browser to respond before proceeding to the next step.&lt;/p&gt;

&lt;p&gt;· Complex Setup: Setting up Selenium RC involved multiple components, which could be complex and difficult to configure correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium WebDriver:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium WebDriver is the enhanced version of Selenium RC to overcome its limitations. WebDriver communicates with browsers directly with the help of browser-specific native methods.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Grid:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium grid allows users to run tests on different machines with different browsers and OS simultaneously.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task 2 - Resubmission</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Mon, 05 Feb 2024 18:56:08 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task-2-resubmission-5cjm</link>
      <guid>https://dev.to/vignesh_89/task-2-resubmission-5cjm</guid>
      <description>&lt;p&gt;&lt;strong&gt;Testing Techniques&lt;/strong&gt;&lt;br&gt;
1.Boundary value Analysis(BVA) &amp;amp; Equivalence partition testing&lt;br&gt;
2.Decision table testing&lt;br&gt;
3.Use case testing&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boundary value Analysis(BVA):&lt;/strong&gt;&lt;br&gt;
Boundary value analysis is one of the test case design  techniques type in black box testing. This technique is used to find whether the application is accepting the expected range of values and there by rejecting the values which falls out of range, rather than focusing on only at the center of input  values. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; User ID text box has to accept alphabet characters (a-z), with length of maximum 4 to  10 characters length.&lt;/p&gt;

&lt;p&gt;BVA will be performed as below. &lt;/p&gt;

&lt;p&gt;Alphabet character Length : 10  (Max values) : Pass&lt;br&gt;
Alphabet character Length : 9   (Max values - 1) : Pass&lt;br&gt;
Alphabet character Length : 11  (Max values + 1) : Fail&lt;br&gt;
Alphabet character Length : 4 (Min values) : Pass&lt;br&gt;
Alphabet character Length : 5  (Min values + 1) : Pass&lt;br&gt;
Alphabet character Length : 3   (Min values - 1) : Fail&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Equivalence partition testing&lt;/strong&gt; is used to check the type of the input. This test case design is based on evaluation of equivalence classes of input condition. Equivalence class  means set of valid and invalid state of inputs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; User ID text box has to accept alphabet characters (a-z), with length of maximum 4 to  10 characters length.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Under positive scenario: ** Text box should accept only (a-z) characters only.&lt;br&gt;
**Under negative scenario:&lt;/strong&gt; Text box should not accept the characters other that (a-z), ie A-Z, 0-9, Spaces, Special characters etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision table testing:&lt;/strong&gt;&lt;br&gt;
Decision table testing is a black box test case design,  in which test cases are designed to execute the combinations of inputs shown in a decision table. Decision table testing approach is a good to deal with combinations of input, which has logical relationship between inputs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; Login page validation Allow use to login only when both “Username” &amp;amp; “Password” is entered correctly. And if the information does not matches the user’s actual credentials, output with error message to be displayed to user.&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%2Fixwkkj1mu6e8i7sor7ka.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%2Fixwkkj1mu6e8i7sor7ka.png" alt="Image description" width="677" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case testing:&lt;/strong&gt;&lt;br&gt;
Use case  testing is one of the black box testing techniques used for functional testing.&lt;br&gt;
This technique helps tester to identify the test cases that covers the entire developed software application on each transactions from start to end. use case testing helps to identify gaps in system, that might not have been found by testing individual  software components.&lt;/p&gt;

&lt;p&gt;Each use cases describes a specific use of the system by the user. Its is mostly used in developing test at system or acceptance level.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key elements of use cases:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Actors who will use with the system&lt;/li&gt;
&lt;li&gt;Use case diagram shows relations of the actors and use cases&lt;/li&gt;
&lt;li&gt;Use case scenarios.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; Withdrawing money from ATM machine. &lt;/p&gt;

&lt;p&gt;Below are the use cases. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 1:&lt;/strong&gt; Valid PIN&lt;br&gt;
Insert card -&amp;gt; Validates card and asks for a PIN -&amp;gt; Enters a PIN -&amp;gt; Validates a Pin, and Allows access to the account. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 2:&lt;/strong&gt;Pin not valid 1st 2 trials&lt;br&gt;
Insert card -&amp;gt; Validates card and asks for a PIN -&amp;gt; Enters a PIN -&amp;gt;  Validates a Pin, and Pin not valid (Display message and ask for re-try – twice)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 3:&lt;/strong&gt; Pin invalid 3 times &lt;br&gt;
 Insert card -&amp;gt; Validates card and asks for a PIN -&amp;gt; Enters a PIN -&amp;gt;  Validates a Pin, and Pin not valid (Display message and ask for re-try ) -&amp;gt; Pin invalid 3 times (eat card and exit).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 4:&lt;/strong&gt; Card not valid&lt;br&gt;
Insert card -&amp;gt; Validates card -&amp;gt; Card not valid (Display message and reject card)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LCSAJ Testing :&lt;/strong&gt;&lt;br&gt;
LCSAJ means “&lt;strong&gt;Linear Code Sequence and Jump&lt;/strong&gt;” testing. It is a white-box testing technique. It helps in designing test cases, which can increase the coverage of the code under test. LCSAJ testing focus on verifying all code sequences and jumps within the code.&lt;br&gt;
100% LCSAJ coverage means100% decision coverage&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Start of the segment, which can be a branch&lt;/li&gt;
&lt;li&gt;End of the segment, which can be the end of a branch&lt;/li&gt;
&lt;li&gt;specific line of linear code.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;Input X&lt;/li&gt;
&lt;li&gt;Input Y&lt;/li&gt;
&lt;li&gt;if X &amp;gt; Y:&lt;/li&gt;
&lt;li&gt;    Print (“X is Bigger”)&lt;/li&gt;
&lt;li&gt;else:&lt;/li&gt;
&lt;li&gt;    Print (“Y is Bigger”)&lt;/li&gt;
&lt;li&gt;Z = X + 7&lt;/li&gt;
&lt;li&gt;Print Z&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Sequence 1:&lt;/strong&gt; Line 1 to 2&lt;br&gt;
&lt;strong&gt;Sequence2 :&lt;/strong&gt; Line 3 - 4&lt;br&gt;
&lt;strong&gt;Sequence 3:&lt;/strong&gt; Line 5  - 6&lt;br&gt;
&lt;strong&gt;Sequence 4:&lt;/strong&gt;  Line 7&lt;br&gt;
&lt;strong&gt;Sequence: 5:&lt;/strong&gt; Line 8&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Case 1:&lt;/strong&gt; I/P:  X= 1, Y= 2 (X &amp;gt;Y is False )&lt;br&gt;
Test sequence executed: Sequence 1, sequence 3, Sequence 4, Sequence: 5.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Case 2:&lt;/strong&gt; I/P:  X= 2, Y= 1 (X &amp;gt;Y is True)&lt;br&gt;
Test sequence executed: Sequence 1, sequence 2, Sequence 4, Sequence: 5.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Case 3:&lt;/strong&gt; IP:  X= 1, Y= 1 (X &amp;gt;Y is False)&lt;br&gt;
Test sequence executed: Sequence 1, Sequence 4, Sequence: 5.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task 4</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Sat, 03 Feb 2024 13:58:50 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task-4-148b</link>
      <guid>https://dev.to/vignesh_89/task-4-148b</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Manual testing? , Advantages and disadvantages of manual testing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual testing&lt;/strong&gt; is a software testing type consisting of designing and executing all the test cases manually by human testers without using automated tools or scripts. It is one of the most fundamental testing processes, to fin both visible &amp;amp; hidden defect. Its it one of testing type which find the defect, that make the software user friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Manual testing?&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Even though test cases are  written covered with respect to requirement, and completed testing with the help automation, Exploratory or Adhoc testing is needed to cover all the user level scenarios,   which  is not practically possible to automate. &lt;/li&gt;
&lt;li&gt; Manual testing helps improve the quality, reliability, and user satisfaction of the software application before releasing SW.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Different stages of Manual testing:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requirement Analysis&lt;/li&gt;
&lt;li&gt;Test plan creation&lt;/li&gt;
&lt;li&gt;Test case design and creation.&lt;/li&gt;
&lt;li&gt;Test environment setup&lt;/li&gt;
&lt;li&gt;Test execution.&lt;/li&gt;
&lt;li&gt;Defect logging.&lt;/li&gt;
&lt;li&gt;Defects fixing and confirmation testing.&lt;/li&gt;
&lt;li&gt;Test closure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Requirement Analysis:&lt;/strong&gt; Analysis of requirement from system requirement specification, Study of  project documentation will be carried out at this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Plan creation:&lt;/strong&gt; Test planning covering the requirement, Resource planning, project planning and cost will be carried out this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test case creation:&lt;/strong&gt;  Test cases design &amp;amp; Creation which cover all the requirements described in the documentation will be covered in this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test environment setup:&lt;/strong&gt; Test environment &amp;amp;  setup, which includes configuring the hardware, software, and network settings required for performing the tests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test case execution:&lt;/strong&gt; Review of test cases by client will be done and test execution of the documented test cases will happen at this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Defect Logging:&lt;/strong&gt; Detect the bugs which doesn't matches the requirement with log will be reported them to developers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Defects fixing and confirmation testing:&lt;/strong&gt; Once the defect is fixed, Re verification of fixed defects will be performed and failed test cases will be re-executed along with regression testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Closure:&lt;/strong&gt; Generation of test  summary report along with test coverage &amp;amp; defects reported and fix status will be shared to stakeholders after testing is completed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of Manual testing:&lt;/strong&gt;&lt;br&gt;
1.Flexible to adapt &amp;amp; explore various test scenarios based of previous similar project experience.&lt;br&gt;
2.Explore the SW and find new test cases based on testers domain knowledge.&lt;br&gt;
3.Less expensive and it does not requires high skill and specific tools.&lt;br&gt;
4.Test case test all dynamic changing UI design, layout and all texts.&lt;br&gt;
5.Easy to implement unplanned testing and adopt to the requirement of applications.&lt;br&gt;
6.Easy for tester to learn as it doesn’t requires any programming skill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages of Manual Testing:&lt;/strong&gt;&lt;br&gt;
1.Manual testing is time consuming and tester dependent.&lt;br&gt;
2.Less reliable due to human error.&lt;br&gt;
3.More resource are required to proceed with all levels of testing.&lt;br&gt;
4.Time consuming process of the project is large.&lt;br&gt;
5.Complicate for longrun stability testing, Configuration testing, security testing and reliability testing.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task 3</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Sat, 03 Feb 2024 10:46:15 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task-3-bk2</link>
      <guid>https://dev.to/vignesh_89/task-3-bk2</guid>
      <description>&lt;p&gt;What is difference between Functional testing and non Functional testing?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functional testing:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Functional testing ensures that the entire integrated software system meets requirements. It tests a configuration to ensure known and predictable results.  Main purpose this testing is to test each function of the application by providing the input and verify output as per the requirement.&lt;/p&gt;

&lt;p&gt;Different types of functional testing: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unit testing&lt;/li&gt;
&lt;li&gt;Integration testing&lt;/li&gt;
&lt;li&gt;Smoke testing&lt;/li&gt;
&lt;li&gt;Sanity testing&lt;/li&gt;
&lt;li&gt;User acceptance testing&lt;/li&gt;
&lt;li&gt;Regression testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Unit testing:&lt;/strong&gt; This testing involves individual testing  unit of code separately to make sure that it works on its own, Independent of other units.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration testing:&lt;/strong&gt; The Integration testing part of a testing methodology to test different modules/components that are unit tested when integrated together to perform specific tasks and activities. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smoke testing:&lt;/strong&gt; Smoke testing is done , when now functionality of SW are developed and integrated with existing build that is deployed. It make sure that all critical functionality are working correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sanity testing:&lt;/strong&gt; Sanity testing is performed after Software received with changes in code and functionality. This testing is to make sure that bugs have been fixed and new bugs are no introduced after changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Acceptance testing:&lt;/strong&gt; This testing is done by end user or customer to verify that SW system &amp;amp; Application before moving to production environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Regression testing:&lt;/strong&gt; This testing verifies that recent code changes has not created any side effect on already existing functionality of the system.  &lt;/p&gt;

&lt;p&gt;Regression testing is performed when there is code change is SW application, before moving it to live.&lt;/p&gt;

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

&lt;p&gt; Non-functional testing is a type of software testing that is performed to verify the non-functional requirements of the application. It verifies the behaviour of the system is as per requirement. It is mainly done based on expectation of customer to improve the performance and durability of the application. &lt;/p&gt;

&lt;p&gt;Non functional testing types&lt;/p&gt;

&lt;ul&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;li&gt;Compatibility testing&lt;/li&gt;
&lt;li&gt;Configuration testing&lt;/li&gt;
&lt;li&gt;Security Testing&lt;/li&gt;
&lt;li&gt;Volume Testing &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Performance Testing:&lt;/strong&gt; This testing is done to validate the performance of application, how a system behaves&lt;br&gt;
&lt;strong&gt;Eg:&lt;/strong&gt; Under increasing load both numbers of users and data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Load testing:&lt;/strong&gt; This testing is done to validate the application behaviour on specific condition of load.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stress testing:&lt;/strong&gt; This testing is done to validate the application behaviour on certain level of stress of application.&lt;br&gt;
&lt;strong&gt;Eg:&lt;/strong&gt; Tests  load exceed condition  that system can support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compatibility testing:&lt;/strong&gt;  This testing is done to test application of different configuration.&lt;br&gt;
        &lt;strong&gt;Eg:&lt;/strong&gt; Different browser, OS, Display size in  case of mobile/TV etc&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configuration testing:&lt;/strong&gt; This testing is to validate the application on different HW  &amp;amp; SW configuration.&lt;br&gt;
&lt;strong&gt;Eg:&lt;/strong&gt; Testing WhatsApp with different Android and iOS version and with different mobile manufacturers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security testing:&lt;/strong&gt; This testing is performed to check the security aspects like data protection and functionality of SW.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Volume testing:&lt;/strong&gt; This testing is done to validate the application behavior on specific condition of load.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task 2</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Sat, 03 Feb 2024 06:18:41 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task-2-1063</link>
      <guid>https://dev.to/vignesh_89/task-2-1063</guid>
      <description>&lt;p&gt;&lt;strong&gt;Testing Techniques&lt;/strong&gt;&lt;br&gt;
1.Boundary value Analysis(BVA) &amp;amp; Equivalence partition testing&lt;br&gt;
2.Decision table testing&lt;br&gt;
3.Use case testing&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boundary value Analysis(BVA):&lt;/strong&gt;&lt;br&gt;
Boundary value analysis is one of the test case design  techniques type in black box testing. This technique is used to find whether the application is accepting the expected range of values and there by rejecting the values which falls out of range, rather than focusing on only at the center of input  values. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; User ID text box has to accept alphabet characters (a-z), with length of maximum 4 to  10 characters length.&lt;/p&gt;

&lt;p&gt;BVA will be performed as below. &lt;/p&gt;

&lt;p&gt;Alphabet character Length : 10  (Max values) : Pass&lt;br&gt;
Alphabet character Length : 9   (Max values - 1) : Pass&lt;br&gt;
Alphabet character Length : 11  (Max values + 1) : Fail&lt;br&gt;
Alphabet character Length : 4 (Min values) : Pass&lt;br&gt;
Alphabet character Length : 5  (Min values + 1) : Pass&lt;br&gt;
Alphabet character Length : 3   (Min values - 1) : Fail&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Equivalence partition testing&lt;/strong&gt; is used to check the type of the input. This test case design is based on evaluation of equivalence classes of input condition. Equivalence class  means set of valid and invalid state of inputs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; User ID text box has to accept alphabet characters (a-z), with length of maximum 4 to  10 characters length.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Under positive scenario: ** Text box should accept only (a-z) characters only.&lt;br&gt;
**Under negative scenario:&lt;/strong&gt; Text box should not accept the characters other that (a-z), ie A-Z, 0-9, Spaces, Special characters etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision table testing:&lt;/strong&gt;&lt;br&gt;
Decision table testing is a black box test case design,  in which test cases are designed to execute the combinations of inputs shown in a decision table. Decision table testing approach is a good to deal with combinations of input, which has logical relationship between inputs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; Login page validation Allow use to login only when both “Username” &amp;amp; “Password” is entered correctly. And if the information does not matches the user’s actual credentials, output with error message to be displayed to user.&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%2Fixwkkj1mu6e8i7sor7ka.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%2Fixwkkj1mu6e8i7sor7ka.png" alt="Image description" width="677" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case testing:&lt;/strong&gt;&lt;br&gt;
Use case  testing is one of the black box testing techniques used for functional testing.&lt;br&gt;
This technique helps tester to identify the test cases that covers the entire developed software application on each transactions from start to end. use case testing helps to identify gaps in system, that might not have been found by testing individual  software components.&lt;/p&gt;

&lt;p&gt;Each use cases describes a specific use of the system by the user. Its is mostly used in developing test at system or acceptance level.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key elements of use cases:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Actors who will use with the system&lt;/li&gt;
&lt;li&gt;Use case diagram shows relations of the actors and use cases&lt;/li&gt;
&lt;li&gt;Use case scenarios.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ex:&lt;/strong&gt; Withdrawing money from ATM machine. &lt;/p&gt;

&lt;p&gt;Below are the use cases. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 1:&lt;/strong&gt; Valid PIN&lt;br&gt;
Insert card -&amp;gt; Validates card and asks for a PIN -&amp;gt; Enters a PIN -&amp;gt; Validates a Pin, and Allows access to the account. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 2:&lt;/strong&gt;Pin not valid 1st 2 trials&lt;br&gt;
Insert card -&amp;gt; Validates card and asks for a PIN -&amp;gt; Enters a PIN -&amp;gt;  Validates a Pin, and Pin not valid (Display message and ask for re-try – twice)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 3:&lt;/strong&gt; Pin invalid 3 times &lt;br&gt;
 Insert card -&amp;gt; Validates card and asks for a PIN -&amp;gt; Enters a PIN -&amp;gt;  Validates a Pin, and Pin not valid (Display message and ask for re-try ) -&amp;gt; Pin invalid 3 times (eat card and exit).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case 4:&lt;/strong&gt; Card not valid&lt;br&gt;
Insert card -&amp;gt; Validates card -&amp;gt; Card not valid (Display message and reject card)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LCSAJ Testing :&lt;/strong&gt;&lt;br&gt;
LCSAJ means “&lt;strong&gt;Linear Code Sequence and Jump&lt;/strong&gt;” testing. It is a white-box testing technique. It helps in designing test cases, which can increase the coverage of the code under test. LCSAJ testing focus on verifying all code sequences and jumps within the code.&lt;br&gt;
100% LCSAJ coverage means100% decision coverage&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Start of the segment, which can be a branch&lt;/li&gt;
&lt;li&gt;End of the segment, which can be the end of a branch&lt;/li&gt;
&lt;li&gt;specific line of linear code.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;Input X&lt;/li&gt;
&lt;li&gt;Input Y&lt;/li&gt;
&lt;li&gt;if X &amp;gt; Y:&lt;/li&gt;
&lt;li&gt;    Print (“X is Bigger”)&lt;/li&gt;
&lt;li&gt;else:&lt;/li&gt;
&lt;li&gt;    Print (“Y is Bigger”)&lt;/li&gt;
&lt;li&gt;Z = X + 7&lt;/li&gt;
&lt;li&gt;Print Z&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Sequence 1:&lt;/strong&gt; Line 1 to 2&lt;br&gt;
&lt;strong&gt;Sequence2 :&lt;/strong&gt; Line 3 - 4&lt;br&gt;
&lt;strong&gt;Sequence 3:&lt;/strong&gt; Line 5  - 6&lt;br&gt;
&lt;strong&gt;Sequence 4:&lt;/strong&gt;  Line 7&lt;br&gt;
&lt;strong&gt;Sequence: 5:&lt;/strong&gt; Line 8&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Case 1:&lt;/strong&gt; I/P:  X= 1, Y= 2 (X &amp;gt;Y is False )&lt;br&gt;
Test sequence executed: Sequence 1, sequence 3, Sequence 4, Sequence: 5.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Case 2:&lt;/strong&gt; I/P:  X= 2, Y= 1 (X &amp;gt;Y is True)&lt;br&gt;
Test sequence executed: Sequence 1, sequence 2, Sequence 4, Sequence: 5.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Case 3:&lt;/strong&gt; IP:  X= 1, Y= 1 (X &amp;gt;Y is False)&lt;br&gt;
Test sequence executed: Sequence 1, Sequence 4, Sequence: 5.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task1</title>
      <dc:creator>Vignesh</dc:creator>
      <pubDate>Thu, 25 Jan 2024 13:35:52 +0000</pubDate>
      <link>https://dev.to/vignesh_89/task1-95</link>
      <guid>https://dev.to/vignesh_89/task1-95</guid>
      <description>&lt;p&gt;What is Software testing? What we need to know about SW testing? What is relevance of software testing?&lt;/p&gt;

&lt;p&gt;Software testing is the method to verify the SW developed with the specific requirement is working as per the requirement. &lt;br&gt;
SW developed should be defect free after the testing. Static testing and Dynamic testing are the types of testing.&lt;/p&gt;

&lt;p&gt;Static testing mainly done in developer side to make sure that SW code is working fine and the requirement mistakes also identified during Static testing.&lt;br&gt;
70% of the defects can be identified during static testing time only.&lt;/p&gt;

&lt;p&gt;Dynamic testing will be done by testing team, to make sure that Requirement implemented is working fine. 30% of testing will be completed. &lt;br&gt;
Software testing is done at the run time to analyze the dynamic behavior of the code.&lt;/p&gt;

&lt;p&gt;Software testing Life cycle will be as below :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Requirement Analysis -&amp;gt; Test Planning  -&amp;gt; TC Development -&amp;gt; Test Environment setup -&amp;gt; TC Execution -&amp;gt; Closure.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Requirement Analysis: Where the requirement of SW will be analyzed at this phase.&lt;/p&gt;

&lt;p&gt;Test planning: Planning phase involves recourse estimation and testing efforts involved&lt;/p&gt;

&lt;p&gt;TC case development: Test case will be developed for this project requirement, &lt;br&gt;
different techniques like boundary value analysis, Requirement traceability matrix, equivalent partition, etc. will be used for writing the test cases.&lt;/p&gt;

&lt;p&gt;Test Environment : Test environment decides the conditions on which software need to be tested similar like customer environment to verify all the cases including Adhoc test.&lt;/p&gt;

&lt;p&gt;TC Execution: After the TC development and test environment setup,  test execution will be done for developed TCs. Defects will be reported at this stage if the requirement is &lt;br&gt;
not matched. &lt;/p&gt;

&lt;p&gt;Test  closure:  Once the testing activities are completed, Same will be documented along with defect reported list for tracking. &lt;/p&gt;

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