<?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: Sujitha</title>
    <description>The latest articles on DEV Community by Sujitha (@sujithagandhi).</description>
    <link>https://dev.to/sujithagandhi</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%2F1210208%2Fad9b87f5-5e3e-4d52-a00b-076ddad045e7.jpg</url>
      <title>DEV Community: Sujitha</title>
      <link>https://dev.to/sujithagandhi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sujithagandhi"/>
    <language>en</language>
    <item>
      <title>Selenium Architecture</title>
      <dc:creator>Sujitha</dc:creator>
      <pubDate>Sun, 17 Dec 2023 08:49:24 +0000</pubDate>
      <link>https://dev.to/sujithagandhi/selenium-architecture-22ff</link>
      <guid>https://dev.to/sujithagandhi/selenium-architecture-22ff</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Selenium WebDriver Architecture:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Selenium WebDriver is currently the most widely used component in the Selenium tool suite. Selenium WebDriver: &lt;em&gt;Selenium 2 integrated with WebDriver API&lt;/em&gt; provides an understandable programming interface. JAVA and C# languages are mostly preferred to work with Selenium.&lt;/li&gt;
&lt;li&gt;Through test scripts, WebDriver simulates user actions, navigates through web pages, interacts with elements (such as button, text, dropdown menu, forms, links, etc), submit forms, perform validations, assertions and many more.&lt;/li&gt;
&lt;/ul&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%2Fdwdvg2wsjz1qjit6y3hn.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%2Fdwdvg2wsjz1qjit6y3hn.png" alt="Image description" width="789" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;In &lt;strong&gt;&lt;em&gt;Selenium 3&lt;/em&gt;&lt;/strong&gt;, there is &lt;em&gt;no direct communication between the client libraries&lt;/em&gt; (Java, Python, JavaScript, etc) and the browser drivers. The server (browser drivers) &lt;em&gt;does not understand language&lt;/em&gt; but only the protocols and on the other hand, client libraries does not understand protocols used by browser drivers. &lt;/li&gt;
&lt;li&gt;Therefore, JSON Wire protocol is being used as a mediator between client and server to encode and decode the requests and responses made by client and server respectively. This results in limited browser interaction, inefficient communication and lack of standardization which ultimately led to flaky test and slower test execution.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Architecture of Selenium 4 WebDriver:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&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%2Fegbperbzk9e4zrivy4uz.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%2Fegbperbzk9e4zrivy4uz.png" alt="Image description" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The architecture of Selenium is composed of:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Selenium IDE:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Selenium IDE (Integrated Development Environment) is primarily a record/run tool that a test case developer uses to develop Selenium Test cases. It is just a web-browser extension.&lt;br&gt;
Selenium IDE is an easy-to-use tool from the Selenium Test Suite and can even be used by someone new to developing automated test cases for their web applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Selenium Remote Control:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Selenium RC is an important component in the Selenium test suite. It is a testing framework that enables a QA or a developer to write test cases in any programming language in order to automate UI tests for web applications against any HTTP website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. Selenium WebDriver:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Selenium WebDriver is a web framework that permits you to execute cross-browser tests. This tool is used for automating web-based application testing to verify that it performs expectedly. Selenium WebDriver allows you to choose a programming language to create test scripts.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Selenium WebDriver Architecture is made up of four major components:&lt;/em&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%2F96xegmfk18bsberfe928.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%2F96xegmfk18bsberfe928.png" alt="Image description" width="800" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Selenium Client library:&lt;/em&gt;&lt;/strong&gt; Selenium provides support to multiple libraries such as Ruby, Python, Java, etc as language bindings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;JSON wire protocol over HTTP:&lt;/em&gt;&lt;/strong&gt; 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;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Browser Drivers:&lt;/em&gt;&lt;/strong&gt; Selenium browser drivers are native to each browser, interacting with the browser by establishing a secure connection. Selenium supports different browser drivers such as ChromeDriver, GeckoDriver, Microsoft Edge WebDriver, SafariDriver, and InternetExplorerDriver.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Browsers:&lt;/em&gt;&lt;/strong&gt; Selenium provides support for multiple browsers like Chrome, Firefox, Safari, Internet Explorer etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;4. Selenium Grid&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
It is used to run parallel tests on multiple devices running different browsers at different geographical locations&lt;br&gt;
We can run multiple test-cases simultaneously at one moment of time&lt;br&gt;
It used the Hub-Node architecture or Master-Slave architecture&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Python virtual environment:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Python virtual environments give you the ability to isolate your Python development projects from your system installed Python and other Python environments. This gives you full control of your project and makes it easily reproducible&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Usage of Python Virtual Environment&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;From terminal / command-prompt&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Check the version of Python virtual environment&lt;/p&gt;

