<?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: subash</title>
    <description>The latest articles on DEV Community by subash (@subash129).</description>
    <link>https://dev.to/subash129</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%2F1330514%2Fb2c8e715-be97-4c75-93ca-e0db576f2ab3.jpg</url>
      <title>DEV Community: subash</title>
      <link>https://dev.to/subash129</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/subash129"/>
    <language>en</language>
    <item>
      <title>TASK 15</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Wed, 15 May 2024 09:46:56 +0000</pubDate>
      <link>https://dev.to/subash129/task-15-1d71</link>
      <guid>https://dev.to/subash129/task-15-1d71</guid>
      <description>&lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;SELENIUM IDE:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Selenium IDE is a browser extension used for Recording, Editing, and playing back automated tests in a web browser.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.Selenium provides a user-friendly interface for creating automated test scripts without the need for programming knowledge. User can record their interactions with a web application and generate test scripts in various programming languages supported by selenium WebDriver.&lt;/p&gt;

&lt;p&gt;3.Selenium IDE is primarily used for creating simple test cases and performing quick validations. It lacks advanced features for complex test scenarios and does not support dynamic test data generation or external data source integration.&lt;/p&gt;

&lt;p&gt;4.Selenium IDE is suitable for beginners, manual testers, and quick test prototyping. It is often used for creating basic regression tests and performing ad-hoc testing during development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SELENIUM WEBDRIVER:&lt;/strong&gt;&lt;br&gt;
1.Selenium WebDriver is a powerful automation tool used for writing and executing automated tests for web application.&lt;br&gt;
It provides a programming interface that allows testers to write code in various programming languages (such as Java, Python, C#, etc.) to interact with web elements, simulate user actions, and perform assertions. WebDriver supports advanced features such as handling dynamic elements, waits, alerts, pop-ups, and browser navigation.&lt;/p&gt;

&lt;p&gt;2.WebDriver offers flexibility and control over test execution, allowing testers to create complex test scenarios, implement data-driven testing, integrate with testing frameworks, and execute tests in parallel across multiple browsers and environments.&lt;/p&gt;

&lt;p&gt;3.WebDriver is scalable and suitable for testing web applications of all sizes, from simple websites to complex enterprise applications. It supports a wide range of browsers and platforms, including desktop and mobile browsers.&lt;/p&gt;

&lt;p&gt;4.Selenium WebDriver is widely used by automation testers, developers, and quality assurance professionals for writing robust and maintainable automated tests, implementing continuous testing, and ensuring the quality of web applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium Grid:&lt;/strong&gt;&lt;br&gt;
1.Selenium Grid is a distributed test execution environment used for running tests in parallel across multiple machines and browsers simultaneously.&lt;/p&gt;

&lt;p&gt;2.It consists of a hub and multiple nodes, where the hub acts as a central control point that distributes test execution requests to available nodes. Selenium Grid facilitates cross-browser testing, scalability, and faster test execution by leveraging multiple machines and browsers.&lt;/p&gt;

&lt;p&gt;3.Selenium Grid allows testers to execute tests in parallel across different browsers, browser versions, and operating systems, reducing test execution time and improving efficiency.&lt;/p&gt;

&lt;p&gt;4.Selenium Grid is suitable for teams and organizations that require cross-browser testing, scalability, and faster feedback on the quality of web applications. It is often used in conjunction with Selenium WebDriver to scale test automation efforts, perform cross-browser testing, and execute tests in a distributed environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q2, Q5&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/Subashk129/Task15.git"&gt;https://github.com/Subashk129/Task15.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q3&lt;/strong&gt;&lt;br&gt;
Selenium is a popular open-source tool used for automating web browsers. It provides a suite of tools and libraries for automating web applications across different browsers and platforms. Selenium supports multiple programming languages, including Java, Python, C#, Ruby, and JavaScript, making it versatile and widely adopted in the software industry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selenium is useful in automation testing for several reasons:&lt;/strong&gt;&lt;br&gt;
1.Cross-Browser Testing: Selenium allows testers to write automated tests that can run across different web browsers, including Chrome, Firefox, Safari, Internet Explorer, and Edge. This ensures that web applications behave consistently across various browser environments.&lt;br&gt;
2.Platform Independence: Selenium WebDriver, the most commonly used component of Selenium, provides a platform-independent API that can interact with web browsers on different operating systems, such as Windows, macOS, and Linux. This enables testers to write tests once and run them on multiple platforms.&lt;br&gt;
3.Automated Testing: Selenium automates interactions with web elements such as buttons, text fields, dropdowns, links, and more. Testers can simulate user actions like clicking, typing, submitting forms, navigating between pages, and validating page content without manual intervention.&lt;br&gt;
4.Regression Testing: Selenium is well-suited for regression testing, where tests are repeatedly executed to ensure that recent changes to the codebase do not introduce new bugs or regressions. Automated regression testing with Selenium helps maintain software quality and stability over time.&lt;br&gt;
5.Parallel Testing: Selenium Grid allows testers to execute tests in parallel across multiple browser and operating system combinations. Parallel testing improves test execution speed, reduces testing time, and enables efficient use of testing resources.&lt;br&gt;
6.Integration with Testing Frameworks: Selenium integrates seamlessly with popular testing frameworks such as JUnit, TestNG, NUnit, and PyTest, enabling testers to organize and execute tests, generate test reports, and manage test suites effectively.&lt;br&gt;
7.Continuous Integration and Delivery (CI/CD): Selenium tests can be integrated into CI/CD pipelines to automate the testing process as part of the software development lifecycle. Continuous testing with Selenium helps identify defects early, validate changes quickly, and deliver high-quality software releases more frequently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q4&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.    Chromed river:&lt;/strong&gt; Chromed river is used to automate Google Chrome browser. It provides a WebDriver implementation for Chrome and allows Selenium tests to interact with Chrome browser instances.&lt;br&gt;
&lt;strong&gt;2.    Gecko Driver (Firefox):&lt;/strong&gt; Gecko Driver is used to automate Mozilla Firefox browser. It provides a WebDriver implementation for Firefox and enables Selenium tests to interact with Firefox browser instances.&lt;br&gt;
&lt;strong&gt;3.    WebDriver for Microsoft Edge:&lt;/strong&gt; Microsoft WebDriver is used to automate Microsoft Edge browser. It provides a WebDriver implementation for Edge and allows Selenium tests to interact with Edge browser instances.&lt;br&gt;
&lt;strong&gt;4.    InternetExplorerDriver:&lt;/strong&gt; InternetExplorerDriver is used to automate Internet Explorer browser. It provides a WebDriver implementation for Internet Explorer and allows Selenium tests to interact with IE browser instances.&lt;br&gt;
&lt;strong&gt;5.    Safari Driver:&lt;/strong&gt; Safari Driver is used to automate Safari browser on macOS. It provides a WebDriver implementation for Safari and allows Selenium tests to interact with Safari browser instances.&lt;br&gt;
&lt;strong&gt;6.    Opera Driver:&lt;/strong&gt; Opera Driver is used to automate Opera browser. It provides a WebDriver implementation for Opera and allows Selenium tests to interact with Opera browser instances.&lt;br&gt;
&lt;strong&gt;7.    Edge Chromium Driver:&lt;/strong&gt; Microsoft introduced Edge Chromium Driver to automate the Chromium-based Microsoft Edge browser. It is different from the WebDriver for the legacy version of Microsoft Edge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q5&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Setup Environment: Need to Download the necessary WebDriver executables for the browser’s intend to automate ( ChromeDriver for Google Chrome, GeckoDriver for Firefox). Ensure that WebDriver executable are added to system PATH or specify the path to the WebDriver executable in script.&lt;/li&gt;
&lt;li&gt; Create a WebDriver Instance: Instantiate a WebDriver object for the desired browser (ChromeDriver, FirefoxDriver) to establish a connection with the browser.&lt;/li&gt;
&lt;li&gt; Navigate to a Web Page: Use the WebDriver instance to navigate to a specific URL or web page.&lt;/li&gt;
&lt;li&gt; Interact with Web Elements: Locate and interact with web elements (buttons, text fields, links) using various methods provided by the WebDriver API (findElement, sendKeys, click).&lt;/li&gt;
&lt;li&gt; Perform Actions: Perform actions such as clicking on elements, entering text, submitting forms, navigating between pages, etc.&lt;/li&gt;
&lt;li&gt; Verify Results: Verify the expected outcomes by validating the content, behavior, or state of web elements on the page.&lt;/li&gt;
&lt;li&gt; Close the Browser: Close the browser window or quit the WebDriver session to release system resources.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>testing</category>
      <category>beginners</category>
      <category>learning</category>
      <category>css</category>
    </item>
    <item>
      <title>Task 11</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Fri, 26 Apr 2024 15:39:43 +0000</pubDate>
      <link>https://dev.to/subash129/task-11-48c</link>
      <guid>https://dev.to/subash129/task-11-48c</guid>
      <description>&lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt;&lt;br&gt;
•Public - When a class, method, or variable is declared as Public, it can be accessed from anywhere, by any other class. This means that there are no restrictions on its accessibility.&lt;br&gt;
•Private - private class member is declared as Private, we can only be accessed within the same class. It is not accessible outside the class, including subclasses and other classes within the same package.&lt;br&gt;
•Protected - In class, class member is declared as Protected, we can accessed by classes within the same package, as well as by subclasses (even if they are in different packages). This allows for inheritance and access within a certain scope.&lt;br&gt;
•Default – Default means we no access modifier is used, then the Default access modifier is applied. It means that the class, method, or variable is accessible only within the same package. It is not accessible outside the package, even to subclasses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Significant of Access Modifiers:&lt;/strong&gt;&lt;br&gt;
• Public Access modifiers are provides the widest accessibility and it provides access from anywhere,&lt;br&gt;
• Private access modifiers are most restrictive accessibility. And limits the access within the same class.&lt;br&gt;
• Protect access modifiers are use within the same package and to subclass, even in different packages.&lt;br&gt;
• Default access modifiers are use within the same package only.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q2&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Exceptions:&lt;/strong&gt;&lt;br&gt;
•Exceptions are conditions that occur at runtime and disrupt the normal flow of the program. They are typically caused by user input errors, invalid operations, or other exceptional conditions that can be reasonably anticipated and handled by the program.&lt;br&gt;
•Exceptions are divided into two categories: Checked exceptions and Unchecked exceptions.&lt;br&gt;
•Checked exceptions: These are exceptions that must be either caught (handled) or declared in the method signature using the throws clause. Examples -&lt;strong&gt;IOException, SQLException.&lt;/strong&gt;&lt;br&gt;
•Unchecked exceptions: These are exceptions that do not need to be explicitly caught or declared. They usually represent programming errors or conditions that are beyond the control of the programmer. Examples - &lt;strong&gt;NullPointerException, ArrayIndexOutofBoundsException.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Errors:&lt;/strong&gt;&lt;br&gt;
•Errors, on the other hand, are exceptional conditions that occur at runtime and are typically beyond the control of the programmer. They represent serious problems that usually cannot be handled by the program, and attempting to recover from them might lead to unpredictable behaviour.&lt;br&gt;
•Errors are not meant to be caught or handled by regular application code. Instead, they are usually used to indicate severe runtime problems that require intervention at a higher level, such as by system administrators or developers.&lt;br&gt;
•Examples of errors include out of MemoryError, StackOverfloweError, and AssertionError. &lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;Checked Exceptions:&lt;/strong&gt;&lt;br&gt;
•Checked exceptions are the exceptions that are checked at compile-time.&lt;br&gt;
•These exceptions extend the Exception class but not the Runtime Exception class.&lt;br&gt;
•When a method throws a checked exception, the caller must handle it either by catching it using a try-catch block or declaring it in the method signature using the throws keyword.&lt;br&gt;
•Examples of checked exceptions include IOException, ClassNotFoundException, and SQLException.&lt;br&gt;
2.&lt;strong&gt;Unchecked Exceptions:&lt;/strong&gt;&lt;br&gt;
•Unchecked exceptions, also known as runtime exceptions, are not checked at compile-time.&lt;br&gt;
•These exceptions extend the Runtime Exception class or its subclasses.&lt;br&gt;
•Unchecked exceptions do not need to be declared in the method signature or caught explicitly, although they can be if necessary.&lt;br&gt;
•Unchecked exceptions usually occur due to programming errors such as dividing by zero (Arithmetic Exception), accessing an invalid array index &lt;br&gt;
(ArrayIndexOutofBoundsException), or attempting to call a method on a null object (NullPointerException).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;for-Q4, Q5, Q6, Q7, Q8.&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/Subashk129/Task11"&gt;https://github.com/Subashk129/Task11&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Task 14</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Fri, 26 Apr 2024 10:54:01 +0000</pubDate>
      <link>https://dev.to/subash129/task-14-56k4</link>
      <guid>https://dev.to/subash129/task-14-56k4</guid>
      <description>&lt;p&gt;&lt;strong&gt;Q1.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Manual Testing;&lt;/strong&gt;&lt;br&gt;
• Manual Testing involves human intervention to execute test cases without the use of automation tools.&lt;br&gt;
• Testers manually execute test cases, observe the software behaviour, and record the result.&lt;br&gt;
• It is suitable for exploratory testing, ad-hoc testing, and when human judgment and creativity are required.&lt;br&gt;
• Manual testing is often used in the early stage of development when the software is undergoing frequent changes or when testing user interfaces for usability.&lt;br&gt;
• It can be time- consuming and labour-intensive, especially in testing repetitive, large- scale efforts.&lt;br&gt;
• Manual testing sometimes not feasible for large volumes of test cases or for conducting regression testing efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automated Testing:&lt;/strong&gt;&lt;br&gt;
• Automated testing involves the use of automation tools and scripts to execute test cases automatically without human intervention.&lt;br&gt;
• Test scripts are created to perfume predefined actions, validate expected outcomes, and report result automatically.&lt;br&gt;
• It is suitable for repetitive tasks, regression testing, and scenarios where the same tests need to be executed frequently.&lt;br&gt;
• Automated testing helps improve efficiency, reduce human errors, and provide faster feedback on the quality of the software.&lt;br&gt;
• It requires initial investment in creating and maintaining test scripts, but it can save time and effort in the long run, especially for large and complex software projects.&lt;br&gt;
• Automated testing is often integrated into the software development process, allowing for continuous testing and continuous integration (CI/CD) workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q2.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Selenium Web Driver - Selenium is a popular open-source automation testing framework for web applications. Selenium WebDriver allows testers to automate web browsers across different platforms and supports multiple programming languages such as Java, Python, C#, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Appium  - Appium is an open-source automation tool for mobile applications, supporting both Android and iOS platforms. It allows testers to automate native, hybrid, and mobile web applications using a single API.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jenkins - Jenkins is an open-source automation server used for continuous integration and continuous delivery (CI/CD). It automates the build, test, and deployment processes, facilitating automation testing as part of the development pipeline.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TestNG - TestNG is a testing framework for Java inspired by JUnit and NUnit. It provides features such as annotations, grouping, parameterization, and parallel execution, making it suitable for automation testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JUnit - JUnit is a widely used unit testing framework for Java. It provides annotations and assertions to write and execute automated tests for Java applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cucumber - Cucumber is a behaviour-driven development (BDD) tool that supports automation testing using a domain-specific language called Gherkin. It enables collaboration between technical and non-technical stakeholders by writing test scenarios in natural language.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Postman - Postman is a collaboration platform for API development that also offers automated testing capabilities. It allows testers to create and execute automated API tests, monitor API performance, and generate comprehensive test reports.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JMeter - Apache JMeter is an open-source performance testing tool used for load testing and stress testing of web applications, APIs, and databases. It allows testers to simulate concurrent user activity and measure system performance under various conditions.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Q4.&lt;/strong&gt;&lt;br&gt;
Cross-browser testing is a type of software testing that ensures a web application or website functions correctly and consistently across different web browsers, browser versions, and operating systems. Since web browsers may interpret HTML, CSS, and JavaScript code differently, cross-browser testing is essential to identify and fix compatibility issues that may arise when users access the application from various browsers and devices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.    Browser Compatibility:&lt;/strong&gt; Web applications should work seamlessly across popular web browsers such as Google Chrome, Mozilla Firefox, Microsoft Edge, Safari, and Opera. Cross-browser testing verifies that the application's layout, functionality, and performance are consistent across different browsers.&lt;br&gt;
&lt;strong&gt;2.    Browser Versions:&lt;/strong&gt; In addition to testing across different browsers, cross-browser testing involves checking the application's compatibility with various versions of each browser. Browser versions may have different rendering engines and support different HTML, CSS, and JavaScript features, leading to inconsistencies in how the application is displayed and behaves.&lt;br&gt;
&lt;strong&gt;3.    Operating Systems:&lt;/strong&gt; Cross-browser testing also considers the compatibility of the web application across different operating systems such as Windows, macOS, Linux, iOS, and Android. Operating system-specific behaviours, fonts, and rendering may affect the appearance and functionality of the application.&lt;br&gt;
&lt;strong&gt;4.    Responsive Design:&lt;/strong&gt; With the increasing use of mobile devices and tablets to access websites, cross-browser testing includes validating the responsiveness of web applications across different screen sizes and resolutions. Responsive design ensures that the application adapts and displays content optimally on various devices and orientations.&lt;br&gt;
&lt;strong&gt;5.    Functional Testing:&lt;/strong&gt; In addition to visual consistency, cross-browser testing involves functional testing to verify that all features and functionalities of the web application work correctly across different browsers and devices. This includes testing user interactions, form submissions, navigation, and multimedia content.&lt;br&gt;
&lt;strong&gt;6.    Automation:&lt;/strong&gt; Automation tools such as Selenium WebDriver, Test Complete, and Browser Stack automate cross-browser testing by executing test scripts across multiple browsers and environments. Automated cross-browser testing helps save time and effort by running tests in parallel and generating comprehensive test reports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q5&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Test-Driven Development (TDD)&lt;/strong&gt;&lt;br&gt;
Test-Driven Development (TDD) is a software development process where tests are written before the actual code implementation. &lt;br&gt;
The TDD cycle steps:&lt;br&gt;
&lt;strong&gt;1.    Write a Test:&lt;/strong&gt; The developer writes a failing test case that describes a small piece of desired functionality. This test is written in anticipation of the code that will satisfy it.&lt;br&gt;
&lt;strong&gt;2.    Write the Code:&lt;/strong&gt; The developer writes the minimal code necessary to pass the test. The goal is to write code that fulfils the requirements of the test without adding unnecessary complexity.&lt;br&gt;
&lt;strong&gt;3.    Run the Test:&lt;/strong&gt; The developer runs the test suite to ensure that the newly written test fails. This step confirms that the test is indeed testing the desired behavior.&lt;br&gt;
&lt;strong&gt;4.    Refactor:&lt;/strong&gt; Once the test fails, the developer refactors the code to improve its design and maintainability while keeping all tests passing. Refactoring ensures that the code remains clean, readable, and efficient.&lt;br&gt;
&lt;strong&gt;5.    Repeat:&lt;/strong&gt; The developer repeats the process, writing more tests for additional functionality and implementing the code to pass those tests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Behaviour-Driven Development (BDD)&lt;/strong&gt;&lt;br&gt;
Behaviour-Driven Development (BDD) is an extension of TDD that focuses on the behaviour of the system from the perspective of its stakeholders. BDD emphasizes collaboration between developers, testers, and business stakeholders to define and validate the behaviour of the software. The core principles of BDD include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.    Ubiquitous Language:&lt;/strong&gt; BDD promotes the use of a common, domain-specific language that is understood by all stakeholders involved in the development process. This language facilitates clear communication and shared understanding of requirements and expectations.&lt;br&gt;
&lt;strong&gt;2.    Specification by Example:&lt;/strong&gt; BDD encourages the creation of executable specifications, often in the form of user stories or scenarios written in a human-readable format. These specifications serve as living documentation and executable tests that validate the behaviour of the system.&lt;br&gt;
&lt;strong&gt;3.    Three Amigos:&lt;/strong&gt; BDD advocates for collaboration between three key roles in software development: developers, testers, and business analysts (or product owners). These roles, often referred to as the "Three Amigos," work together to define acceptance criteria, create executable specifications, and ensure that the software meets the needs of its users.&lt;br&gt;
&lt;strong&gt;4.    Given-When-Then:&lt;/strong&gt; BDD scenarios follow a structured format known as "Given-When-Then." Each scenario consists of a context (Given), an action (When), and an expected outcome (Then). This format provides clarity and structure to the specifications and makes it easier to understand and validate the behaviour of the system.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Task 13</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Tue, 23 Apr 2024 06:49:11 +0000</pubDate>
      <link>https://dev.to/subash129/task-13-1pa5</link>
      <guid>https://dev.to/subash129/task-13-1pa5</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/Subashk129/Task13"&gt;https://github.com/Subashk129/Task13&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ReadExcel - ScreenShot &lt;br&gt;
&lt;a href="https://docs.google.com/document/d/1LI2z4EQ3GM0bx6_EwN33uuDcPqFlyQ58u11mHQteet0/edit?usp=sharing"&gt;https://docs.google.com/document/d/1LI2z4EQ3GM0bx6_EwN33uuDcPqFlyQ58u11mHQteet0/edit?usp=sharing&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>automation</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Task 7</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Wed, 27 Mar 2024 15:02:21 +0000</pubDate>
      <link>https://dev.to/subash129/task-7-po4</link>
      <guid>https://dev.to/subash129/task-7-po4</guid>
      <description>&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1elT3-gNOgjPifTXi8yhRlvtrL-jOfh8TT8oCxRI-Enw/edit?usp=sharing"&gt;https://docs.google.com/document/d/1elT3-gNOgjPifTXi8yhRlvtrL-jOfh8TT8oCxRI-Enw/edit?usp=sharing&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Task 6</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Wed, 27 Mar 2024 07:06:34 +0000</pubDate>
      <link>https://dev.to/subash129/task-6-279e</link>
      <guid>https://dev.to/subash129/task-6-279e</guid>
      <description>&lt;p&gt;&lt;a href="https://docs.google.com/document/d/1R7imRYdZqvap777A6FfpySCOsp5lUVRc6XJ6sLAqgr4/edit?usp=sharing"&gt;https://docs.google.com/document/d/1R7imRYdZqvap777A6FfpySCOsp5lUVRc6XJ6sLAqgr4/edit?usp=sharing&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
    </item>
    <item>
      <title>Task 5</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Sun, 24 Mar 2024 11:03:50 +0000</pubDate>
      <link>https://dev.to/subash129/task-5-jgc</link>
      <guid>https://dev.to/subash129/task-5-jgc</guid>
      <description>&lt;h2&gt;
  
  
  Q1
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1REKqiqKTxshiGg2_QcYH5F0GMr0zzkpublMlKDQAbxI/edit?usp=sharing"&gt;https://docs.google.com/spreadsheets/d/1REKqiqKTxshiGg2_QcYH5F0GMr0zzkpublMlKDQAbxI/edit?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Q2
&lt;/h2&gt;

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

&lt;p&gt;&lt;strong&gt;Objective:&lt;/strong&gt;&lt;br&gt;
• Verifying that the users can successfully book movie tickets through the BookMyShow application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Preconditions:&lt;/strong&gt;&lt;br&gt;
• User should have stable internet connection.&lt;br&gt;
• User should have a registered account on BookMyShow application.&lt;br&gt;
• User has chosen a movie and knows the ShowTime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;click on browser and Launch the BookMyShow app.&lt;/li&gt;
&lt;li&gt;click on login button and Login with valid credentials.&lt;/li&gt;
&lt;li&gt;click on search bar and Search the specific movie by title.&lt;/li&gt;
&lt;li&gt;click on specific movie and Choose the preferred show time.&lt;/li&gt;
&lt;li&gt;click on the number of tickets and seating preferences.&lt;/li&gt;
&lt;li&gt;click on payment and proceed to payment.&lt;/li&gt;
&lt;li&gt;click on choose payment method.&lt;/li&gt;
&lt;li&gt;click on credential bar enter valid payment details.&lt;/li&gt;
&lt;li&gt;click on submit and confirm the booking.&lt;/li&gt;
&lt;li&gt;click on verify button and Verify booking confirmation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Results:&lt;/strong&gt;&lt;br&gt;
• User got books movie tickets and receives confirmation  successfully.&lt;br&gt;
• User got booking details are accrue reflect.&lt;br&gt;
• User got payment process safe and securely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Case:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Title/ID:&lt;/strong&gt; Verify Movie Tickets booking Functionality&lt;br&gt;
&lt;strong&gt;Description:&lt;/strong&gt; To ensure users can book movie tickets successfully.&lt;br&gt;
&lt;strong&gt;Preconditions:&lt;/strong&gt; User should logged into the BookMyShow application.&lt;br&gt;
&lt;strong&gt;Test Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; click on search and Search a movie.&lt;/li&gt;
&lt;li&gt; click on specific desired movie.&lt;/li&gt;
&lt;li&gt; click on time and choose show time.&lt;/li&gt;
&lt;li&gt; click on seats and select number of tickets and seats.&lt;/li&gt;
&lt;li&gt; click on payment and proceed to payment.&lt;/li&gt;
&lt;li&gt; Enter on payment details.&lt;/li&gt;
&lt;li&gt; click on pay and confirm booking.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Expected Results:&lt;/strong&gt;&lt;br&gt;
 User receives confirmation of the booking with all details.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Objective:&lt;/strong&gt; Ensure the reliability, usability, and security of the BookMyShow app.&lt;br&gt;
&lt;strong&gt;Scope:&lt;/strong&gt;&lt;br&gt;
1.Functional testing: Booking movie tickets, Browsing movies, User authentication.&lt;br&gt;
2.Performance testing: App responsiveness, load testing.&lt;br&gt;
3.Security testing: Data encryption, secure transactions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing Techniques:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Black-box testing for functional testing.&lt;/li&gt;
&lt;li&gt;Performance testing.&lt;/li&gt;
&lt;li&gt;Security testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Test Environment:&lt;/strong&gt;&lt;br&gt;
1.Various devices-smartphones, computers with different operating systems.&lt;br&gt;
2.Emulators and simulators for testing - different platforms.&lt;br&gt;
Risks and Contingencies:&lt;br&gt;
1.Risks - server downtime, payment gateway issues.&lt;br&gt;
2.Mitigation- regular backups, redundant servers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Plan:&lt;/strong&gt;&lt;br&gt;
Introduction: The testing effort for the BookMyShow app.&lt;br&gt;
Test Scope: Features and functionalities will be tested on app.&lt;br&gt;
Test Deliverables: Test cases, test summary reports, defect reports.&lt;br&gt;
Test Environment: Devices, operating systems, tools required for testing.&lt;br&gt;
Test Schedule: Timeline for testing activities, milestones, deadlines.&lt;br&gt;
Resource Allocation: Roles and responsibilities of testing team members.&lt;br&gt;
Risks and Mitigation: Identified risks and corresponding mitigation strategies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Summary Report:&lt;/strong&gt;&lt;br&gt;
Introduction: Overview of the testing activities conducted by testers.&lt;br&gt;
Testing Activities: Summary of test execution, including test cases executed, passed, failed.&lt;br&gt;
Test Coverage: Evaluation of test coverage in terms of functionalities tested.&lt;br&gt;
Test Results: Overview of test results, including defects identified and resolved.&lt;br&gt;
Defect Metrics: Metrics on defect density, severity, defect closure rates.&lt;br&gt;
Issues and Challenges: Summary of issues found during testing and resolutions.&lt;br&gt;
Recommendations: Suggestions for improvements based on test findings.&lt;br&gt;
Conclusion: Summary of findings and outcomes of the testing effort.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TASK 3</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Mon, 18 Mar 2024 12:10:50 +0000</pubDate>
      <link>https://dev.to/subash129/task-3-1lkf</link>
      <guid>https://dev.to/subash129/task-3-1lkf</guid>
      <description>&lt;h2&gt;
  
  
  Q1 SDLC Models
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Waterfall Model&lt;/li&gt;
&lt;li&gt;V-shape model&lt;/li&gt;
&lt;li&gt;Agile model&lt;/li&gt;
&lt;li&gt;Prototype model&lt;/li&gt;
&lt;li&gt;Spiral model&lt;/li&gt;
&lt;li&gt;Iterative incremental model&lt;/li&gt;
&lt;li&gt;Big Bang model&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Q2 STLC and Stages of STLC
&lt;/h2&gt;

&lt;p&gt;Software Testing Life Cycle is systematic approach to testing a software application to ensure that it meets the requirements without defects. And It is a process that follows steps or phases to ensure the defects free application. The STLC is used to ensure that the software is quality, reliable, and meets the requirement of the clients.&lt;/p&gt;

&lt;p&gt;The stages of the STLC include Test analysis, test planning, test case development, Test environment, test Execution, test cycle closure, all these stages has specific activities and deliverables that helps to ensure that the software is thoroughly tested and meets the requirements of the clients. STLC helps the organizations to release high-quality software that meets the needs of the clients, and business success. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STLC Stages&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;•   Requirements Analysis:&lt;/strong&gt; This is the first stage in STLC, in this stage the quality assurance team understands the requirements like what is to be tested. If anything is missing or not clear then the QA team meets with the Clients to better understand the requirements. Requirement traceability matrix (RTM) will create  to map requirements to test cases at the end of this stage&lt;br&gt;
&lt;strong&gt;•   Test Planning:&lt;/strong&gt; Test Planning is the most important phase of the software testing life cycle because all testing plans are defined in this planning stage. In this phase testing manager and team calculates the estimation of the efforts and cost for the testing work. At the end of this phase, the testing team will have a detailed plan for the testing activities, which will covers the testing objectives, scope, and deliverables.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;•   Teat Case Development:&lt;/strong&gt; After the planning this Test case development starts, in this phase the testing team will create the detail test cases and prepare test data for testing. After test data they will verify the data with QA team. End of this phase the testing team will have comprehensive and accurate test cases, this will help to ensure the quality software before release the software.&lt;br&gt;
&lt;strong&gt;•   Test Environment:&lt;/strong&gt; The test environment decides the conditions on which the software is tested. This is independent activity and this will starts with test case development. In this process, the testing team is not involved. Either the developer or the customer creates the testing environment.&lt;br&gt;
&lt;strong&gt;•   Test Execution:&lt;/strong&gt;  After the test case development and test environment setup the test execution will start. In this phase testing team starts executing test cases based on prepared test cases in the previous steps. &lt;br&gt;
&lt;strong&gt;•   Test Closure:&lt;/strong&gt; Test closure is the final stage of the Software Testing Life Cycle. In this phase all testing-related activities will complete and documented. &lt;/p&gt;

&lt;h2&gt;
  
  
  Q3
&lt;/h2&gt;

&lt;p&gt;• Potential Risks:&lt;br&gt;
• Security risk, performance risk, compatibility risk, Scalability Risk, Data integrity risk, usability risk, integration risk, Backup and Recovery risk, user Acceptance risk.&lt;br&gt;
• Security Risks: Identify potential vulnerabilities and will ensure proper authentication and authorization mechanisms are used to mitigate risks of unauthorized access to sensitive data.&lt;br&gt;
• Performance Risks: Assess the application performance under various load conditions and will ensure it can handle peak traffic without degradation in response time or downtime.&lt;br&gt;
• Compatibility Risks: Testing the application across different browsers (Chrome, Firefox, and Safari) and devices (desktop, mobile) and ensure consistent behavior and usability at all platforms.&lt;br&gt;
• Scalability Risks: Evaluate the application's ability to scale up to accommodate a growing user base or increased workload, ensuring it can handle increase demand without performance degradation.&lt;br&gt;
• Data Integrity Risks: Verifying the data is accurately processed, stored, and retrieved without corruption or loss, ensuring the reliability and integrity of the application's data handling processes.&lt;br&gt;
• Usability Risks: Assess the user interface for ease of use, quality, and accessibility, ensuring a positive user experience across different user demographics and user skill levels.&lt;br&gt;
• Integration Risks: Test integration points with external systems or APIs to ensure seamless communication and data exchange, mitigating risks of integration failures or data inconsistencies.&lt;br&gt;
• Backup and Recovery Risks: Test backup and recovery procedures to ensure data integrity and availability in the event of system failures or disasters, mitigating risks of data loss or prolonged the downtime.&lt;br&gt;
• User Acceptance Risks: Conduct user acceptance testing (UAT) to validate that the application meets user requirements and expectations, addressing risks of dissatisfaction or rejection by end-users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Q4
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Quality Assurance:&lt;/strong&gt;&lt;br&gt;
Quality assurance is a method of making the software application with fewer defects and mistakes when it is finally released to the end users. Quality Assurance is defined as an activity that ensures the approaches, techniques, methods, and processes designed for the projects are implemented correctly. It recognizes defects in the process. Quality Assurance is completed before Quality Control. &lt;br&gt;
• Developing quality standards and procedures.&lt;br&gt;
• Implementing quality management systems.&lt;br&gt;
• Conducting audits and assessments to verify compliance with standards.&lt;br&gt;
• Providing training to personnel to ensure they understand and adhere to quality procedures.&lt;br&gt;
• Identifying areas for process improvement.&lt;br&gt;
Also QA aims to prevent defects from occurring by addressing potential issues in the process, than just detecting and fixing defects in the final product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quality Control (QC):&lt;/strong&gt;&lt;br&gt;
• QC focuses on identifying defects in the final product through inspection, testing.&lt;br&gt;
• It involves monitoring specific features of the application to ensure it meets predefined quality standards.&lt;br&gt;
• QC also include, Verifying application materials, components, and finished applications.&lt;br&gt;
• Testing applications on functionality, performance, and adherence to specifications.&lt;br&gt;
• QC aims to detect and correct defects in the final product, ensuring that it meets the quality standards set by QA.&lt;/p&gt;

&lt;p&gt;Therefore QA and QC are essential for maintaining product quality, QA is focused on preventing defects by establishing robust processes and standards, whereas QC is focused on detecting defects through inspection and testing of the final product.&lt;/p&gt;

&lt;h2&gt;
  
  
  Q5
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.    Execution Speed:&lt;/strong&gt;&lt;br&gt;
• Manual Testing: Relies on human testers to execute test cases manually, which can be time-consuming, especially for repetitive or complex tests.&lt;br&gt;
• Automation Testing: Utilizes automated scripts to execute test cases, resulting in much faster test execution, thereby potentially speeding up the overall development process.&lt;br&gt;
&lt;strong&gt;2.    Accuracy:&lt;/strong&gt;&lt;br&gt;
• Manual Testing: Susceptible to human error, as testers may overlook certain scenarios or make mistakes during test execution.&lt;br&gt;
• Automation Testing: Offers greater accuracy and consistency since tests are performed by automated scripts that follow predefined steps precisely.&lt;br&gt;
&lt;strong&gt;3.    Repetitive Tasks:&lt;/strong&gt;&lt;br&gt;
• Manual Testing: Requires testers to repeatedly execute the same test cases, which can be difficult and prone to mistakes.&lt;br&gt;
• Automation Testing: Ideal for automating repetitive tasks, enabling testers to focus on more complex and exploratory testing.&lt;br&gt;
&lt;strong&gt;4.    Resource Requirements:&lt;/strong&gt;&lt;br&gt;
• Manual Testing: Relies heavily on human resources, requiring skilled testers to execute tests manually.&lt;br&gt;
• Automation Testing: Requires initial investment in developing automated scripts, but can ultimately reduce the need for human resources in the long run.&lt;br&gt;
&lt;strong&gt;5.    Coverage:&lt;/strong&gt;&lt;br&gt;
• Manual Testing: Limited by the time and resources available, which may result in incomplete test coverage.&lt;br&gt;
• Automation Testing: Allows for comprehensive test coverage by executing a large number of test cases efficiently, including regression testing, which ensures that new changes do not adversely affect existing functionalities.&lt;br&gt;
&lt;strong&gt;6.    Adaptability to Change:&lt;/strong&gt;&lt;br&gt;
• Manual Testing: More adaptable to changes in requirements or user interfaces, as human testers can quickly adjust their testing approach.&lt;br&gt;
• Automation Testing: Requires updates to automated scripts whenever there are changes in the application's functionality or user interface, which may involve additional time and effort.&lt;br&gt;
&lt;strong&gt;7.    Cost:&lt;/strong&gt;&lt;br&gt;
• Manual Testing: Typically more cost-effective for small-scale projects or projects with frequently changing requirements.&lt;br&gt;
• Automation Testing: Initial investment in automation tools and script development may be higher, but automation can lead to cost savings in the long term, especially for large-scale projects with stable requirements.&lt;/p&gt;

</description>
      <category>stlc</category>
      <category>testing</category>
    </item>
    <item>
      <title>Task 2</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Sat, 16 Mar 2024 13:31:02 +0000</pubDate>
      <link>https://dev.to/subash129/task-2-4d0d</link>
      <guid>https://dev.to/subash129/task-2-4d0d</guid>
      <description>&lt;h2&gt;
  
  
  Q1,Q2
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1z1npOBQATWDYHTkUgIvP1zaRafY2GEyBwgAnRMuTtm0/edit#gid=0"&gt;https://docs.google.com/spreadsheets/d/1z1npOBQATWDYHTkUgIvP1zaRafY2GEyBwgAnRMuTtm0/edit#gid=0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>testing</category>
    </item>
    <item>
      <title>Task 4</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Fri, 15 Mar 2024 11:58:15 +0000</pubDate>
      <link>https://dev.to/subash129/task-4-3fdf</link>
      <guid>https://dev.to/subash129/task-4-3fdf</guid>
      <description>&lt;h2&gt;
  
  
  Q1
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1OOjuTIad3tXPYPkX30HF2AcF0E3fRmRXjlkc4h1-d0A/edit#gid=0"&gt;https://docs.google.com/spreadsheets/d/1OOjuTIad3tXPYPkX30HF2AcF0E3fRmRXjlkc4h1-d0A/edit#gid=0&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Q2
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Agile methodology
&lt;/h2&gt;

&lt;p&gt;Agile methodology is a project management approach that prioritizes cross-functional collaboration and continuous improvement. It divides projects into smaller phases and guides teams through cycles of planning, execution, and evaluation. It refers to the application of a set of principles that functions through an interactive and incremental approach. The Agile methodology in software development emphasizes the importance of team collaboration and delivering a working product quickly to meet customer needs and expectations. &lt;/p&gt;

&lt;h2&gt;
  
  
  Agile Development process
&lt;/h2&gt;

&lt;p&gt;Diagram: &lt;a href="https://docs.google.com/document/d/1iI6CfEKLqVTz1kANSaTgHeV1rCvHMdGk_izJ04XtexU/edit"&gt;https://docs.google.com/document/d/1iI6CfEKLqVTz1kANSaTgHeV1rCvHMdGk_izJ04XtexU/edit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Business Requirement:&lt;/strong&gt; In this phase Client will come with some requirements to develop an application. So in a Software company Business Analyst will approach they get Requirement from the Client.&lt;br&gt;
&lt;strong&gt;System Design:&lt;/strong&gt; In this phase Business Analyst will make plan to develop the Application in the System and Documentation. It contains the plan, time for the development and delivery of each iteration. &lt;br&gt;
&lt;strong&gt;Development:&lt;/strong&gt; In this Phase the Development team will carried out the software development with the requirements. And develop the software with frequent iteration.&lt;br&gt;
&lt;strong&gt;Testing:&lt;/strong&gt; In this phase software team will test the software and verify the quality and expected result by client.&lt;br&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; In this phase a working software is deployed and use by the cline the aim is completed.&lt;br&gt;
&lt;strong&gt;Maintenance:&lt;/strong&gt; In this software is regularly maintained to ensure customers need and expectations are fulfilled.&lt;/p&gt;

&lt;h2&gt;
  
  
  Principles of Agile
&lt;/h2&gt;

&lt;p&gt;• Achieving customer satisfaction by timely and regular delivery fitting the customer requirements &lt;br&gt;
• Delivering working software with minimal or no errors &lt;br&gt;
• Earning a competitive edge by adapting to the changes in the market &lt;br&gt;
• Sticking to the shortest time delivery with quality &lt;br&gt;
• Including motivated and passionate individuals in building and developing the project&lt;br&gt;
• Accepting change in requirements and deliveries despite nearness to delivery date &lt;br&gt;
• Choosing the face-to-face communication method for efficient and effective information disbursal &lt;br&gt;
• Embracing excellence while estimating and improving the progress &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key - Development Concepts&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Adaptability&lt;/li&gt;
&lt;li&gt; Disruption&lt;/li&gt;
&lt;li&gt; Collaboration&lt;/li&gt;
&lt;li&gt; Iterative and incremental Development&lt;/li&gt;
&lt;li&gt; Milestone check.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;•Requirement changes are allowed in any stages of the development &lt;br&gt;
•Software Releases will be very fast and frequent.&lt;br&gt;
•Customer no need to wait for long time.&lt;br&gt;
•Good communication between team and team member’s confidence increase.&lt;br&gt;
•It is very easy model to adopt,  and will get immediate feedback from client and increase the client trust.&lt;br&gt;
Disadvantages of Agile:&lt;br&gt;
•Less focus on design and Documentation &lt;br&gt;
•Difficult to estimate the time, outcome, and budget of project.&lt;br&gt;
•In early stages very challenging to understand quantity and effort required&lt;br&gt;
•Increase pressure on team members&lt;/p&gt;

&lt;h2&gt;
  
  
  Q3
&lt;/h2&gt;

&lt;h2&gt;
  
  
  EPIC
&lt;/h2&gt;

&lt;p&gt;Epics are used to organize tasks and create hierarchy in the software development process. An epic is a large chunk of work that is divided into smaller tasks/ user stories. An epic often spans across multiple sprints, teams, and even across multiple projects. Product people break down epics into stories before, start creating functionality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;br&gt;
• It breaks large workloads down into small tasks. Basically, epics cut down on unnecessary activities.&lt;br&gt;
It increases team productivity by allowing them to track their progress towards their goals.&lt;br&gt;
• As epics are broken down into small tasks, it saves time and effort.&lt;br&gt;
• It has better organization of data. Basically, it helps to keep track of all ideas in the form of user stories in a single place.&lt;br&gt;
• It improves timeline estimates and performance monitoring.&lt;br&gt;
• Improved communication: Epics facilitate better communication among the team members, as they provide clarity on the overall goals and objectives of the project. This allows team members to work collaboratively towards the common goal, ensuring that everyone is on the same page.&lt;br&gt;
&lt;strong&gt;Drawbacks:&lt;/strong&gt;&lt;br&gt;
• Because of the small tasks, there is sometimes confusion about the end product.&lt;br&gt;
• The clash of ideas and mechanisms creates complications, and then the task of story and epic tracking becomes more complicated.&lt;br&gt;
• The chance of vagueness increases when the teams do not coordinate well with each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  USER STORIES
&lt;/h2&gt;

&lt;p&gt;User stories are a key component of agile software development. They are short, simple descriptions of a functionality from the perspective of a user. User stories are used to capture requirements in an agile project and help the development team understand the needs and expectations of the users.&lt;br&gt;
In agile software development, user stories are typically written on index cards or in a digital format, and are used to drive the development process. The development team uses user stories to plan and prioritize work, estimate the effort required for implementation, and track progress towards completing the user stories.&lt;br&gt;
&lt;strong&gt;Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; User stories help to keep the focus on the user’s needs and expectations, which leads to better customer satisfaction.&lt;/li&gt;
&lt;li&gt; User stories are easy to understand and can be created quickly, which speeds up the requirements gathering process.&lt;/li&gt;
&lt;li&gt; User stories are flexible and can be refined and modified easily as requirements change.&lt;/li&gt;
&lt;li&gt; User stories are independent, which makes it easier to prioritize and plan the work.&lt;/li&gt;
&lt;li&gt; User stories are small and manageable, which makes it easier to estimate effort and track progress.&lt;/li&gt;
&lt;li&gt; User stories promote collaboration between stakeholders, which leads to better communication and understanding.&lt;/li&gt;
&lt;li&gt; User stories help to reduce scope creep and feature bloat, as they focus on the essential needs of the user.&lt;/li&gt;
&lt;li&gt; User stories encourage a customer-focused mind-set, as they keep the team focused on delivering value to the user.&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; User stories may not provide enough detail or clarity to fully capture the requirements.&lt;/li&gt;
&lt;li&gt; User stories may not be sufficient for complex or large-scale projects.&lt;/li&gt;
&lt;li&gt; User stories may be subjective and influenced by the biases of the stakeholders.&lt;/li&gt;
&lt;li&gt; User stories may not capture all of the requirements, which can lead to gaps in the software.&lt;/li&gt;
&lt;li&gt; User stories may not be suitable for projects with a high degree of technical complexity.&lt;/li&gt;
&lt;li&gt; User stories may not capture non-functional requirements, such as performance, scalability, or security, which are critical to the success of the software.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>beginners</category>
      <category>testing</category>
    </item>
    <item>
      <title>Task 1</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Thu, 07 Mar 2024 07:23:22 +0000</pubDate>
      <link>https://dev.to/subash129/task-1-4hed</link>
      <guid>https://dev.to/subash129/task-1-4hed</guid>
      <description>&lt;p&gt;1.Testing Types,                                     &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Functional&lt;/strong&gt;;
&lt;/h2&gt;

&lt;p&gt;Unit Testing,&lt;br&gt;
Integration Testing,&lt;br&gt;
System Testing,&lt;br&gt;
User Acceptance Testing,&lt;br&gt;
Regression Testing,&lt;br&gt;
Exploratory Testing,&lt;br&gt;
A/B Testing,&lt;br&gt;
Risk Based Testing,&lt;br&gt;
Smoke Testing,&lt;br&gt;
Sanity Testing,&lt;br&gt;
Adhoc Testing.&lt;/p&gt;

&lt;h1&gt;
  
  
  Non Functional
&lt;/h1&gt;

&lt;p&gt;performance Testing,&lt;br&gt;
Security Testing,&lt;br&gt;
Penetration Testing,&lt;br&gt;
operational Acceptance Testing(OAT),&lt;br&gt;
compatibility testing,&lt;br&gt;
scalability Testing,&lt;br&gt;
Recovery Testing,&lt;br&gt;
Availability Testing,&lt;br&gt;
Usability Testing,&lt;br&gt;
Accessibility Testing,&lt;br&gt;
Contract Testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. STLC phases&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Requirement Analysis,&lt;br&gt;
Design,&lt;br&gt;
Development,&lt;br&gt;
Testing,&lt;br&gt;
Deployment,&lt;br&gt;
Maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Qualities of a Tester.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Technical skill - Technical skill is more important for a SW Tester because based on the strong Technical skill able work perfectly in the Software Testing,&lt;br&gt;
communication- Is helps to better understanding the project and testing methods. it also helps build good connection with team and clients.&lt;/p&gt;

&lt;p&gt;Reporting skill- Is helps how tester tested the application and what are all the bugs and Errors occurs while doing the Testing. and its contains Expected results and actual results.&lt;/p&gt;

&lt;p&gt;Analytical &amp;amp; Logical Thinking- these skills will help to tester &lt;br&gt;
 to test and evaluate application requirements and identify potential issues, bugs, errors.&lt;/p&gt;

&lt;p&gt;Time management- its helps to complete the task timely, Because some times consuming more time will lead more cost so time management is important for testing, and also it increase productivity, helps to complete the goals on time also delivery the product to the clients. &lt;/p&gt;

&lt;p&gt;Adopting New leanings- Adopting new Learnings and Technology are supports the tester to complete the work Easier and faster. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. Difference Between Waterfall and Agile&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;waterfall Model&lt;/strong&gt;                  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Divides the Software development into phases
&lt;/li&gt;
&lt;li&gt;its is Structure methodology
&lt;/li&gt;
&lt;li&gt;Changing the Requirements in not an option once the project development start,&lt;/li&gt;
&lt;li&gt;Testing phase comes after build phase,&lt;/li&gt;
&lt;li&gt;Rigid and Sequential process
&lt;/li&gt;
&lt;li&gt;Recommended for Well-defined requirements project, because
changings is not possible
between the process. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Agile Methodologies.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agile divides into Sprints.&lt;/li&gt;
&lt;li&gt; its is flexibility.&lt;/li&gt;
&lt;li&gt;changing the requirements is possible irrespective of the set plans.&lt;/li&gt;
&lt;li&gt; Testing is performed along with programming.&lt;/li&gt;
&lt;li&gt;collaborative process&lt;/li&gt;
&lt;li&gt;It supports in Dev process in which the requirement are expected to change.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>testing</category>
      <category>test</category>
      <category>automation</category>
      <category>learning</category>
    </item>
    <item>
      <title>Task 1</title>
      <dc:creator>subash</dc:creator>
      <pubDate>Wed, 06 Mar 2024 08:09:12 +0000</pubDate>
      <link>https://dev.to/subash129/task-1-2fod</link>
      <guid>https://dev.to/subash129/task-1-2fod</guid>
      <description>&lt;p&gt;ans&lt;/p&gt;

</description>
      <category>testing</category>
    </item>
  </channel>
</rss>
