<?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>Forem: Syed Ali</title>
    <description>The latest articles on Forem by Syed Ali (@syedalia21).</description>
    <link>https://forem.com/syedalia21</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%2F1594211%2F879c6225-6451-40d2-951a-70b8ec4e2b22.JPG</url>
      <title>Forem: Syed Ali</title>
      <link>https://forem.com/syedalia21</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/syedalia21"/>
    <language>en</language>
    <item>
      <title>TOPIC - ARCHITECTURE OF SELENIUM AND PYTHON VIRTUAL ENVIRONMENT</title>
      <dc:creator>Syed Ali</dc:creator>
      <pubDate>Wed, 16 Oct 2024 13:21:06 +0000</pubDate>
      <link>https://forem.com/syedalia21/topic-architecture-of-selenium-and-python-virtual-environment-5ell</link>
      <guid>https://forem.com/syedalia21/topic-architecture-of-selenium-and-python-virtual-environment-5ell</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;ARCHITECTURE OF SELENIUM&lt;/strong&gt;
&lt;/h2&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%2Fqqw85kzyji8tpuyto0dx.JPG" 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%2Fqqw85kzyji8tpuyto0dx.JPG" alt="Image description" width="721" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium IDE&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Shinya Kasatani&lt;/em&gt; of Japan created IDE (Integrated Development Environment), Its web browser extension that can automate the browser through record and playback feature. It is not make test reposts and It is the simplest framework in the Selenium suite and the easiest one to learn.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Paul Hammant&lt;/em&gt; came up with the concept of Selenium RC to overcome the problems of Selenium Core. &lt;/li&gt;
&lt;li&gt;This system is known as Selenium RC or Selenium 1. Selenium RC was the testing framework of the whole Selenium project for a long time. &lt;/li&gt;
&lt;li&gt;This was the first tool that allowed users to use a programming language they preferred like Java, Python, Ruby, etc. &lt;/li&gt;
&lt;li&gt;However after the introduction of WebDriver in the Selenium 2 version, people started using WebDriver, &lt;/li&gt;
&lt;li&gt;RC is deprecated from Selenium 3 onwards. Selenium 4 is the latest release&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;WebDriver is also an API. API contains many classes and methods by which we can communicate with the client and server. WD acts as a mediator between browser and client libraries. &lt;/p&gt;

&lt;p&gt;WebDriver is one of the components in Selenium by which we can automate the browser. WebDriver has different commands by which we can interact with the elements on the Webpage and we can perform different types of actions(Clicking buttons, entering texts, navigating pages) on the web applications.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Simon Stewart&lt;/em&gt; created WebDriver in 2006. &lt;/p&gt;