&lt;p&gt;&lt;em&gt;virtualenv --version&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a Python Virtual environment&lt;/p&gt;

&lt;p&gt;&lt;em&gt;virtualenv &lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Activate your Python Virtual environment&lt;br&gt;
_ Scripts\activate_&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deactivate your Python Virtual environment&lt;/p&gt;

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

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Pycharm:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
PyCharm makes it possible to use the virtualenv tool to create a project-specific isolated virtual environment. The main purpose of virtual environments is to manage settings and dependencies of a particular project regardless of other Python projects.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SELENIUM</title>
      <dc:creator>Sujitha</dc:creator>
      <pubDate>Thu, 14 Dec 2023 11:06:18 +0000</pubDate>
      <link>https://dev.to/sujithagandhi/selenium-2gbh</link>
      <guid>https://dev.to/sujithagandhi/selenium-2gbh</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;What is selenium?&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Selenium is &lt;strong&gt;&lt;em&gt;Automation tool&lt;/em&gt;&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;It is a &lt;strong&gt;&lt;em&gt;open source product&lt;/em&gt;,&lt;/strong&gt; and &lt;em&gt;&lt;strong&gt;freeware&lt;/strong&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;supprots different platform and browser&lt;/em&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Selenium is used with &lt;em&gt;&lt;strong&gt;Java, Python, JavaScript, C#, Ruby, PHP&lt;/strong&gt;&lt;/em&gt; etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It has a suite of tools which caters to different needs of organizations. It basically has four different tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Selenium RC&lt;/strong&gt;&lt;/em&gt; (which is now deprecated)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Selenium IDE&lt;/strong&gt;&lt;/em&gt; (Selenium Integrated Development Environment)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Selenium Grid&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Selenium WebDriver&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Why do we use selenium for automation?&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The benefits of Selenium Testing with respect to Test Automation are immense.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It enables testers to write automated tests in &lt;em&gt;&lt;strong&gt;various programming languages&lt;/strong&gt;&lt;/em&gt; to test the functionality of web applications. &lt;/li&gt;
