CrossBrowserTesting.com

A Design, Development, Testing Blog

  • Product Overview
  • Pricing
  • Back Home
  • Free Trial
  • Design
  • Development
  • Manual Testing
  • Test Automation
  • Visual Testing

Manual Cross-browser Testing for Beginners Part 2: Tools and How to

April 23, 2020 By Sarah Mischinger Leave a Comment

Welcome back to the second part of our manual cross-browser testing tutorial for beginners! In the last part of this series, we talked about what cross-browser tests are, why you need to conduct them, and what different types of tests we know. If you haven’t read the first part yet, we encourage you to do so now.

Today, we’re going to delve deeper into the How of cross-browser testing, and also take a look at some prerequisites and tools that help you test more efficiently. So, without further ado, let’s get started!

How to choose browsers for testing

In our previous blog post, we learned that cross-browser testing can help ensure that your web application looks and works perfectly on different browsers, browser versions, and devices. But let’s take a second to think about all the different combinations you could theoretically test. It’s hardly possible to test on every browser and device out there! Hence, you should spend some time figuring out which combinations to check.

First, you need some usage data to find out which browsers and browser versions are the most popular used in the market as well as the ones visiting your website. 

You usually have two options here:

  1. Analyze publicly available data on websites like this one
  2. Analyze existing usage data of your web app (e.g., from Google Analytics)

Don’t forget to include mobile devices and their browsers in your research! 

Use the data found to create a browser matrix that everyone on your team can understand and use when cross-browser testing. For this, create an Excel or Numbers spreadsheet that contains at least the following information:

  • Browser name
  • Browser version
  • OS
  • Device
  • Support (yes, no, or partially)

Depending on how many browsers you’ve listed for testing, you may need to prioritize them. Especially if you’re testing manually, you probably won’t be able to check every browser and device on your list when time is running out. Therefore, you should prioritize the entries in your browser matrix according to popularity, so that you can ensure that the majority of your users can enjoy a thoroughly tested web app.

Set up your ideal test infrastructure

After defining your browser matrix, you need to find a way to access all of these different browsers and devices. Here, you also have various options to choose from:

In-house device and browser lab

Your company may already have an internal lab that offers everything you need. If you are considering building a lab on-premises, first make sure that enough resources are available to purchase and maintain the necessary components of your infrastructure.

Emulators and simulators

To check your web app in mobile browsers, you can install and run emulators and simulators on your machine. These tools mimic real devices and are a great choice if you want to review your app during development. However, they are not the “real deal” and can’t completely replace testing on real devices. If you want to learn more about the pros and cons, read this blog post from our friends at Bitbar.

Virtual machines

You can install a virtual machine (VM for short) on your computer and use different images to run foreign operating systems. So, for example, if you are a Mac user and need to test your web app on Microsoft Edge, you can run Windows 10 in a Virtual Machine. Yet, VMs take up a lot of disk space – the more OS versions you need to run, the more images and space you need. Also, your computer may struggle with running another OS, which can cause severe lag, among other things. Therefore, this option may not be suitable for you.

Online services

The most promising option for most testers is to use an online-based test service that provides all the browsers, browser versions, and devices you need to test. Typically, these services are subscription-based but can save you a lot of resources and headaches since you don’t have to purchase and maintain the infrastructure and tools yourself.

How to conduct manual cross-browser tests

After you’ve set up a suitable infrastructure to access all of the combinations required for testing, it is time to think about the actual testing process. Let’s find out what usually works quite well:

Set a baseline for comparison

First of all, you should test your app in a modern, reliable and popular browser like the latest stable version of Google Chrome. This way, you can find and fix some of the more apparent bugs and get a clear idea of ​​how the app should look and work. If you then test in other browsers, you can compare and evaluate the results using this baseline.

Create a cross-browser test strategy

You need a document that contains guidelines for cross-browser testing that everyone should work with. If you don’t have such a plan on hand, you may forget to test critical functions or follow different practices than your colleagues. As a result, you may invest a lot of time in tests that lead to unsatisfactory results.

In this test strategy document, describe what should be tested, how often it must be tested, and what should not be tested. Use your product’s test specification or create one if necessary. Additionally, you should include your browser matrix and add some information about the infrastructure used. Read our blog post “Real Device and Browser Testing Strategy for 2020” to learn more about what to include here.

Execution

After completing all of the above steps, you can finally get the show on the road and execute your tests manually according to your test strategy!

Tools that make manual cross-browser tests more efficient

Since manual testing can lead to bottlenecks that hinder the timely release of your web applications, we at CrossBrowserTesting have developed some tools that help you to test more efficiently:

Live testing 

The Live Testing tool lets you perform interactive manual and exploratory tests on more than 2050 desktop and mobile browsers. You get access to browser extensions and inspection tools that you can use to debug your CSS, HTML, and JavaScript code.

