Task 14

  1. Difference between Automated and Manual testing in software development

    Automation Testing :

    Automated testing, tests are executed automatically using automation tools & frameworks.

    Automation Testing is faster than a manual testing.

    Automation will not allow any random testing.

    The initial investment for automation testing is higher.

    Automation Testing is more reliable, as it is performed by tools and scripts.

    Automation Testing is cost effective.

    It needs less complex test execution set up.

    It is well suited for Regression Testing, Load Testing, Performance Testing, or repeatable functional test cases.

    Manual Testing :

    Manual testing, you perform the tests step by step without the help of tools.

    Manual testing requires human resources and is time consuming as well.

    It is possible in case of Manual Testing.

    The initial investment for manual testing is lower.

    Manual testing won’t be as accurate as there is a possibility of the human error.

    Manual Testing is not cost effective as ROI is lower.

    Manual testing needs have a straightforward test execution setup.

    It will be suitable for Usability, Exploratory, and Adhoc Testing.

  2. Some of the most common Automation testing tools in market :

    * Selenium - Apache License

    *Appium - Appache License

    *Katalon Studio - Proprietary Software

    *Tricentis Tosca - Proprietary Software

    *Cucumber - MIT License

    *Ranorex - Proprietary Software

    *Test Complete - Proprietary Software

    *Robot Framework - Apache License

    *UFT One - Proprietary Software

    *Eggplant Functional - Proprietary Software

    *Watir - BSD License

    *Mocha - MIT License

    *Test Studio - Proprietary Software

    *Rational Functional tester - Proprietary Software

    *Jasmine - MIT License

    *Galen Framework - Apache License

    *Tricentis Tosca - Proprietary Software

    * Capybara - MIT License

    *RSpec - MIT License

    *Silk Test - Proprietary Software

    *Qunit - MIT License

    This all the most common Automation trending tools.

  3. Cross Browser Testing :

    Cross browser testing refers to the practice of verifying that web applications work as expected across many different combinations of web browsers, operating systems, and devices. Though all web browsers support the common web standards (including HTML and CSS) developed by the World Wide Web Consortium (W3C), browsers can still render code in different ways. These disparities in appearance and function can arise from various factors, such as:

    1. Differences in the default settings on a browser or operating system (for example, the default font used by a browser).

    2. Differences in user-defined settings, such as screen resolution.

    3. Disparities in hardware functionality, which can lead to differences in screen resolution or color balancing.

    4. Differences in the engines used to process web instructions.

    5. Variations among clients in the version support for recent web standards, such as CSS3.

    6. The use of assistive technologies, such as screen readers.

In this article, we’ll explain how cross browser testing works to detect such differences and ensure that they don’t negatively impact application performance. We’ll also look at its benefits and challenges and describe how you can get started with cross browser testing.

  1. Write an Blog on TDD and BDD :

    TDD (Test Driven Development) and BDD (Behavior Driven Development) are fairly similar development approaches that both emphasize testing and collaboration, yet have major differences in focus and methodology.

    Software testing is critical in the software development cycle and ensures that the developed products are reliable and of high quality. The quality of the application is vital for providing a satisfying user experience. Paying attention to the development methodology used in writing tests in an application is also important.

    Test-Driven Development (TDD) and Behavior Driven Development (BDD) are two popular and effective methodologies developers use to write quality tests that benefit developers, users, product managers and stakeholders.

    TDD : (Test Driven Development)

    Simply put, the TDD process involves writing automated tests before writing the code. The results from these automated tests provide insights for the developer to improve their code. TDD is a more focused and disciplined approach to development, and is itself a way to provide continuous feedback for faster bug identification and debugging.

    BDD : (Behavior Driven Development)

    Simply put, BDD is an Agile Testing Methodology that uses system behavior to guide the development activities. Instead of starting with a test like in TDD, BDD starts with analyzing the desired behavior that developers want to create. After that, they’ll express the desired behavior using the Gherkin syntax, which consists of Given - When - Then statements. These statements show developers how to develop the code that fulfills the behaviors described.