&lt;p&gt;Selenium WebDriver is a robust tool for automating web browsers. Its architecture consists of several key components:&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Selenium Client Library&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Client Library provides language-specific bindings (like Java, Python, C#, etc.) that enable developers to write Selenium scripts. &lt;/li&gt;
&lt;li&gt;These commands are compatible with HTTP, TCP-IP protocols&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Selenium API&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Acting as a mediator, the WebDriver API translates commands from Selenium scripts into a format that browser-specific drivers can understand. It defines a set of interfaces and methods for interacting with browsers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;JSON Wire Protocol&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The commands that you write gets converted into JSON which is then transmitted to the network or to your web browser so that it can be executed for automation or testing&lt;/li&gt;
&lt;li&gt;The JSON requests are sent to the client using TCP-IP/HTTP protocols.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Browser Driver&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It acts as a bridge between the Selenium scripts and web browser.&lt;/li&gt;
&lt;li&gt;It helps us to run the Selenium test-scripts, which comprises the commands written in a particular programming language to be executed on the web browser.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;It is a tool that runs parallel tests across different machines and browsers.&lt;br&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%2F9hv2uyf4nhwtp4xafhrf.JPG" 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%2F9hv2uyf4nhwtp4xafhrf.JPG" alt="Image description" width="552" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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;p&gt;When developing software with Python, a basic approach is to install Python on your machine, install all your required libraries via the terminal, write all your code in a single .py file or notebook, and run your Python program in the terminal.&lt;/p&gt;

&lt;p&gt;This is a common approach for a lot of beginners and many people transitioning from working with Python for data analytics.&lt;/p&gt;

&lt;p&gt;This works fine for simple Python scripting projects. But in complex software development projects, like building a Python library, an API, or software development kit, often you will be working with multiple files, multiple packages, and dependencies. As a result, you will need to isolate your Python development environment for that particular project.&lt;/p&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can have multiple environments, with multiple sets of packages, without conflicts among them. This way, different projects’ requirements can be satisfied at the same time.&lt;/li&gt;
&lt;li&gt;You can easily release your project with its own dependent modules.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting Up a Virtual Environment
&lt;/h2&gt;

&lt;p&gt;Here's a quick guide on how to set up and use a virtual environment:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Install Python Virtual Environment&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Pip install virtualenv&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Verify Python Virtual Environment&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Virtualenv --version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Create Virtual Environment&lt;/em&gt; ( To create project folder )&lt;/p&gt;

&lt;p&gt;&lt;code&gt;virtualenv &amp;lt;name_of_project&amp;gt;&lt;br&gt;
cd &amp;lt;name_of_project&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Activate Virtual Environment&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Scripts\activate&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Deactivate Virtual Environment&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Scripts\deactivate&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Install Python Selenium Module&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip install seleniu&lt;/code&gt;m&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Install Python WebDriver Manager Module&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip install webdriver-manager&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The use of Python Virtual Environments is essential for managing project dependencies effectively and ensuring that different projects can coexist peacefully on the same system.&lt;/p&gt;

</description>
      <category>selenium</category>
      <category>webdrive</category>
    </item>
    <item>
      <title>SELENIUM</title>
      <dc:creator>Syed Ali</dc:creator>
      <pubDate>Wed, 16 Oct 2024 09:38:25 +0000</pubDate>
      <link>https://forem.com/syedalia21/selenium-3lpf</link>
      <guid>https://forem.com/syedalia21/selenium-3lpf</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%2F3bnlsi9vv98xb86gkxvl.JPG" 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%2F3bnlsi9vv98xb86gkxvl.JPG" alt="Image description" width="667" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Selenium is a popular open-source automation framework &lt;/li&gt;
&lt;li&gt;It was created in 2004 by Jason Huggins &lt;/li&gt;
&lt;li&gt;it was limited to automating web applications. &lt;/li&gt;
&lt;li&gt;It was written entirely in Java but we can be used other languages like Python, Ruby, and PHP etc. &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Table of Content :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Advantages / Disadvantages  of Selenium&lt;/li&gt;
&lt;li&gt;Basic Program of Selenium&lt;/li&gt;
&lt;li&gt;Components of Selenium&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Advantages / Disadvantages  of Selenium
&lt;/h2&gt;

&lt;p&gt;Selenium is a widely used tool for automating web applications and is appreciated for its many advantages. However, like any technology, it also has some disadvantages. Here is a comprehensive overview of both:&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages of Selenium
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Open Source&lt;/strong&gt;: 
Selenium is free to use and open-source&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Browser Support&lt;/strong&gt;: 
Selenium supports multiple browsers, including Chrome, Firefox, Safari, Edge, and Internet Explorer. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Platform Compatibility&lt;/strong&gt;: 
Selenium can run on various operating systems such as Windows, macOS, and Linux. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple Language Support&lt;/strong&gt;: 
Selenium supports several programming languages, including Java, C, Python, Ruby, and JavaScript. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration with Other Tools&lt;/strong&gt;: 
Selenium can easily integrate with testing frameworks (like TestNG and JUnit) and CI/CD tools (like Jenkins). &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Disadvantages of Selenium
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Steep Learning Curve&lt;/strong&gt;: &lt;br&gt;
While Selenium can be powerful, it requires a good understanding of programming and testing concepts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Limited Support for Mobile Testing&lt;/strong&gt;: &lt;br&gt;
While Selenium is primarily aimed at web applications, its support for mobile app testing is not as comprehensive as some dedicated mobile testing frameworks. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No Automate-in Audio / Video Features&lt;/strong&gt;: &lt;br&gt;
It cannot automate audio, video or images which are present on the web application&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Basic Program – Open &amp;amp; quit the webpage.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from selenium import webdriver // Install Selenium &amp;amp; Webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from time import sleep

class Data:

    def __init__(self, url):
        self.url = url
        self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))


    def start(self):
        self.driver.get(self.url)

    def shutdown(self):
        self.driver.quit()