Visual Testing

Don’t forget to check what your application looks like in addition to how it works – especially when it comes to your responsive website design. With our Visual testing tool, you can take full-page, chromeless, or above-the-fold screenshots of your web app’s layout on different devices at the same time. We also offer you an API that you can use to schedule screenshots.

Record and Replay

Would you like to get test automation into your test mix without having to write a single line of code? Then our Record and Replay tool is the perfect choice to eliminate the pain of manually executing repetitive test cases. Record your test flow and replay it in parallel on all desired browsers to shorten test execution time while increasing browser coverage.

Conclusion

In the second and last part about manual cross-browser testing for beginners, we gave you an idea of ​​how to run cross-browser tests, what you need to do in advance, and which tools can make testing more efficient.

We hope that we’ve been able to provide you with some useful and valuable knowledge that will help you get a flying start with manual cross-browser testing! 

Filed Under: Manual Testing Tagged With: cross browser testing, manual testing, record and replay, tutorial, visual testing

Manual Cross-browser Testing for Beginners Part 1: Concepts and Types

March 26, 2020 By Sarah Mischinger Leave a Comment

You have probably noticed that automated testing receives a lot of love and hype right now. That’s because they can accelerate test execution times and make room for other, more pressing tasks. However, manual testing is still very much relevant as we cannot automate everything (not yet at least). For this reason, we want to take a closer look at the craft with a two-part series about manual cross-browser testing for beginners. In this first blog post, we’ll talk about what manual testing is, why and when you need it, and what types of cross-browser testing need to be done manually.

What is cross-browser testing?

When you develop a website or web app, you most likely use one or two browsers for development, such as Chrome and Firefox. Maybe you resize the browser window to see if the component you are creating adapts correctly to different screen sizes.

However, do all of your users browse the web with your development browsers? And do they solely use their laptop or PC to do so? As you probably know too well, the answer is no. There are many different browsers and versions out there, and your users often use their tablets or mobile devices to visit your website. In fact, the use of mobile internet has increased by 504% since 2011!

By conducting cross-browser tests, you can ensure your web app works and looks splendid on many different browsers, browser versions, and devices. The goal is to offer as many users as possible a consistent and positive experience with your online product. 

Who performs these tests?

The answer to this question can vary from company to company since everyone has set up their own workflows with the available staff and resources. But let’s see who is most likely to run cross-browser tests:

  • Web Developers – Naturally, the people who implement the app under test are often best suited for the job. They already know what to look for, how to report and deal with errors, and are also capable of resolving any issues they encounter.
  • Quality Assurance teams (short QA) – Especially big companies have set up a QA department that helps make sure products meet specific criterias and quality standards. Usually, the staff is trained to conduct tests and report bugs back to the developers.
  • Web/UI/UX Designers – The designer of your web app should always ensure that the result matches their crafted design. However, since they check the overall look and feel of the web app, they don’t need to test on every browser and device and often limit their testing efforts on one of each.

Note: In general, anyone can help test your app. This often depends on the type of test you want to conduct. For example, if you need to verify your app’s intuitiveness, you can invite a group of external people to represent your target audience and watch them use your app.

Why should you test your website or web app?

In recent years, websites have become more and more complex. In fact, we mostly refer to them as web apps these days – a term which people hardly used ten years ago. Software that users previously had to install on their computers has been transformed into online services, and the web is no longer just a provider of information.

Imagine visiting your favorite blog and seeing that components such as the primary navigation don’t work in your browser. You may be a little annoyed, but things could be worse. However, if you need to fill out an essential form on your government’s web portal, and the same bug occurs, things aren’t looking so rosy anymore. For better or worse, web apps are an integral part of our daily lives we depend on.

Your web app users also expect your product to work flawlessly anytime, anywhere. That’s why you need to conduct thorough cross-browser tests! If you can’t provide users with a working app, they may be looking for an alternative. In the worst case, your company loses customers (and ultimately money).

When and what should you test manually?

Basically, we know two different ways to carry out cross-browser tests: manually and automatically. Since we’re covering manual testing in this blog series, we’re not going to talk too much about test automation, but include the basics to give you an idea of ​​the differences.

Manual cross-browser testing

Here, a tester interacts personally with the web app on all browsers and devices. For this, they can follow a pre-written list of things to test and report any errors they encounter to a system or developer (depending on the company’s workflows).

Automatic cross-browser testing

Testers write test scripts and run them automatically on all required browsers and devices by using automation tools such as Selenium WebDriver. We recently published a blog post about when and what to test automatically, which you can read here.

Naturally, manual testing takes a lot of time – especially if your app is quite complex and must be checked in many different browser versions. Test automation helps reduce the needed time and allows you to focus more on analysis, troubleshooting, and other more pressing matters.

