Testing doesn't stop
at the desktop app.
Everything you learned about testing — functionality, usability, security, performance — still applies. But the web adds browsers, servers, and caches to break in new ways, and mobile adds screens, batteries, and networks that come and go. This is the field manual for testing things that live in a browser tab or in someone's pocket.
Website vs. Web Application
Get this one right first — every testing decision downstream depends on which of the two you're actually looking at.
A collection of related, static web pages
A collection of related web pages, including multimedia content, typically identified with a common domain name, and published on at least one web server. Notable example: wikipedia.org. So — a website is informational.
A client–server program with logic behind it
A client–server computer program which the client (including the user interface and client-side logic) runs in a web browser. Common web applications include webmail, online retail sales, and online auction. So — a web application is interactive.
Checked end-to-end, before it ever goes live
Web testing is a software testing practice to test websites or web applications for potential bugs. A web-based system needs to be checked completely from end-to-end before it goes live for end users. It is performed before making the web application alive — by performing web testing, we make sure the site or app is functioning properly and can be accepted by real-time users.
Why is web testing challenging?
interoperabilityWeb-based systems and applications interoperate with many different:
One wheel, six lenses to test a site through
Some or all of the following testing types may be performed depending on the web testing requirements.
1. Functionality
Links, forms, cookies, HTML/CSS, database — does it do what the spec says?
2. Usability
Navigation and content — is it easy to understand and learn?
3. Interface
Do the web, application, and database server layers talk to each other correctly?
4. Compatibility
Browsers, operating systems, hardware — does it perform the same everywhere?
5. Performance
Response times, load, stress, and crash recovery under traffic.
6. Security
Unauthorized access, sessions, SSL/HTTPS — is sensitive data protected?
The biggest of the six, broken into five sub-checks
Testing the features and operational behavior of a web application to ensure they correspond to its specifications.
1.1 Check all the links
links- Test the external links from all the pages to a specific domain under test.
- Test all internal links between web application pages.
- Test links used to send email to admin or other users from web pages.
- Test to check if there are any orphan pages — pages with no incoming links.
- Finally, check for broken links in all the above-mentioned link types.
1.2 Test forms
formsForms are part of any website used for receiving information from users and to interact with them. Check:
- All the validations on each field.
- Default values of the fields.
- Wrong inputs to the fields in the forms.
1.3 Test cookies
cookiesCookies are small files stored on a user's computer, holding data specific to a particular client and website, accessed by the web server or the client.
- Test by enabling or disabling cookies in a browser.
- Test if cookies are encrypted before being written to the user's machine.
- Test if cookies are deleted when they are not needed anymore.
1.4 Test HTML & CSS
markup- Checking for syntax errors.
- Check if the site is crawlable by different search engines.
- Readable color scheme and fonts.
- Standards compliance (e.g. W3C and ISO).
1.5 Database testing
database- Data validity: test if any errors are shown while executing queries.
- Data integrity: check for errors while editing, deleting, modifying data.
- Check response time of queries; confirm queries execute correctly.
- Check retrieved data is shown accurately in the web application.
Usability, Interface, Compatibility, Security, Performance
2. Usability Testing
human ↔ systemThe process by which the human-computer interaction characteristics of a system are measured, and weaknesses are identified for correction. Basically, system navigation and content are checked in usability testing.
How a user surfs the pages — buttons, boxes, links. Menus/buttons/links to other pages must be easily visible and consistent across all pages. The app should be easy to use and navigate.
Content should be logical and easy to understand — check for spelling errors. Dark colors annoy users and should be avoided in the site theme. All anchor text links should work; images should be placed properly with proper sizes.
3. Interface Testing
three layersThe main layers in a web application are the Web server, the Application server, and the Database server. Interface testing checks that all interactions between these layers execute properly, and that interactions between different pages in the application are also checked.
4. Compatibility Testing
cross-environmentUsed to determine if your software is compatible with other elements of a system with which it should operate — e.g. Browsers, Operating Systems, or hardware. The purpose is to evaluate how well the software performs under different browsers, operating systems, hardware, or software.
5. Security Testing
sensitive dataVital for web applications that store sensitive customer information like credit cards, IDs, and passwords.
- Unauthorized access to secure pages should not be permitted.
- Restricted files should not be downloadable without appropriate access.
- Sessions are automatically killed after prolonged inactivity.
- SSL certificates redirect the site to encrypted SSL pages.
6. Performance Testing
under loadEnsures your site works under all loads.
- Response times at different connection speeds.
- Load test — behavior under normal and peak loads.
- Stress test — find the break point beyond normal load at peak time.
- Test how the site recovers after a crash caused by peak load.
Let the machine do the repetitive clicking
Automation testing helps relieve the bulk of tedious and repetitive human tasks. With the right test automation framework or tool, QAs can automate repetitive browser actions like interacting with web elements or filling out long HTML forms — saving time and effort, getting faster and accurate results, increasing software efficiency, and freeing the team to focus on innovation.
Faster feedback
Improved test efficiency
Reduced expenses
Reusability of test cases
Faster time to market
Selenium
web onlySelenium is an open-source testing tool for web applications. Any web application can be tested on web browsers with this automation testing tool.
Three ways to build for a phone
A mobile application is a software application developed specifically for use on small, wireless, handheld mobile devices such as smart-phones and tablets — available through distribution platforms like the App Store (iOS) or Google Play Store, on the two main platforms: iOS and Android.
Native Apps
Installed through mobile platform stores (Google Play / App Store). Platform specific. Offers the fastest, most reliable, most responsive experience. Example: App Store, Settings.
Mobile Web Apps
Server-side apps accessed on mobile via browsers (Chrome, Firefox) over a mobile or Wi-Fi network. Simpler and quicker to develop than native — but slower and less intuitive.
Hybrid Apps
A combination of native + web app — installed like a native app, but web app on the inside. Run on-device or offline, written with HTML5 and CSS. Example: Netflix.
The hardware vs. the software running on it
Testing the device — the hardware
Testing the mobile device itself: internal processors, internal hardware, screen sizes, resolution, space/memory, camera, radio, Bluetooth, WIFI, etc.
Testing the apps — the software
Testing the applications (software) that work on mobile devices and their functionality — a process by which application software developed for handheld mobile devices is tested for its functionality, usability and consistency. Can be automated or manual.
- Variety of mobile devices in the market (HTC, iPhone, Samsung, etc.).
- Diverse mobile operating platforms (iOS, Android).
- Different network service providers.
- Different input methods.
- Hardware compatibility.
Mobile environment test design considerations
4 areas| Area | Comment |
|---|---|
| Connectivity | Device provisioning, network speed, network latency, network availability in remote areas, service reliability. |
| Diversity of Devices | Numerous web browsers to test, multiple versions of runtimes for Java or other languages. |
| Device Constraints | Limited memory or processor, small screen size, multiple operating systems, multitasking capabilities, data cache sizes. |
| Input Devices | Touch screens, stylus, mouse, buttons, rollers. |
| Installation & Maintenance | Installing and uninstalling, patching, upgrading. |
Six on the wheel, plus recoverability and the rest
Functional Testing
interactions + transactionsConsists of testing user interactions and testing the transactions. Relevant factors: type of application (banking, gaming, social, business), target audience type (consumer, enterprise, education), distribution channel (Apple App Store, Google Play, direct distribution).
Performance Testing
loadEnsures the app performs acceptably under certain performance requirements, such as access by a huge number of users or the removal of a key infrastructure part like a database server.
- Performs correctly under peak, average, minimum user loads.
- Client-server config gives optimum performance.
- Identify application/infrastructure bottlenecks.
- Battery life supports the app under projected load.
- Performance holds when switching WIFI ↔ 3G/4G/5G.
- Battery consumption, memory leaks, GPS/camera use stay within guidelines.
Security Testing
data & networkEnsures the application's data and networking security requirements are met as per guidelines.
- Withstands brute force attacks (automated trial-and-error to guess a username/password/credit-card number).
- No sensitive content/functionality without proper authentication.
- Strong password protection; no session expiration gaps.
- Prevents SQL injection; validates certificates (certificate pinning).
- Protects against denial-of-service, buffer overflows, malicious client-side and runtime injections.
- Regular audits for data protection analysis.
Usability Testing
quick & easyPerformed to have a quick and easy-to-use app rather than a slow, feature- heavy but difficult one. Goal: easy-to-use, intuitive, similar to widely-used industry-accepted interfaces.
- Buttons sized for big fingers, placed consistently, natural/consistent icons.
- Same-function buttons share the same color.
- Tap zoom-in/zoom-out enabled; keyboard input minimized appropriately.
- Undo/back available within an acceptable duration.
- Contextual menus not overloaded; text short, clear, readable font size.
- App re-opens in the same state; strings localize when translation is available.
Compatibility Testing
size, OS, hardwareEnsures the app is tested across all devices — since mobile devices differ in size, resolution, screen, version, and hardware — so it works as desired everywhere.
- UI matches the device's screen size — no partially invisible or inaccessible text/controls.
- Text is readable for all users.
- Call/alarm functionality works while the app runs — app minimizes/suspends during a call, resumes after.
Recoverability Testing
crash & interrupt- Crash recovery and transaction interruptions.
- Validate effective app recovery after unexpected interruption/crash.
- Verify how the app handles a transaction during a power failure (battery dies, sudden manual shutdown).
- When a connection is suspended, the system re-establishes it to recover data directly affected by that suspension.
Other testing scenarios
install / uninstall / misc- Installation testing — app installs in a reasonable amount of time with required criteria.
- Uninstallation testing — app uninstalls in a reasonable amount of time.
- Network test cases — network performs under required load and supports all necessary apps during testing.
- Continued keypad entry survives interrupts and network issues.
- Charger effect while an app runs in the background.
- Low battery + high performance demand; battery removed mid-operation.
- Battery consumption by the app; check for application side effects.
Both are widespread — the choice is contextual
Both manual and automated testing can provide good results. The choice should be based on the company's preferences and capabilities. Manual testing will not be entirely replaced by test automation — there are certain situations when manual control is the better option.
| Manual Testing | Automated Testing | |
|---|---|---|
| Advantages | Cost-effective in a short-term period · more flexible · better simulation of user actions | Cost-effective in the long-term · running process is faster · reused easily · test results easy to share |
| Disadvantages | Difficult to reuse · running process is slow · some cases can't be executed manually | Automated tools may have limitations · less efficient at defining user-friendliness or positive customer experience |
Universal mobile testing tools
Android + iOS- Eggplant — industry-leading test automation and monitoring platform.
- Ranorex — automated tool for mobile, web, and desktop solutions.
- Appium — open-source test automation framework for native, hybrid, and web solutions.
- Kobiton — AI-powered tool for manual and automated testing.
- Selendroid — test automation framework for native or hybrid Android apps.
- iOS Driver — open-source tool for iOS native, hybrid, or mobile web solutions.
Every testing type, in one scan
| Domain | Testing Type | What it checks |
|---|---|---|
| Web | Functionality | Links, forms, cookies, HTML/CSS, database |
| Usability | Navigation + content, easy to understand/learn | |
| Interface | Web server ↔ app server ↔ database server interactions | |
| Compatibility | Browsers, OS, hardware | |
| Performance | Response time, load, stress, crash recovery | |
| Security | Unauthorized access, sessions, SSL/HTTPS | |
| Mobile App | Functional | User interactions, transactions, regression |
| Performance | Load, battery, network switching, bottlenecks | |
| Security | Brute force, SQL injection, cert pinning, DoS | |
| Usability | Button size/placement, undo, readable text | |
| Compatibility | Screen size, calls/alarms interrupting the app | |
| Recoverability | Crash, power loss, connection suspension | |
| Install/Uninstall/Network | Reasonable time, required criteria, network load |
What students actually get wrong on this material
These are the mix-ups that show up on exams — read each pair twice.
Website vs. Web Application
Mobile Testing vs. Mobile Application Testing
Selenium's scope
Native vs. Hybrid vs. Mobile Web apps
Load testing vs. Stress testing
Orphan pages vs. broken links
Interface Testing vs. Compatibility Testing
Recoverability testing as an afterthought
Test yourself — click a question to reveal the answer
Match the scenario to the testing type
Realistic exam-shape questions, built from the deck's own scenario lists — drill these until the mapping is automatic.