Cross-browser testing is the process of testing a web application across multiple browsers to check compatibility and ensure the application works as intended regardless of the browser used. It involves testing both client-side and server-side behavior when accessed through different browsers. Key aspects to test include JavaScript functionality, fonts, images, page layout across resolutions and browsers, and more. Popular tools for cross-browser testing include Browsershots, Browserstack, and Spoon which allow testing through screenshots, emulation, or desktop applications across a wide range of browsers and devices.