&lt;li&gt; Selenium tests can be run on many &lt;em&gt;&lt;strong&gt;different browsers and operating systems&lt;/strong&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Selenium Testing Tool is an excellent tool for &lt;em&gt;&lt;strong&gt;automating web application testing.&lt;/strong&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;It enables &lt;em&gt;&lt;strong&gt;record and playback&lt;/strong&gt;&lt;/em&gt; for testing web applications and can _*&lt;em&gt;run multiple scripts *&lt;/em&gt;_across various browsers.&lt;/li&gt;
&lt;li&gt;Selenium automation &lt;em&gt;&lt;strong&gt;test suites are reusable&lt;/strong&gt;&lt;/em&gt; and can be tested across multiple browsers and operating systems.&lt;/li&gt;
&lt;li&gt;it helps the developers and testers in &lt;em&gt;&lt;strong&gt;quick changes to the code, reducing duplication, minimizing complications and improving maintainability.&lt;/strong&gt;&lt;/em&gt; These features make Selenium &lt;em&gt;&lt;strong&gt;more flexible&lt;/strong&gt;&lt;/em&gt; and usable as compared to other automation testing tools and hence helps Selenium to keep an edge.&lt;/li&gt;
&lt;li&gt;If you compare Selenium with other vendor focused automation tools like QTP, UFT, SilkTest, you will find that Selenium &lt;em&gt;&lt;strong&gt;requires less hardware&lt;/strong&gt;&lt;/em&gt; as compared to other testing tools.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Manual Testing Benefits &amp; Drawbacks</title>
      <dc:creator>Sujitha</dc:creator>
      <pubDate>Mon, 20 Nov 2023 12:32:18 +0000</pubDate>
      <link>https://dev.to/sujithagandhi/manual-testing-benefits-drawbacks-4lfh</link>
      <guid>https://dev.to/sujithagandhi/manual-testing-benefits-drawbacks-4lfh</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Manual Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Manual testing is type of software testing which is used to test software product or web applications or mobile applications by manually (Tester) without using any automated tool.&lt;/li&gt;
&lt;li&gt;In software testing “100% automation is not possible”.&lt;/li&gt;
&lt;li&gt;It checks the quality of the product and deliver the error-free product to client. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Benefits of Manual Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;In manual testing there is no environmental limitations.&lt;/li&gt;
&lt;li&gt;In manual testing there is no programming knowledge is required.&lt;/li&gt;
&lt;li&gt;In manual testing it easy to find the errors in early stage.&lt;/li&gt;
&lt;li&gt;In dynamically changing projects and GUI design manual testing plays an important role. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Drawbacks of Manual Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Manual testing needs more time and more resources.&lt;/li&gt;
&lt;li&gt;In manual testing executing the same test cases again and again is tedious process. &lt;/li&gt;
&lt;li&gt;Testing with large number of data is quite impossible in manual testing.&lt;/li&gt;
&lt;li&gt;In manual testing performance testing is not possible. &lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;For ecommerce website it is not possible to have same UI, in this case manual testing is more preferable.&lt;/li&gt;
&lt;li&gt;Load testing and stress testing in not possible in manual testing&lt;/li&gt;
&lt;li&gt;To test large number of data is impossible&lt;/li&gt;
&lt;li&gt;Executing the same test case in multiple time is tedious process.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Funtional Testing vs Non-Functional Testing</title>
      <dc:creator>Sujitha</dc:creator>
      <pubDate>Sat, 18 Nov 2023 10:43:49 +0000</pubDate>
      <link>https://dev.to/sujithagandhi/funtional-testing-vs-non-functional-testing-2opm</link>
      <guid>https://dev.to/sujithagandhi/funtional-testing-vs-non-functional-testing-2opm</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Functional Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Checking the functionality of the application works fine according to the client needs. It verifies that each function of the software application works in conformance with the requirement and specification.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Purpose of Functional Testing&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test each function of the application.&lt;/li&gt;