if __name__ == "__main__":
    url = "https://www.guvi.in"
    Call = Data(url)
    Call.start()
    Call.shutdown()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Components of Selenium
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Selenium comprises several key components:
&lt;/h2&gt;

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

&lt;p&gt;The most utilized component, WebDriver interacts directly with web elements across various browsers like Chrome, Firefox, Safari, and Edge, providing high control and accuracy for executing test scripts.&lt;/p&gt;

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

&lt;p&gt;IDE = Integrated Development Environment&lt;br&gt;
It is nothing but a simple web-browser extension&lt;br&gt;
It cannot make test reports&lt;br&gt;
IDE allows users to record their actions on web applications and export scripts in various languages, making it an excellent tool for those new to automation.&lt;/p&gt;

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

&lt;p&gt;It is used to run parallel tests on multiple devices running different browsers at the same time&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Selenium is a key resource in automated testing for web-based applications because of its flexibility, support for multiple browsers, integration skills, and robust community. which can decrease human efforts, improve test coverage, and speed up release cycles.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DIFFERENCE BETWEEN FUNCTIONAL AND NON-FUNCTIONAL TESTING</title>
      <dc:creator>Syed Ali</dc:creator>
      <pubDate>Thu, 04 Jul 2024 14:20:13 +0000</pubDate>
      <link>https://forem.com/syedalia21/difference-between-functional-and-non-functional-testing-4cn6</link>
      <guid>https://forem.com/syedalia21/difference-between-functional-and-non-functional-testing-4cn6</guid>
      <description>&lt;p&gt;The functional and non-functional testing both are necessary and important categories of software testing that help ensure the quality and reliability of a software application&lt;/p&gt;

&lt;h2&gt;
  
  
  Functional Testing:-
&lt;/h2&gt;

&lt;p&gt;Functional testing focuses on verifying that the software functions correctly according to its specifications. The majority of this testing is done in a black box manner without touching the source code of the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unit Testing:&lt;/strong&gt; Testing individual components or functions in isolation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration Testing:&lt;/strong&gt; Verifying that different components/modules work together as expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;System Testing:&lt;/strong&gt; Testing the entire system to ensure it meets the specified requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Acceptance Testing (UAT):&lt;/strong&gt; Checking if the software satisfies user requirements and expectations.&lt;/p&gt;

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

&lt;p&gt;Non-functional testing its focuses on characteristics like performance, usability, reliability, and scalability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance Testing:&lt;/strong&gt; Evaluating how well the software performs under various conditions (e.g., load testing, stress testing).&lt;br&gt;
&lt;strong&gt;Usability Testing:&lt;/strong&gt; Assessing the user-friendliness of the software and its user interface.&lt;br&gt;
&lt;strong&gt;Security Testing:&lt;/strong&gt; Identifying vulnerabilities and ensuring the software is secure.&lt;br&gt;
&lt;strong&gt;Reliability Testing:&lt;/strong&gt; Testing the software’s stability and its ability to recover from failures.&lt;br&gt;
&lt;strong&gt;Scalability Testing:&lt;/strong&gt; Measuring how the software handles increased load or data volume.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example of Functional and Non Functional Testing
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Functional Testing Example:
&lt;/h2&gt;