However, manual tests are still required! Some tests are too complicated or computationally intensive for automation, but testers can efficiently perform them manually. Most security components like Captchas cannot be tested automatically either, because it would make no sense if someone could bypass these security mechanisms through automation.

Besides, test automation is overkill for some projects. If you are working on a small and relatively simple website, writing test scripts can take more time than running the test manually. And if your company doesn’t have qualified staff to write these tests, you may also need to opt for manual testing until the situation changes.

What types of manual cross-browser tests are there?

Let’s complete this first blog post on manual cross-browser testing by taking a quick look at the types of tests that you can conduct manually.

Exploratory testing

This type of test is always done manually, as a human must freely discover the app to find UX vulnerabilities and bugs. Even if you could achieve 100% test automation, you would still miss errors that only occur under certain unpredictable circumstances. With exploratory testing, you can find out how users interact with your app and how it responds in different situations. Yet, since you don’t have a checklist to guide you through testing, it can be challenging to know where to start or what to look for. That’s why we have created a playbook to help you discover some of the types of personas you should test for.

Visual Testing

Visual tests ensure that your app looks and feels good in different browsers, browser versions, and devices. Of course, you need to check if your CSS animations and JavaScript-driven components work appropriately under different circumstances. Additionally, designers and QA teams can ensure that the web app meets the expected quality and that the implementation matches the design.

Functional Testing

Looks aren’t everything, and the most stunning web app is worthless if UI components don’t respond as expected. As the name suggests, functional tests help you make sure that users can actually use your app. For example, you can test whether your contact form checks the email field correctly and whether the user can submit forms if the required fields are empty.

Note: While you can’t automate exploratory tests, teams can save time by automating repetitive test cases and tests that can expect a specific result.

Conclusion

In this first part about manual cross-browser testing for beginners, we made sure to provide you with the basic knowledge of the craft. Now you should know about the different types of tests and who will perform them and when. We hope to see you again in the second part of this blog series, where we will talk about how to perform manual tests and what tools you can use to make the process more efficient.

Filed Under: Manual Testing Tagged With: beginner, cross browser testing, manual testing, tutorial

How to Successfully Automate Your Cross-Browser Tests

March 3, 2020 By Sarah Mischinger Leave a Comment

Testing your software or application before releasing it into the wild isn’t just a nice-to-have. Developers and QA teams spend hours making sure their company releases high-quality products. However, testing practices and requirements for web apps have changed in recent years, and new complexities require efficient solutions, such as test automation. So let’s talk more about automating your cross-browser tests, what to automate and what not, and which tools are best suited for the job.

What is test automation, and how can you benefit from it?

When Internet Explorer 6 was the most common browser, hardly anyone used Google Chrome, smartphones, or tablets. Developers only had a few browsers of which they had to test their website on, and there was usually nothing more to do – testing was not as demanding as it is now. Also, the products built back then weren’t as sophisticated as what you can find online today. E-commerce sites, online banking, complicated UI structures, and animations with CSS required developers to step up their testing game. Add all the different smartphones, tablets, different browsers, and their versions into the mix, and you can see, cross-browser testing is much more critical these days.

If our testing practices looked the same as they did in the IE 6 era, we would likely publish bug-infested web apps that most people wouldn’t even look at. Of course, by now, we all know how necessary thorough testing is and that we need to run various types of tests (e.g., functional tests, performance tests, security tests, etc.) to ensure that our app works and looks perfectly. Yet, testing can be time-consuming – the more tests you need to run, the longer it will take to release your app. And that’s where test automation comes in to save the day.

Test automation helps you save time by letting developers configure test cases and have them run automatically by a tool. If you’re cross-browser testing, instead of manually interacting with your web application, you can prepare a script, define and configure the browsers you want to test, and then have a browser automation tool do everything for you.

However, saving time isn’t the only benefit you can enjoy from automating your cross-browser tests! Read on to discover more.

Know what to automate and what not

You have probably heard that manual testing leads to bottlenecks, worsens time-to-market, and possibly bores your test teams out of their minds. At the moment, though, we can hardly execute 100% of our tests automatically (although that would be nice). For example, User Experience testing requires a human tester, other tests may be completed faster manually, etc.

Regardless of which tools you use for cross-browser testing, you and your team must define what should and should not be automated, to be able to achieve the desired results efficiently.

In general, these types of tests can be automated:

  • Tests that you expect to get a specific result, e.g., unit testing
  • Repetitive tests that have to be carried out frequently, e.g., login (authentication)
  • Tests that you have to run with different options and parameters, e.g., a contact form with mandatory fields, email address verification, etc.

