Web application testing is critical to ensuring that your software is ready for users and doesn’t contain any major bugs that could cause you to lose credibility or customers.
There are many different types of web application testing and each one provides different benefits at different times in the software development process. So, it can be difficult to know which type of testing will give you the results you're looking for.
Additionally, with any type of web application testing, you need to consider whether to automate your tests or perform them manually. With most types of testing, automating your tests can produce faster, more reliable results. And with the right test automation tool, you can manage more testing in less time.
In this post, we’ll cover the main types of testing and when to use them, when to automate and when to perform tests manually, and how to save time and resources using our tool, Rainforest QA, to automate functional tests.
Sign up for Rainforest QA—you can run five hours of no-code automated functional tests for free, every month. It’s only $5/hour after that.
Web application testing covers a wide range of testing types. Each one has a different purpose and place in the development lifecycle. In this section, we’ll cover the most widely used types of testing and provide guidance around which types to prioritize.
The goal of functional testing (sometimes called end-to-end testing or user interface testing) is to confirm that various elements of an application are working together as a whole and appearing correctly in the user interface (UI).
Types of functional testing include the following:
Functional testing is the highest priority for most web applications because it helps ensure the end-user will be able to perform all desired actions.
Non-functional testing, on the other hand, is more concerned with fine-tuning a functioning application.
The goals of non-functional testing are to evaluate all non-functional aspects of an application, including performance, security, usability, and more.
Types of performance testing include:
Types of web security testing to identify potential vulnerabilities that might compromise the application’s security include:
There are other types of software testing (like usability testing or user acceptance testing) that are often mentioned as part of the QA discussion. However, these types of testing are typically handled by the design or customer support teams rather than by web development or QA teams. This is because these types of testing deal with the user experience and ensuring the layout of the application is intuitive for users rather than dealing with whether or not the build works as intended.
Manual testing is any type of testing where someone interacts with the application by physically clicking, scrolling, or observing various aspects of the application in real-time. This is typically how teams first start out testing their web app.
There are a few situations and types of test cases that are best handled with manual testing:
Automated testing uses software tools or coding frameworks to automate the actions a real person would’ve performed manually (e.g., clicking, scrolling, etc.).
Automated tests are much cheaper to execute, take less time to run, and provide more consistent results than manual tests. In general, it’s a good idea to automate as many functional tests as possible, excluding the ones better-suited for manual testing.
Some of the most common automated testing frameworks widely used in the QA world include Selenium and Cypress. Selenium and Cypress are both open-source, but they have a steep learning curve and require programming skills to use. While Selenium supports a wide variety of programming languages, like Java, Python, Ruby, C#, JavaScript, Perl, and PHP, Cypress only supports JavaScript.
For many software teams, a no-code automated testing tool is a better option because they don’t have to use developer time to set up and maintain tests. That’s exactly why we designed the Rainforest QA all-in-one codeless automation platform.
Now we’ll show you how it works.
Rainforest QA is a no-code platform for automating functional tests. The all-in-one testing platform runs in the Rainforest web app, so you don’t have to download anything or pair it with additional testing tools. And, for any tests that can't or shouldn't be automated, we also provide an on-demand manual testing service.
Most web application testing tools require someone with programming skills to write and maintain tests. With Rainforest QA, anyone can create functional tests in a matter of minutes—even without a technical background.
To write or edit a test, choose from a dropdown menu of actions (e.g., click, fill, observe, etc.). Then, choose the element or area of the application you want to apply the action to by taking a screenshot with a click-and-drag of your cursor.
You can also choose to embed one test in another. Embedding a test allows you to write a common sequence of events (a log-in process, for example) just once and use that sequence in any other test.
For example, here’s a signup flow for Rainforest QA:
If you wanted to use that sign up flow in another test, you’d simply search for the test name and select it to embed it in the new test.
You can manage and organize all your tests from right within the Rainforest QA platform.
Then, when you’re ready to run a set of tests, you can kick off tests with one click within the Rainforest platform, or you can incorporate your Rainforest tests into your CI/CD pipeline via our API, CLI, CircleCI Orb, or GitHub Action.
With any of these options, you can access our network of virtual machines with more than 40 combinations of browsers and operating systems, including Chrome, Firefox, Microsoft Edge, Internet Explorer, and Safari. You can run many tests simultaneously and make sure your app is compatible with the most common browsers and operating systems your customers use.
Finally, any test written in the editor can also be sent to our community of worldwide QA experts for manual testing. Results come back in 17 minutes on average, which is the fastest manual testing service currently available.
Determining why a test failed can be a very time-consuming part of the debugging process when you don’t have the right features or tools to assist you. That’s why Rainforest QA provides video replays, in-depth details on how the failure was determined, HTTP logs, browser logs, settings, and more. Whether a test passes or fails, Rainforest QA automatically records a video and provides you with all these details for each test run.
When viewing a specific test run, you can see each test step listed on the left with the video displayed on the right. The ‘investigate action’ button is where you can find most of the additional details that are often the key to understanding why a test failed.
Rainforest also provides a Jira integration. Any Jira ticket created from a test failure will automatically include steps from the failed test, a screenshot from the failed test step, and a link to the video replay and more information in Rainforest QA.
With our Slack, Microsoft Teams, and email integrations, you can get real-time notifications of test failures and other test suite updates.
For many web applications, there are a few critical test cases that require the ability to open multiple browsers or interact with browser settings. For example, you might want to test the ability to install a browser extension or see how a web application performs under different browser configurations (such as with ad blockers activated). Because Rainforest can automate any actions in the operating systems running in our virtual machines, you can write tests that open multiple web pages and leave the browser to test these user paths.
There are many other scenarios where this feature could be helpful. For example, if you need to test the ability for two separate users to interact with each other through a chat feature, you can do that by opening two separate browsers in a Rainforest test. Or if you need to test whether a desktop application can be successfully downloaded and installed, you can create a test in Rainforest that performs all the necessary interactions with the operating system to verify that.
To see this in action, check out this video walkthrough of creating a test that saves a file to the desktop from one location, then uploads the file to Google Drive.
To save you from spending a ton of time creating and maintaining test data, we provide a library full of randomly-generated emails, passwords, addresses, virtual credit cards, names, and much more. You can even use our virtual email inboxes to test sending and receiving emails.
It’s never too early to start investing in QA, and with a no-code tool like Rainforest, you can start for free—without needing any additional test management tools and without hiring additional QA engineers.
Our free-forever Professional plan makes software test automation accessible to anyone by providing 5 hours of free UI testing every month—it’s only $5/hr after that. You’ll only pay for the time spent running tests, and not for writing, editing, or otherwise managing your tests.
This plan has everything you need to run functional testing and manage your testing workflow without any hidden costs or long-term contracts. This provides for easy scalability of your testing program as your company grows because you’ll never have to pay for more than you need.
The Professional plan also includes a free 14-day trial of our manual testing service. After that, it’s only $25/hr.
Sign up with Rainforest QA today to begin scaling up your functional web app testing.
Over time, the QA industry has developed many great processes and best practices that drive software and business success. But some practices are outdated, while others have negatively impacted product success. In this post, we share the Top 5 Don’ts of Software Testing.
Today, we're sharing our approach to test writing and how you can use it to get better results from your QA tests.Crafting well-written test cases is critical to getting reliable, fast results from your manual QA tests.
In this post we explore how to identify and approach breaking the QA bottleneck to ensure that your testing process doesn’t slow down your release cadence.
When we think of Quality Assurance we typically think of Product and Engineering, but Digital Marketing teams own quality too. In this post, you will learn how incorporating a QA strategy into your digital marketing strategy leads to success.