&lt;p&gt;For example for  "Amazon" is the checkout process. In functional testing, we focus on this process to ensure it works as expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test Scenarios:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Adding items to the cart: Users can select and add products to their shopping cart.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Applying discounts: The system correctly applies discount codes before finalizing the purchase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Checkout process: The application successfully processes payment information and completes the order.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In each case, input specific data (e.g., product selection, discount code), and verify that the output matches expectations (e.g., cart total updates, discount applied, order confirmation received).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Non-Functional Testing Example:
&lt;/h2&gt;

&lt;p&gt;For example for A mobile banking application is preparing for a major update. The development team conducts non-functional testing to ensure the update meets high performance, security, and usability standards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Testing:&lt;/strong&gt; Tests are performed to identify and fix vulnerabilities, ensuring user data is protected against unauthorized access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance Testing:&lt;/strong&gt; The application is tested under peak load conditions to guarantee smooth transactions during high traffic periods, like holidays.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usability Testing:&lt;/strong&gt; Feedback from a diverse user group is collected to refine the app’s interface, making it intuitive and easy to navigate for all users.&lt;/p&gt;

&lt;p&gt;This focused approach to non-functional testing ensures the banking app is secure, efficient, and user-friendly, maintaining user trust and satisfaction with every update.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Testing Technique</title>
      <dc:creator>Syed Ali</dc:creator>
      <pubDate>Mon, 24 Jun 2024 08:11:46 +0000</pubDate>
      <link>https://forem.com/syedalia21/software-testing-technique-38p4</link>
      <guid>https://forem.com/syedalia21/software-testing-technique-38p4</guid>
      <description>&lt;p&gt;&lt;strong&gt;Software Testing Technique&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software testing technique help us develop the better test case.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boundary Value Analysis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Boundary Value Analysis is a popular technique for black box testing. It is used to identify defects and errors in software by testing input values on the boundaries of the allowable ranges.&lt;/p&gt;

&lt;p&gt;Boundary value analysis (BVA) is based on testing the boundary values of valid and invalid partitions.&lt;/p&gt;

&lt;p&gt;Every partition for boundary analysis has its minimum and maximum values.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Minimum value&lt;/li&gt;
&lt;li&gt;Above minimum value&lt;/li&gt;
&lt;li&gt;Below the minimum value&lt;/li&gt;
&lt;li&gt;Maximum value&lt;/li&gt;
&lt;li&gt;Boundary value for an invalid partition is called invalid boundary value&lt;/li&gt;
&lt;li&gt;Boundary value for valid partition is called boundary value&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Importance of Boundary Value Analysis&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;BVA testing helps achieve top quality and increases reliability. This aids in avoiding errors and crashes.&lt;/li&gt;
&lt;li&gt;By enabling testers the ability to test a wide range of input values with few test cases, it leads to a reduction in overall effort and time.&lt;/li&gt;
&lt;li&gt;BVA in software testing also improves the accuracy in testing the system limit. This in turn helps in enhancing customer satisfaction by delivering high-quality software.&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%2F1tnruwnv7kut1q56tmkv.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%2F1tnruwnv7kut1q56tmkv.png" alt="Image description" width="793" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For age value from 20 to 66 &lt;br&gt;
Invalid Values- 19, 67&lt;br&gt;
Valid Values- 20, 21, 66, 65&lt;/p&gt;