Yet, manual testing can be a better choice for:

  • Tests that get flaky due to automation. For example, if your test has to wait for input from a third-party source that doesn’t always deliver on time and therefore can’t produce consistent results, you’d be better off running the test manually.
  • Tests that are too complicated or computationally intensive, but can be carried out quickly by a human.
  • Everything that protects your web app or itself from automation, such as captchas. It would make no sense if you could test and pass a captcha automatically, right?
  • Tests based on a user’s subjective opinion, such as UX tests and any other types of analysis that goes more in the look-and-feel direction of your app.

After talking about what can be automated, we need to talk about which tool to use. One of the most popular and useful frameworks for cross-browser test automation is Selenium – let’s find out what it is and how it can help you.

Use Selenium to automate your cross-browser tests

Selenium is a robust framework that consists of various tools and was initially developed by Jason Huggins in 2004. Allegedly, the name comes from one of his emails, in which he made fun of a competitor named Mercury by writing that selenium mineral supplements can cure mercury poisoning.

The part of the framework we’re most interested in now is Selenium WebDriver, which is used to automate cross-browser testing. WebDriver accepts commands and sends them to a browser to execute them (hence the name). Teams can automate tests for their web applications by instructing WebDriver to perform specific actions in any browser and device. It’s also worth noting that the WebDriver specification made it into the W3C recommendations in June 2018, further increasing the tool’s popularity.

Selenium helps you and your team save valuable time that you can spend on other tasks that still require a human’s full attention, such as analyzing test results and performing manual tests. However, before you blindly start automating your test cases with Selenium, you need to determine which tests can and cannot be automated. To do this, you can use our lists from above to get started. If you want to learn more about test automation with Selenium, be sure to check out our Selenium Toolkit!

Run your automated tests in parallel

Automating your Selenium tests is an essential step in improving test execution times, but you can do more! The real magic unfolds when you run your automated tests in parallel on multiple browsers and/or devices. Let’s say a test case takes about 10 minutes to execute, and you need to test 10 different browsers and devices. If you check one browser and device combo at a time, it will take about 100 minutes to finish. However, if you run the script in all required environments at once, you’ll be finished in about 10 minutes!

Parallel tests enable you to test your web app on more devices and browsers in the shortest possible time. For this, you can use Selenium Grid, which allows you to execute your Selenium tests on multiple environments at once. But, the right infrastructure is required for Selenium Grid because it is based on a hub-node concept. This means that you need one machine – the hub – to host the tests, and several machines – the nodes – to execute tests on different browsers, browser versions, etc.

Make sure you have the resources to set up and maintain the necessary infrastructure if you want to run Selenium Grid on-premises. If you don’t want to manage the infrastructure yourself and have additional requirements, e.g., running your tests on real devices as opposed to simulators, you can try a web-based test service.

Conclusion

Selenium is the best choice if you want to automate your cross-browser tests and make them future-proof. Before you start automating, however, you should spend some time thinking about your product and its features to find out what you can and should automate, and what needs to be tested manually.

Make sure you run your automated tests in parallel for the best possible efficiency. Run hundreds of tests in parallel on thousands of real desktop and mobile browsers with our optimized test infrastructure in the cloud. Start your free trial and take advantage of executing your automated tests in parallel on real devices and browsers.

Filed Under: Test Automation Tagged With: cross browser testing, Selenium, test automation

Must-Have Components of Your Successful Web App Test Strategy

February 18, 2020 By Sarah Mischinger Leave a Comment

In the early days of the WWW era, websites were rather static and simple. Today though, many web applications are quite complicated and more so what people think of as “software.” This complexity comes with a lot of responsibility since you want your app to perform as expected and please your users. This is why proper and thorough testing practices are mandatory for releasing high-quality web apps.

Pave the Way for More Efficient Test Practices During Development

Not thinking about testing during the development process can lead to unnecessary frustrations for your testers. Because testing web applications is no longer optional, you should consider testing requirements right from your project’s start.

Here’s what you can do during development to make testing more efficient:

Leverage Your Past Experiences

Suppose you know that the component you are creating may be faulty in a particular browser if it’s not programmed in a certain way. If you share this knowledge right away and write the functionality accordingly, you can save time and headaches when testing.

Tip: Share your experience with colleagues and make comments in the code if you know about error-prone components.

Use a Solid Foundation

Instead of reinventing the wheel, use frameworks and libraries that are already set up and optimized for your project. For example, Bootstrap for your CSS, Angular, or Vue.js for your JavaScript, Laravel for your PHP backend, etc. With these tools, you can make sure that you are more efficient and end up with fewer errors in your code. Besides, most frameworks already include guidelines for writing code, tests, and so on. As a result, you and your team can save a lot of time in development and testing, as following these rules will help you build a clean and consistent codebase.