&lt;li&gt;Test primary entry function.&lt;/li&gt;
&lt;li&gt;Test flow of the GUI screen.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What to Test in Functional Testing?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic Usability.&lt;/li&gt;
&lt;li&gt;Mainline functions.&lt;/li&gt;
&lt;li&gt;Accessibility.&lt;/li&gt;
&lt;li&gt;Error Conditions. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Functional Testing Process&lt;/strong&gt;&lt;/em&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%2Fmfgo751as5eoinhfdedk.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%2Fmfgo751as5eoinhfdedk.png" alt="Image description" width="625" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Non-Functional Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Checking how other aspects of the applications working fine. Checking performance, stability, usability of the application.&lt;/li&gt;
&lt;li&gt;Helps to reduce production risk and cost associated with non-functional aspects of the product.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Non Functional Test Types&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance Tests&lt;/li&gt;
&lt;li&gt;Load Tests&lt;/li&gt;
&lt;li&gt;Stress Tests&lt;/li&gt;
&lt;li&gt;Volume Tests&lt;/li&gt;
&lt;li&gt;Security Tests&lt;/li&gt;
&lt;li&gt;Upgrade &amp;amp; Installation Tests&lt;/li&gt;
&lt;li&gt;Recovery Tests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Non-functional testing Parameters&lt;/em&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%2F6sa8f3irbt7u8qkuw3ho.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%2F6sa8f3irbt7u8qkuw3ho.png" alt="Image description" width="591" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Functional testing vs Non-Functional Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&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%2Fbz24q7esp202q47phvvp.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%2Fbz24q7esp202q47phvvp.png" alt="Image description" width="688" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Testing Technique</title>
      <dc:creator>Sujitha</dc:creator>
      <pubDate>Sat, 18 Nov 2023 09:48:01 +0000</pubDate>
      <link>https://dev.to/sujithagandhi/software-testing-technique-2ii4</link>
      <guid>https://dev.to/sujithagandhi/software-testing-technique-2ii4</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Software Testing Technique:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Software Testing Technique is used to design your test cases in a better way.  Even though completing testing is not possible, this test technique helps you to reduce the number of test cases by increasing test coverage. This testing technique makes you to identify test condition easier at the time of difficult to recognize.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Types of Test Case Design Technique:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; Boundary Value Analysis&lt;/li&gt;
&lt;li&gt; Equivalence Class Partitioning&lt;/li&gt;
&lt;li&gt; Decision Table&lt;/li&gt;
&lt;li&gt; State Transition&lt;/li&gt;
&lt;li&gt; Error Guessing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Boundary Value Analysis:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; Boundary Value Analysis is one the testing techniques in Black Box testing which is used to test the values on the boundaries. It usually focused between both the extreme ends or between both the extreme boundary values. &lt;/li&gt;
&lt;li&gt;Boundary values like Start-End, Lower- Upper, Maximum-Minimum, Just Inside-Just Outside values.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The basic idea to select input variable values at their:&lt;br&gt;
          1. Just below the Minimum&lt;br&gt;
          2. Minimum&lt;br&gt;
          3. Just above the minimum&lt;br&gt;
          4. A nominal value&lt;br&gt;
          5. Just below the maximum&lt;br&gt;
          6. Maximum&lt;br&gt;
          7. Just above the maximum.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Example:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
One form that have age field which accepts the person’s age group between 18 to 35. While testing this field as a tester we should write a greater number of test cases to test. With the help of boundary value analysis technique, it reduces the number of test cases with more test coverage.&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                Application Form

     Name: _____________(_Accepts alpha-numeic_)
     Age: ______________(_must above 18 and below 35_)
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For the above case, if we apply Boundary Value Testing technique which would involve testing the following values:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Test Case 1:&lt;/em&gt; Test a value just below the minimum boundary (17).&lt;br&gt;
&lt;em&gt;Test Case 2:&lt;/em&gt; Test the minimum boundary value (18).&lt;br&gt;
&lt;em&gt;Test Case 3:&lt;/em&gt; Test a value just above the minimum boundary (19).&lt;br&gt;
&lt;em&gt;Test Case 4:&lt;/em&gt; Test a nominal value (22).&lt;br&gt;
&lt;em&gt;Test Case 5:&lt;/em&gt; Test a value just below the maximum boundary (34).&lt;br&gt;
&lt;em&gt;Test Case 6:&lt;/em&gt; Test the maximum boundary value (35).&lt;br&gt;
&lt;em&gt;Test Case 7:&lt;/em&gt; Test a value just beyond the maximum boundary (36).&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Decision Table Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Decision Table is one the testing techniques in Black Box testing which is used to test system behaviour for various input combinations. In this technique, the several input combinations and their corresponding system behaviour are picturized in tabular form. It is also known as a cause-effect table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Use of decision table testing?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Decision tables are an effective tool for managing multiple combinations of conditions and actions, allowing for a comprehensive analysis of all possible scenarios. This inclusive approach minimizes the risk of overlooking critical test cases. Software applications encompass various possible inputs and outputs.&lt;/p&gt;

