This module looks specifically at the area of testing web projects across different browsers. Here we look identifying your target audience (e.g. what users, browsers and devices do you most need to worry about?), how to go about doing testing, the main issues that you'll face with different types of code and how to fix/mitigate those, what tools are most useful in helping you test and fix problems, and how to use automation to speed up testing.
- Introduction to cross browser testing
- This article starts the module off by providing an overview of the topic of (cross) browser testing, answering questions such as "what is cross browser testing?", "what are the most comon types of problems you'll encounter?", and "what are the main approaches for testing, identifying, and fixing problems?"
- Strategies for carrying out testing
- Next, we drill down into carrying out testing, looking at identifying target audience (e.g. what browsers, devices, and other segments should you make sure are tested), low fi testing strategies (get yourself a range of devices and some virtual machines and do adhoc tests when needed), higher tech strategies (automation, using dedicated testing apps), and testing with user groups.
- Handling common HTML and CSS problems
- With the scene set, we'll now look specifically at the common cross-browser problems you will come across in HTML and CSS code, and what tools can be used to prevent problems from happening, or fix problems that occur. This includes linting code, handing CSS prefixes, using browser dev tools to track down problems, using polyfills to add support into browsers, tackling responsive design problems, and more.
- Handling common accessibility problems
- Next we turn our attention to accessibility, providing information on common problems, how to do simple testing, and how to make use of auditing/automation tools for finding accessibility issues.
- Implementing feature detection
- Feature detection involves working out whether a browser supports a certain block of code, and running different code dependant on whether it does (or doesn't), so that the browser can always provide a working experience rather crashing/erroring in some browsers. This article details how to write your own simple feature detection, how to use a library to speed up implementation, and native features for feature detection such as
- Introduction to automated testing
- Manually running tests on several browsers and devices, several times per day, can get tedious and time consuming. To handle this efficiently, you should become familiar with automation tools. In this article we look at what is available, how to use task runners, and the basics of how to use commercial browser test automation apps such as Sauce Labs and Browser Stack.
- Setting up your own test automation environment
- In this article, we will teach you how to install your own automation environment and run your own tests using the Selenium tool and a testing framework such as Nightwatch. We will also look at how to integrate your local testing environment with commercial apps like the ones discussed in the previous article.
- Using continuous integration tools with browser testing for safe deployment
- We'll round off the module by looking at how we can combine continuous integration tools (used to perform checks on code changes before they are checked in to a code repository) with browser testing tools to enable safer deployment of your code.