Reuse Code Snippets From Other Projects

If you’ve already done something, why not do the exact same thing again? By reusing previously tested code from other projects, you can save time in development and testing. Of course, you still want to write tests for these snippets, but you can expect them to be less of a problem for you.

Clean Code Saves Everyone’s Day

Writing clean code should be a no-brainer since it’s not only easier to test, but also improves your team’s productivity and motivation. If you need to work with someone else’s code, you sure don’t want to spend too much time deciphering what’s going on there. And clean code can help make it more readable and understandable.

The tricky part of achieving clean code is that every single programmer needs to contribute. A great way to improve code quality is to enforce style/code guidelines and let developers install linters in their IDEs that automatically check the written code for spelling mistakes and wrongly styled code.

Be Prepared and Identify Browsers and Devices to Test

While your web app must be all-around highly functioning, it is critical to make sure that it looks and works correctly on the many different browsers and devices, which is called cross-browser testing. After all, the interface of your web app is what users see and interact with. If you present users with a faulty UI, you may be missing out on some new loyal customers.

Before you start cross-browser testing – or any other tests that you must conduct in a browser – you first need to know where to test. For this purpose, you should work with your app’s existing analysis data and determine your users’ preferred browsers and devices. If you don’t have such data, you can find general figures and statistics on the internet.

Based on the results, you then create a matrix with the browsers to be tested, their versions, and various devices such as smartphones and tablets. Also, make sure to make this matrix an integral part of your web app test strategy and update it from time to time, so you don’t miss out on anything new!

Next, evaluate the environments in your matrix and identify the troublemakers, i.e., which are the most demanding to test on and which are more prone to errors? Make sure to test on these first and work your way up to the easier ones. If you do it the other way around, you will likely break previously working code, and then have to test everything again.

Which Test Types Should You Use?

As mentioned earlier, web apps tend to be complex and need to be thoroughly tested before you ship them to your users. Let’s take a quick look at the most essential tests you should include in your web app test strategy to produce a high-quality product your team can release with confidence:

Functionality Testing

Does your web app work as specified? You can make sure of this by performing a variety of tests:

  • Unit tests in your frontend and backend code. For example: Does a specific input produce the expected output?
  • Database integrity tests. For example: Do database operations such as updating or deleting rows cause unwanted side-effects?
  • HTML and CSS checks. For example: Does your code comply with the W3C standard, and are your elements accessible via keyboard?
  • Frontend functionality tests. For example, do forms and other elements that the user can interact with work as intended? A great tool for this kind of testing is Selenium, which you can learn more about in our webinar here.

Usability Testing

Your team has seen your web app every day for some time now, so it’s wise to get a fresh pair of eyes involved and check your web apps’ usability. You can do this by inviting a small group of external testers that match your app’s target audience and watch them use your application. As a result, you can see what is working well and which areas still need improvement.

Interface Testing

Most web apps get their data from the server via an API. Of course, you need to make sure that both endpoints are individually tested well, but also that the right data is being sent and retrieved. Besides, this is the perfect opportunity to review any error messages from your web application to ensure that they are accurate and understandable.

Compatibility Testing

As discussed earlier, you need to make sure that your app works on different browsers, major browser versions, and your users’ favorite devices. In contrast to functional tests, cross-browser testing mainly focuses on checking whether the user is presented with a consistent experience, regardless of the technology used. Manually performing these types of tests can be tedious. However, testers can save a lot of time by creating and running automated tests with Selenium, a toolbox for browser automation.

Performance Testing

Your users and search engines hate slow websites. Therefore, it is extremely important that you continuously try to improve the speed of your web application. However, other factors can impair the performance, which is why we recommend the following:

  • JavaScript and CSS: try to minimize your JS/CSS code and serve it in one file if possible. Also, check that you only load code that your app uses!
  • Assets: Always remember to keep your pictures, videos, etc. as small as possible – compress, compress, compress!
  • Backend code and database queries: Optimize your API code and database queries to keep waiting times for requests as short as possible.
  • Stress tests, load tests, and capacity tests: To improve and scale your app in the future, you need to know its metrics: What is the maximum number of users who can use your app at the same time? What does it take to make the system fail? How much data can the server process at the same time?

Be sure to check out LoadNinja to get accurate load tests in just minutes, using real browsers in the cloud.

Security Testing

Not only finance and e-commerce web apps have to be tested for security gaps! Take extra time and let testers look for loopholes and other vulnerabilities. Pay special attention to:

  • SQL Injection
  • Cross-Site Scripting (XSS)
  • Broken Authentication
  • Cross-Site Request Forgery (CSRF)
  • Components with well-known vulnerabilities
  • Encryption of sensitive data
  • Cookie and Session handling

Conclusion