&lt;p&gt;This technique is used to pick the test cases in a systematic manner&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Let’s take a login page with user name and password. If both user name and password are correctly matched, the user will be directed to the landing page; otherwise, it will come back to the login page with an error message like "Incorrect User Name" or "Incorrect Password."&lt;/li&gt;
&lt;li&gt;Decision table for the login functionality in which we can log in by using user name and password. Both the user name and the password are 
the conditions, and the expected result is action.&lt;/li&gt;
&lt;/ul&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%2Ft8ner5zfud78cf3apymv.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%2Ft8ner5zfud78cf3apymv.png" alt="Image description" width="682" height="187"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the table, there are four conditions or test cases to test the login function. In the first condition if both user name and password are correct, then the user should be directed to Landing page.&lt;/li&gt;
&lt;li&gt;In the second, third and final condition if both user name and password are in correct or either user name/password is incorrect, then it should display Incorrect user name or password.&lt;/li&gt;
&lt;li&gt;In order to find the number of all possible conditions, tester uses 2n formula where n denotes the number of inputs; in the example there is the number of inputs is 2 (one is true and second is false).&lt;/li&gt;
&lt;/ul&gt;

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

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Use Case Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Use Case Testing is a functional black box testing technique that helps testers to identify test scenarios that exercise the whole system on each transaction basis from start to finish. Test cases are the interactions between users and software application. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Benefits of Use Case Testing:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Helps manage complexity.&lt;/li&gt;
&lt;li&gt;Testing from the user’s perspective.&lt;/li&gt;
&lt;li&gt;Reduced complexity of test cases.&lt;/li&gt;
&lt;li&gt;Test functional requirements.&lt;/li&gt;
&lt;li&gt;Starts from a simple view of the system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Drawbacks of Use Case Testing:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Missing use case.&lt;/li&gt;
&lt;li&gt;Cover only functional requirements.&lt;/li&gt;
&lt;li&gt;Use cases are from the user’s perspective.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Use Case Example:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Case for ‘Login’ to a ‘School Management System’.&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%2Fxttdaa0h8fn24je5n60q.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%2Fxttdaa0h8fn24je5n60q.png" alt="Image description" width="759" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;&lt;strong&gt;LCSAJ Testing:&lt;/strong&gt;&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;LCSAJ means Linear Code Sequence and Jump. LCSAJ testing is a white-box testing technique used to determine the code coverage.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Testing - Introduction</title>
      <dc:creator>Sujitha</dc:creator>
      <pubDate>Wed, 15 Nov 2023 07:12:41 +0000</pubDate>
      <link>https://dev.to/sujithagandhi/what-is-software-testing-4301</link>
      <guid>https://dev.to/sujithagandhi/what-is-software-testing-4301</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;What is Software Testing?&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The process of evaluating the software product or web application or mobile app to ensure that should be functionally working fine and meet the client needs. &lt;/li&gt;
&lt;li&gt;Testing is done to make sure if the product is doing what it is supposed to and what it's not supposed to do.&lt;/li&gt;
&lt;li&gt;Gap between the actual to expected result is analysed.&lt;/li&gt;
&lt;li&gt;Testing process involves verification and validation
 &lt;strong&gt;&lt;em&gt;Verification:&lt;/em&gt;&lt;/strong&gt; Are we building the product, right?