&lt;p&gt;Test Case Scenarios&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Input: enter the age value as 20 (21+1)Output: Valid&lt;/li&gt;
&lt;li&gt;Input: enter the age value as 19 (20-1)Output- Invalid&lt;/li&gt;
&lt;li&gt;Input: enter the age value as 67 (66+1)Output: Invalid&lt;/li&gt;
&lt;li&gt;Input: enter the age value as 65 (66-1)Output: Valid&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Advantages and Disadvantages of Boundary Value Analysis&lt;/strong&gt;&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;BVA focuses testing efforts on boundary values, which are more likely to uncover defects compared to other inputs within the range. This targeted approach makes testing more efficient.&lt;/li&gt;
&lt;li&gt;BVA helps achieve better coverage of input space by considering both sides of boundaries (minimum and maximum values) as well as values just inside and outside the boundaries.&lt;/li&gt;
&lt;li&gt;BVA is a straightforward technique that can be easily understood and implemented by testers, making it suitable for various types of software testing.&lt;/li&gt;
&lt;li&gt;BVA can help identify defects early in the development lifecycle, which reduces the cost and effort required to fix them compared to detecting them in later stages.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;BVA may not detect all defects, especially those not related to boundary conditions. Testing only at boundaries may overlook errors that occur within the input domain.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Decision Table&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Decision table is also known as to cause - effect table. This ST technique is used for functions which respond to a combination of input and this is a black box test design technique, used where different combinations of test input conditions result in different outcomes. &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%2F39dl5mkb23a3ch98ux4y.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%2F39dl5mkb23a3ch98ux4y.png" alt="Image description" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linear Code Sequence and Jump&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LCSAJ stands for Linear Code Sequence and Jump, a white box testing technique to identify the code coverage, LCSAJ testing focuses on verifying that all linear code sequences and jumps within the code are exercised by test cases. This technique is commonly used in the context of structural testing or code coverage analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case testing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use case testing is a type of black box testing technique that helps you to identify test cases that form part of the entire system on a transaction basis from start to finish. It is used for functional testing to find defects in a developed system&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of Use case testing&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It helps in understanding the system requirements with utmost precision and clarity.&lt;/li&gt;
&lt;li&gt;It depicts the sequence of steps describing the interaction between actual users and the system in place.&lt;/li&gt;
&lt;li&gt;It simplifies the overall complexities involved in the system as you can focus on one task at a time.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages of Use case testing&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use cases cover only the functional requirements, and we cannot test non-functional requirements, which could be a significant challenge in the long run.&lt;/li&gt;
&lt;li&gt;The use cases are written from the user’s perspective. There could be scenarios in the system that are not supported from the end user’s perspective and might be missed in the use case documentation. In such a way, the test coverage is not exactly 100% for the feature or module to be tested.&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>What is Manual Testing/Benefits and drawbacks with some examples</title>
      <dc:creator>Syed Ali</dc:creator>
      <pubDate>Mon, 17 Jun 2024 08:07:32 +0000</pubDate>
      <link>https://forem.com/syedalia21/what-is-manual-testingbenefits-and-drawbacks-with-some-examples-49n</link>
      <guid>https://forem.com/syedalia21/what-is-manual-testingbenefits-and-drawbacks-with-some-examples-49n</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                       **MANUAL TESTING**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Manual testing is a software testing process in which test cases are executed manually without using any automated tool. All test cases executed by the tester manually as per to the end user's requirement. Test case reports are also generated manually.&lt;/p&gt;