As you’ve seen, there are many things to consider to ensure your web app is thoroughly tested. We recommend that you create a web app test strategy that helps you keep track of your tasks and makes testing more straightforward for the entire team.

Since testing can be quite time-consuming, you should also look for tools that can help you be more productive. Give our cross-browser test services a shot and see how we can help you deliver high-quality apps to your users more frequently.

Filed Under: Cross Browser Testing Tagged With: cross browser testing, Selenium, testing, testing frameworks, testing skills, testing strategy

Real Device and Browser Testing Strategy for 2020

December 19, 2019 By Sarah Mischinger Leave a Comment

Check out the latest blog from the CrossBrowserTesting and Bitbar team as we help you get off on the right foot for 2020!

With the new year coming in big strides, it’s time to start thinking about your real device and browser testing strategy for 2020. As you can imagine, testing without a proper plan often causes bottlenecks that hinder your apps’ timely release. Therefore, by defining a strategy, your teams can be more productive and publish highly functional apps regularly.

Even if you already have a plan on hand – next year could be the right opportunity to reevaluate the tools and methods you currently utilize and search for better fitting alternatives. Our goal for this article is to help you put your device and browser testing strategy in the best position for 2020.

Testing On the Right Devices and Browsers

No matter if you’re developing a web app or a native mobile app – you need to test on various real devices, platforms, etc. to make sure your product works perfectly for as many customers as possible. As discussed here, you shouldn’t rely on emulators to get reliable test results.

However, we can find a sheer unending number of possible test environments out there – especially on Android, as they are highly fragmented. That being said, you also can’t blindly pick devices and browsers for testing but need a proper plan. Ultimately, this plan should guide your testers and developers through testing so they can focus on the task at hand.

What does this mean for your testing strategy for 2020?

Depending on where you’re currently at, there are two different key actions you need to take:

  1. If you don’t have a list of devices and browsers to test yet, it’s time to establish one and make it an integral part of your device and browser testing strategy for 2020.
  2. If you already have a list of real devices and browsers that you need to test your app, you’ll need to revise this list to meet the changing mobile device and browser markets.

Use your product’s usage data to determine which devices and browsers your customers prefer. You can also find information in the quarterly report of the most popular mobile devices from DeviceAtlas. Also, look for brow distribution data for your target markets online.

After collecting and analyzing the data, you should be able to create a prioritized list of the must-test devices and browsers with confidence. Also, make sure to take action when older devices and browser versions disappear, and new ones appear and update your list.

Pick a Fitting Framework for UI Testing

As the new year approaches us, it might also be the perfect opportunity to switch to a different UI testing framework – or finally start using one.

Depending on the tech stack, team size, and available roles in your team, some frameworks may fit better than others.

What does this mean for your testing strategy for 2020?

Choosing and working with the right test framework enables your team to get the most out of their testing time, and release functional, high-quality applications. It doesn’t matter whether you’re building a web or mobile app – only the tools you can leverage are different.

Before choosing a framework, you need to make sure to analyze and understand your product’s and team’s needs. According to Capgemini’s World Quality Report 2019-20, 30%¹ of all respondents felt the lack of skills in all areas of testing for QA and test professionals. Hence, you need to make sure you have skilled experts on your team or have the resources to hire and retain them.

UI Test Framework for Web Apps

The framework that worked its way to the top of the most popular testing tools for web apps is Selenium. Although your developers and testers may need a while to get comfortable with Selenium testing and write efficient tests with it, you will save a lot of time and headaches in the future.

Basically, you can use Selenium to automate interactions with web browsers on desktop and mobile devices using different programming languages. Kick-start your automation journey by learning from our Selenium Toolkit here.

UI Test Frameworks for Mobile Apps

For mobile testing, we can find three popular frameworks that all have their pros and cons.

  • Appium – works similar to Selenium and supports both Android and iOS. You only need one codebase, but tests tend to be slower and flakier than tests run with the other frameworks.
  • Espresso – only supports Android and is part of the Android SDK. Thus, tests written with Espresso perform faster than with Appium and are less flaky.
  • XCUITest – only supports iOS testing and is part of the XCode integrated XCTest framework. As a result, tests perform well and deliver reliable results.

Tip: Read our comparison articles on Appium vs. Espresso and Appium vs. XCUITest to help you make a decision.

Make Use of Automation and Parallel Testing

Modern businesses aim to deliver apps in the shortest time possible – this can only be achieved if an appropriate automation strategy is set up.

However, most likely, not everything can be automated, and your team needs to decide which parts to test manually and which to test automatically.

In fact, according to Capgemini’s survey, 50%² of respondents named the “Inability to apply test automation appropriate levels” as one of the challenges that they are currently facing when integrating testing practices into agile developments. Surprisingly, this number hasn’t changed since the last survey in 2018. Therefore, the effective integration of test automation in 2020 will remain an essential part of the whole real device and browser testing strategy for companies.

