A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://saucelabs.com/resources/blog/getting-started-with-automated-testing below:

What Is Test Automation? Get Started With Automated Testing

Automated testing is a software testing technique that leverages automation technologies rather than human testers to control the execution of tests. The actual test findings are then compared to the expected outcomes. Your projects will be more efficient and have a shorter time to market if you use automated testing.

Benefits of Test Automation 

Many software companies across the globe are embracing automated software testing for their SaaS products. The following are some of the many advantages of automated testing:

Test Automation Pyramid

The test automation pyramid is a testing strategy for mobile applications and websites where tests are automated across a mix of user interface (UI), API or integration (service), and unit testing. While every project, system, and delivery team are unique, generally that mix should appear as a pyramid.

The “Test Pyramid” concept was created by Mike Cohn and has been written about by thought leaders across the industry. The automation test pyramid (illustrated below) flips the original test pyramid by placing unit testing at the base followed by API or integration (service) and then UI testing.

Test Automation Test Cases

In software testing, a test case is a detailed document containing specifications, input, steps, testing conditions, and expected outcomes related to the execution of a software test on a particular application. Every feature in a SaaS product involves two test cases – a positive and a negative test case – to produce the desired coverage in different scenarios in the test suite. The following are some of the test cases that can be automated:

Test Automation Strategy

The success of automated testing is determined by the testing strategy: you must create a test automation plan that identifies the initial set of test cases (these will serve as the groundwork for future tests) and the testing tools you’ll be using.

Choosing the right automated testing framework for your organization is one of the keys to mastering test automation. Another tool to choose is the testing tool itself: will you use emulators or real devices? Will you buy all the devices, or will you use a comprehensive cloud-based testing platform?

More automated testing resources:

Best Practices for Automated Testing

There are a few best practices to remember when implementing an automated testing strategy: 

How to Choose Which Tests to Automate

Not all tests should be automated, but most unit, integration, and performance testing can be easily automated. Consider the following criteria when deciding which tests to automate:

Automated Testing Tools

Deciding which automated testing tools to use can often be a pivotal, make-or-break point in any CI/CD initiative. It’s important to understand the differences in the types of tools you can choose for automated testing.

There are three categories of tools that you and your team might consider when beginning the journey to automated testing:

Popular Test Automation Frameworks

The market offers a plethora of test automation frameworks to choose from, and the decision isn’t always easy. As you evaluate mobile testing frameworks to determine what's suitable for your organization, you should ask some key questions to help uncover your needs and understand the impact of a new tool on your organizational processes, tech stack, and teams.

The following are popular test automation frameworks:

More information on choosing a test automation framework:

Test Automation Process

The test automation process is the same across tools and includes the following basic steps:

  1. Prepare the test environment: Establish a base state for the test environment that includes a realistic data set and one or more configured environments. This base state is what the system returns to after testing.

  2. Run the test script: Test automation tools run the tests automatically according to the test case.

  3. Analyze the test results: Review the log to see if any bugs were identified. You can also run the test again manually if needed.

Automated Testing with Selenium

Selenium is an open-source testing framework that has found wide adoption in recent years. Selenium testing supports the most popular scripting languages, including Node.js, Java, Python, PHP, Ruby, or C#. Test scripts can be produced with the languages known best. Developers, QA, and even project managers can develop and review tests for all apps, speeding up the time to market.

Benefits: As the most widely used testing platform, Selenium is the most well-supported and comprehensive app testing framework available. As an open-source platform, Selenium leverages the expertise of a huge community. Selenium also has bindings for many scripting languages like Ruby, .NET, C#, JavaScript, and even Cucumber. This allows your Dev teams to manage and review your tests in whatever language you choose to further reduce testing time. 

Some limitations to be aware of: Selenium is only for desktop web applications and cannot be used to test mobile applications. In addition, some testing capabilities are impossible to automate with Selenium, such as randomly generated elements like CAPTCHA (however, many well-documented workarounds can help overcome this blocker). As tests become longer and more involved, you may notice a deprecation in execution speed. By following a few Selenium best practices, you can help mitigate that risk. In fact, some may see this as a benefit of using Selenium, as it requires developers and testers alike to practice writing high quality code and tests to ensure there are no quality bottlenecks in the pipeline. Finally, Selenium doesn’t have a reporting feature out of the box or a way to upload feature files out of the box initially. However, this capability can be done with a cloud-based testing platform.

Generally speaking, Selenium’s flaws are extremely specific and most teams looking to start out with automation will find Selenium’s flexibility and scalability make it the best choice for automating web testing.

Selenium resources:

Automated Testing with Appium

Appium is a leading open-source test framework that allows for cross-platform (mobile) native test automation, as it supports both iOS and Android platforms. It was derived from Selenium to extend automated testing functionality to mobile apps.

Benefits: Since it's built on the same JSON wire protocol, QA and development professionals who are familiar with Selenium will find the transition to Appium easy. Its extra functionality allows for testing of native, mobile web, and hybrid apps, and can be run across both the iOS and Android operating systems. Appium tests are language-agnostic, and users do not need to install any extra software on their mobile device to support Appium. Backed by a large and thriving community, Appium users get consistent support for troubleshooting their issues.

Some limitations to be aware of: Users who are new to Appium need to familiarize themselves with a new scripting language and learn the rules on how to best interrogate your application to see the benefits of automated testing. Also, to optimally utilize the power of Appium for native app testing, users need to learn the concepts of native app/ selectors and have a reasonable understanding of the Appium architecture, which adds to the learning curve.

Appium resources:

More Automated Testing Resources

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4