&lt;p&gt;Manual Testing is one of the most fundamental testing processes as it can find both visible and hidden issues of the software. The difference between expected output and output, given by the software, is defined as a defect. The developer fixed the defects and handed it to the tester for retesting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TYPES OF MANUAL TESTING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are three methods used for manual testing. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;White Box Testing&lt;/li&gt;
&lt;li&gt;Black Box Testing&lt;/li&gt;
&lt;li&gt;Gray Box Testing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;WHITE-BOX TESTING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The white box testing is done by Programmer, where they check every line of a code before giving it to the QA. Since the code is visible for the programmer during the testing, that's why it is also known as White box testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BLACK BOX TESTING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The black box testing is done by the Tester, where they can check the functionality of an application or the software according to the customer needs. In this, the code is not visible while performing the testing, that's why it is known as black-box testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GRAY BOX TESTING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gray box testing is a combination of white box and black box testing. It can be performed by a person who knew both coding and testing. And if the single person performs white box, as well as black-box testing for the application, is known as Gray box testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MANUAL TESTING PROCESS&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First, tester observes all BRA document related to software, to select testing areas.&lt;/li&gt;
&lt;li&gt;Tester analyses requirement documents to cover all requirements stated by the customer.&lt;/li&gt;
&lt;li&gt;Tester write the test cases according to the requirement document.&lt;/li&gt;
&lt;li&gt;All test cases are executed manually by using Black box testing and white box testing.&lt;/li&gt;
&lt;li&gt;If bugs occurred then the testing team informs the development team.&lt;/li&gt;
&lt;li&gt;The Development team fixes bugs and handed software to the testing team for a retest.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;BENEIFT OF MANUAL TESTING&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; It does not require programming knowledge while using the Black box method.&lt;/li&gt;
&lt;li&gt; It is used to test dynamically changing GUI designs.&lt;/li&gt;
&lt;li&gt; Tester interacts with software as a real user so that they are able to discover usability and user interface issues.&lt;/li&gt;
&lt;li&gt; It ensures that the software is a 100 % bug-free.&lt;/li&gt;
&lt;li&gt; It is cost-effective.&lt;/li&gt;
&lt;li&gt; Easy to learn for new testers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;DRAWBACK OF MANUAL TESTING&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It requires a large number of human resources.&lt;/li&gt;
&lt;li&gt;It is very time-consuming.&lt;/li&gt;
&lt;li&gt;Tester develops test cases based on their skills and experience. There is no evidence that they have covered all functions or not.&lt;/li&gt;
&lt;li&gt;Test cases cannot be used again. Need to develop separate test cases for each new software.&lt;/li&gt;
&lt;li&gt;It does not provide testing on all aspects of testing.&lt;/li&gt;
&lt;li&gt;Since two teams work together, sometimes it is difficult to understand each other's motives, it can mislead the process.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For example: &lt;/p&gt;

&lt;p&gt;Verify the login functionality of the Login page.&lt;/p&gt;

&lt;p&gt;Test cases:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enter valid User Name and valid Password&lt;/li&gt;
&lt;li&gt;Enter valid User Name and invalid Password&lt;/li&gt;
&lt;li&gt;Enter invalid User Name and valid Password&lt;/li&gt;
&lt;li&gt;Enter invalid User Name and invalid Password&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example for login page test case&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%2Fe4hjhaq5e535h99kcy55.JPG" 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%2Fe4hjhaq5e535h99kcy55.JPG" alt="Image description" width="800" height="87"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;WRITE TEST CASES IN MANUAL TESTING&lt;/p&gt;

&lt;p&gt;Follow the below steps to write the test cases.&lt;/p&gt;

&lt;p&gt;Step #1 – Module:&lt;/p&gt;

&lt;p&gt;Define the backlog if login page email id textbox then describe Email ID input page. &lt;/p&gt;

&lt;p&gt;Step #2 – Test Case ID:&lt;/p&gt;

&lt;p&gt;Each test case should be represented by a unique ID. It’s good practice to follow some naming convention for better understanding and discrimination purposes.&lt;/p&gt;

&lt;p&gt;Step #3 – Test case type:&lt;/p&gt;

&lt;p&gt;There are two types test case positive and negative. so test will be check the both sides&lt;br&gt;
Eg. Positive bug - verify the email id if existing&lt;br&gt;
Negative bug - user enter typical error gmoil.com instead gmail.com&lt;/p&gt;

&lt;p&gt;Step #4 – Test Case Description:&lt;/p&gt;

&lt;p&gt;Pick test cases properly from the test scenarios&lt;/p&gt;

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

&lt;p&gt;Test scenario: Verify the login&lt;br&gt;
Test case: Enter a valid username and valid password&lt;/p&gt;

&lt;p&gt;Step #5 – Pre- Requisite:&lt;/p&gt;

&lt;p&gt;Conditions that need to meet before executing the test case. Mention if any preconditions are available.&lt;/p&gt;