What does that mean for your testing strategy for 2020?

Especially for testing the user experience of mobile or web apps, manual testing can be of great help. For everything else, try to use automation. However, this shouldn’t cause new bottlenecks, and you need to determine what you need to test how. As a rule of thumb, anything that needs to be checked regularly, or from which you can expect certain results, can be safely automated.

Naturally, this is the same whether you’re testing mobile or web apps. Though, again, the tools which can help you in this endeavor differ.

For example, you could use a tool that automates your test scripts and takes screenshots of your web app on different screen sizes. Mainly for testing mobile apps, it makes sense to select an environment that lets you run tests on multiple devices at the same time (parallel testing). This way, you not only save time by automating tests but also running them more efficiently. You can get the ultimate results out of this by testing on an unlimited number of devices.

Another key driver for businesses in 2020 is AI-powered testing. 16%³ of executives rate the use of AI in test execution activities as their top priority concerning AI plans. More and more businesses will rely on AI for testing in the coming years. Companies that adapt to these new technologies at an early stage have an advantage over companies that ignore them.

Decide Where to Test – On-Premise or in the Cloud

Do you have a device and browser test lab in-house, or do you leverage online-based test services? We can’t possibly favor one option over the other, as the right environment depends on your requirements.

With cloud-based services, your team can run tests anywhere, anytime, and you don’t have to buy and maintain devices yourself. This way, you can save a lot of money and the time of your employees.

Yet, many SaaS platforms don’t meet the modern enterprise security requirements, so some companies can’t use them. Besides, SaaS usually provides out-of-the-box features, so you can not customize the setup to suit your needs.

What does this mean for your testing strategy for 2020?

Considering what we’ve discussed so far, the optimal environment should:

  • be flexible and allow customization
  • support all known test frameworks
  • allow you to run tests in environments provided by Docker images
  • enable you to test on real devices and browsers in parallel
  • be scalable and adaptable to fit your future needs
  • let you use AI-powered testing tools
  • meet the security requirements of your business

Before you can choose the appropriate environment, you need to analyze your requirements – also take your potential future needs into account! You must remain flexible and scalable to survive in the ever-changing technical landscape.

For browser testing, you can utilize our over 2000 real browsers and mobile devices to perform manual, visual, and automated Selenium tests in the cloud, using real devices and browsers.

For mobile testing, you could utilize our friends at Bitbar for the most flexible real device cloud. Execute your tests automatically on as many devices as needed and leverage their real device concurrency functionality. If you need your data to stay on-premises, they’ll help you build a modern local mobile device lab with their enterprise solution.

Filed Under: Development Tagged With: automated testing, browser testing, Selenium, testing strategy

6 Key Factors That Improve Cross Browser Testing

October 15, 2019 By Sarah Mischinger Leave a Comment

Our friends over at Bitbar recently wrote a fantastic blog about 6 key factors that can improve your cross browser testing. Take a look below!

If you start thinking about testing after the completion of your web application, you’re already too late. The decisions you make before and during development impact and shape testing more than one might think. And not involving testing from the start may lead to some severe problems that can prevent a timely release. In particular, cross browser tests can be a bottleneck. That’s why we’ve put together a list of 6 essential factors that can help you improve cross browser testing and plan ahead!

1. New Isn’t Necessarily Better

Web technology advances swiftly, and innovative features are being introduced with each new browser version. We know the urge to use fancy new tech in a project can be massive. But you have to keep in mind that new doesn’t automatically mean better! Some of these functionalities are still in beta, experimental, or not yet supported in all major browsers. As a result, you deliberately introduce cross browser variations into your product and face a more difficult time testing.

Our advice:
If using a particular new technology that brings no real value to your users, think twice about integrating it into your app. Avoid unnecessary cross browser variations in your web application.

2. Stop Reinventing the Wheel

When your team plans the technology stack for your next web-based project, see if you can use existing frameworks, libraries, and so on. Use React, Vue.js, or Angular, and don’t depend on Vanilla JS in your app too much. You not only save a considerable amount of time in development but also during testing! The same is true for CSS frameworks like Bootstrap or Foundation. They are already tested on a wide range of browsers, and devices, saving you time testing your app.

Our advice:
Go with established frameworks and libraries to write your CSS and JavaScript code. They are usually thoroughly tested, and you can safely use them in your project. That way, you reduce the code you need to write and validate. Additionally, you can reuse already tested components, further reducing testing time.

3. Only Test Clean Code