&lt;strong&gt;_ Validation:_&lt;/strong&gt; Are we building the right product?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;Why Software Testing?&lt;/em&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The main aim of the software testing is to give quality product to its clients and quality of product is measured by how the product is bug-free and meet the client's requirements. &lt;/li&gt;
&lt;li&gt;Customer satisfaction is fulfilled by 100 % defect free product and trust will be increased and will get more projects.&lt;/li&gt;
&lt;li&gt;By finding the bugs in early stage reduces the time and cost. Brings more profit.&lt;/li&gt;
&lt;li&gt;Performance of the software product will get improved.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;When to start software Testing ?&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once we get the requirement document, we can start software testing process side by side parallelly when software development life cycle stared.  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;When to stop software Testing?&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When all the major and critical bugs are fixed and executed all the test cases and the functionality works as per the client's need, then we can stop software Testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;What should we do in software Testing?&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Gathering the requirements and step-up testing environment&lt;/li&gt;
&lt;li&gt;Create Test scenarios and write test scripts&lt;/li&gt;
&lt;li&gt;Should concentrate on both positive and negative aspects &lt;/li&gt;
&lt;li&gt;Preparing test data&lt;/li&gt;
&lt;li&gt;Executes the test cases and prepare test summary report&lt;/li&gt;
&lt;li&gt;Raise bugs with proper documents and monitor the status of the big&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;What should not we do in software Testing?&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Should not make assumptions at the time of execution&lt;/li&gt;
&lt;li&gt;Should not start the test process without knowing the scope of the product and proper test plan&lt;/li&gt;
&lt;li&gt;Should not neglect any defects&lt;/li&gt;
&lt;li&gt;Should not sign off the test process until all major functionalities are tested and no open bug is there. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Kinds of Software Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Manual testing:&lt;/em&gt;&lt;/strong&gt; Testing any software product or application according to the client need by manually without using any automation tool.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Automation Testing:&lt;/em&gt;&lt;/strong&gt; With the help of specific tools to automate manual design test case without human interference. It is used to re-run the test scripts quickly and repeatedly which increases the productivity and efficiency.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Classifications of manual testing&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;White Box Testing:&lt;/em&gt;&lt;/strong&gt; It checks the structure of the code and it is also called as structural testing&lt;/li&gt;
&lt;li&gt;       &lt;strong&gt;&lt;em&gt;Black Box Testing:&lt;/em&gt;&lt;/strong&gt; Checking the functionality of application without concerning about structure of the code.&lt;/li&gt;
&lt;li&gt;       &lt;strong&gt;&lt;em&gt;Grey Box Testing:&lt;/em&gt;&lt;/strong&gt; Combination of both white box testing and black box testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Types of Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;&lt;em&gt;Functional Testing:&lt;/em&gt;&lt;/strong&gt; Checking the functionality of the application works fine according to the client needs.&lt;/li&gt;
&lt;li&gt;       &lt;strong&gt;&lt;em&gt;Non-Functional Testing:&lt;/em&gt;&lt;/strong&gt; Checking how other aspects of the applications working fine. Checking performance, stability, usability of the application. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Levels of Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Unit Testing:&lt;/em&gt;&lt;/strong&gt; It is the initial stage of testing which is used to verify the logics of each and every individual module or component. Unit testing is done by developer &lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;em&gt;Integration Testing:&lt;/em&gt;&lt;/strong&gt; It is the next stage of testing which is used to check the data flow and communication flow between two or more related individual modules or components.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;em&gt;System Testing:&lt;/em&gt;&lt;/strong&gt; Checking the functionality and behaviour of the application as whole. &lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;em&gt;Acceptance Testing:&lt;/em&gt;&lt;/strong&gt; Checking the functionality and behaviour of the application by the customer or end user.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;We need to know about Software Testing:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;First, we need to know about basic testing process.&lt;/li&gt;
&lt;li&gt;Know about basic Testing concepts.&lt;/li&gt;
&lt;li&gt;Know about basic Testing methodologies.&lt;/li&gt;
&lt;li&gt;Know about basic Product and domain knowledge.&lt;/li&gt;
&lt;li&gt;Know how to write a TestCase&lt;/li&gt;
&lt;li&gt;Know how to execute a TestCase&lt;/li&gt;
&lt;li&gt;Know how to report and track bugs. &lt;/li&gt;
&lt;/ul&gt;

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