&lt;p&gt;Example: Need a valid email account to do login&lt;/p&gt;

&lt;p&gt;Step #6 – Test Steps:&lt;/p&gt;

&lt;p&gt;To execute test cases, you need to perform some actions. So write proper test steps. Mention all the test steps in detail and in the order how it could be executed from the end-user’s perspective.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Enter Username&lt;/li&gt;
&lt;li&gt;Enter Password&lt;/li&gt;
&lt;li&gt;Click Login button&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step #7 – Test Data:&lt;/p&gt;

&lt;p&gt;You need proper test data to execute the test steps. So gather appropriate test data. The data which could be used an input for the test cases.&lt;/p&gt;

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

&lt;p&gt;Username: &lt;a href="mailto:syed@gmail.com"&gt;syed@gmail.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step #8 – Expected Result:&lt;/p&gt;

&lt;p&gt;The result which we expect once the test cases were executed. &lt;/p&gt;

&lt;p&gt;Example: Successful login&lt;/p&gt;

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

&lt;p&gt;Result: Pass&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Testing QA</title>
      <dc:creator>Syed Ali</dc:creator>
      <pubDate>Sun, 09 Jun 2024 10:53:08 +0000</pubDate>
      <link>https://forem.com/syedalia21/software-testing-qa-4590</link>
      <guid>https://forem.com/syedalia21/software-testing-qa-4590</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Software Testing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software testing is the process of verifying and validating whether a software web or application is bug-free and meet user requirements. The main aim of the software testing is to identify missing requirements or mistakes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Software Testing Important?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because if there are any bugs or errors in the software, it can be identified early and can be solved before delivery of the software product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do we need to know about Software Testing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software testing contains many of features that we need to be knowledgeable of.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two way of Testing:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;em&gt;Manual Testing&lt;/em&gt; – Testing Team will manually verify each and every test cases without using any tools.&lt;/li&gt;
&lt;li&gt; &lt;em&gt;Automation Testing&lt;/em&gt; – Testing Team will test that application using automation tool i.e. Selenium and advantage is save the execution one, we can run multiple time for same test cases &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Software Development Life Cycle&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;The SDLC is a process that defines the tasks that software developers perform to plan, design, develop, test, and deploy &amp;amp; maintenance software&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why SDLC is important?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The software development lifecycle (SDLC) is an important process for software development because it provides an organized approach to developing software. The SDLC assists in ensuring that software is produced in a uniform and effective manner that satisfies the needs of users and stakeholders&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; _&lt;em&gt;Plan _&lt;/em&gt;– this is fundamental stage in SDLC and it’s done by BA and BA is keep it as per client requirements in BRS document. BRS is created to serve the purpose of guideline for the next phase of the cycle and BRS is communication between of each team.&lt;/li&gt;
&lt;li&gt; _&lt;em&gt;Define _Analyst&lt;/em&gt; -  It has enough details to define a SRSD, user stories, or technical specifications for software programmers. &lt;/li&gt;
&lt;li&gt; _&lt;em&gt;Design&lt;/em&gt; _– There are two type of document design (HLD and LLD ) . The HLD contains overall Design, Designed by Designer. LLD contains information about HLD like platform, tools , database ( SQL, MySQL, Oracle, MongoDB,)&lt;/li&gt;
&lt;li&gt; &lt;em&gt;Development&lt;/em&gt; – This phase on maintain by Developer. The start code for software&lt;/li&gt;
&lt;li&gt; _&lt;em&gt;Testing&lt;/em&gt; _– Tester will be performing on this phase and they will do end-end verify by follow STLC.&lt;/li&gt;
&lt;li&gt; _&lt;em&gt;Deploy&lt;/em&gt; _– This is development to production phase.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What is the relevance of software testing?&lt;/strong&gt;&lt;br&gt;
Software testing is improve the quality of the software and providing a high-quality product as meet client.&lt;/p&gt;

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