Have your developers follow coding and style guidelines and let them deliver clean, consistent code. As a result, your code is less error-prone, and bugs can be found more efficiently. Additionally, anyone in the team can work on the source code regardless of who wrote it. If you don’t have guidelines or don’t have the resources to create them, use existing ones! Why not use style guidelines from other companies such as the Airbnb React/JSX Style Guide?

Our advice:
Using and enforcing coding and style guidelines makes developing and testing your app more straightforward. Ensure your team delivers clean code by having your developers install code linters in their IDEs. These linters should automatically check the written code against your guidelines and find minor errors, like spelling mistakes or missing brackets.
As a result, cleaner code – without the usual minor errors – arrives at your testers without investing too much extra time!

4. Make Use of Automation

Test automation can help you shorten testing time significantly so you can release updates and bug-fixes more often. Although automating cross browser testing can be a bit tricky in some places, we can’t not take notice of the benefits. Automating tests also mean that your devs and testers can eliminate repetitive and tedious tasks from their to do list. This gives them more time to create new features and perform necessary manual tests.

Our advice:
First, see what you can automate and which parts or browsers you should manually test. Here are some ideas to get you started:

  • Follow TDD for your JavaScript code. Write and automate unit tests by using a framework like Mocha.
  • Use browser automation and inspection tools like Selenium WebDriver to automate your end-to-end tests.
  • Take a look at the different tools in the Selenium suite that help you test your apps. Learn more about the suite in our blog article series about Selenium.
  • Make sure your app looks immaculate on different screen resolutions by automating image regression testing. Cloud-based services like CrossbrowserTesting provide the functionality you need.

5. Test on a Large Scale

Automating your tests is nearly worthless if you don’t run them on real browsers and devices, preferably at the same time. Sure, test automation saves time, but if you have to run these tests on one device and one browser at a time, the process takes forever. Also, keep in mind that your users are real people who use real computers, smartphones, tablets, and browsers. Can you imagine anyone using emulators to browse the internet? Consequently, make sure to run your automated tests on multiple real-world devices and browsers in parallel. This lets you test more efficiently so you can spend more time on other things.

Our advice:
Choose a cloud-based testing service, that lets you run tests on multiple real-world devices and browsers simultaneously. As a result, you can run more tests in less time while ensuring your app works as intended in a variety of real-world scenarios. In the end, you can release new features to your customers with more confidence.

6. Bring Continuous Integration into Play

If you’ve integrated all previous steps into your workflow to improve cross browser testing, then Continuous Integration (CI) is the icing on the cake. If you are unfamiliar with CI, be sure to read some information on this topic, as you will undoubtedly benefit greatly.

In a nutshell, CI works as follows: Whenever a developer pushes code into the project’s central repository, several jobs start running. Usually, these jobs perform a variety of tests. In the end, CI helps you determine whether the committed code is releasable – only commits that pass the validation get accepted.

Our advice:
Using CI does not require your developers to start the tests manually, so no test can be forgotten. Additionally, only perfectly valid code is accepted for release. Not only does CI automate repetitive processes, but it also makes sure your app performs at its best. You can find many different CI tools that meet your specific needs. For example, use Jenkins if you want to run jobs on a dedicated server. Or use TravisCI if you wish to use a cloud service instead. However, many, but not all, cross browser tests, can be integrated into a CI job. Consequently, you need to pick the service that’s most compatible with your other tools! Check out the integrations CrossBrowserTesting supports!

Wrapping up – Improve Cross Browser Testing by Using the Right Tools

Test early and often, use tools that fit your needs, and make sure you run automated tests on real devices as often as possible! Use different tools and services that match your situations and needs. Don’t hesitate to use a cloud-based service to make your test processes more efficient and resource-saving.

Filed Under: Cross Browser Testing Tagged With: cross browser testing, test automation, test coverage

Try CrossBrowserTesting

Everything you need for testing on the web. Browsers & Devices included.


  • Grid In The Cloud
  • Simple CI Integrations
  • Native Debugging Tools
  • Real iOS and Android
  • 2050+ Browser/OS Combinations
  • Intuitive REST API

Start Testing Today

Want Testing Tips?

Want the latest tips & strategies from industry experts right to your inbox? Sign up below.
 

Join Over 600,000 Testers & Developers And Start Testing Today

Learn more Free Trial

Features

  • Live Testing
  • Selenium Automation
  • Automated Screenshots
  • Screenshot Comparison
  • Local Testing
  • Real Devices

Solutions

  • Automated Testing
  • Visual Testing
  • Manual Testing
  • Enterprise
  • Internet Explorer

Resources

  • Browsers & Devices
  • Blog
  • Webinars
  • Integrations
  • ROI Calculator

Company

  • About Us
  • Careers
  • Plans
  • Terms of use
  • Security

Support

  • Help Center
  • API Docs
  • Schedule A Demo
  • Contact Us
  • Write For Us