🌐 Web, Mobile Testing & Process
Web, Mobile Testing & Process: Think of web architecture like a city's municipal system: a citizen (user) comes to the municipal building (Frontend/UI); the counter clerk (API) t
Think of web architecture like a city's municipal system: a citizen (user) comes to the municipal building (Frontend/UI); the counter clerk (API) takes the citizen's request and routes it to the right department; the back-office staff (Backend) process the request; the archive room (Database) holds all the records. 'When testing, isn't clicking the UI enough?' Because even if the counter clerk says 'your application has been received,' the back office may not have started the process — even if a payment form shows 'completed,' the backend may not have recorded the transaction. You can only catch this silent failure by asserting at the API level or querying the database. In Java you can map this architecture to a Spring Boot project: Controller → Service → Repository → Entity layers; writing unit tests for each layer matters, but only `@SpringBootTest` with a full-stack integration test validates the real flow. The critical QA difference: a UI test passes when it sees the 'confirmation page'; an API test checks that `/payment` returned 200; an integration test verifies that a record was created in the `orders` table. A QA who does all three catches boundary-layer bugs like 'the payment page loads but no money is charged' — a QA who only does UI testing learns about those bugs from customer complaints.
What Layers Make Up a Web Application?
What is UI / Frontend?
What is the Backend?
What is Web Testing?
Web testing verifies that a web application works correctly functionally (links, forms, buttons), renders correctly across browsers (Chrome, Firefox, Safari) and screen sizes (responsive), loads fast, and is secure. Tools like Selenium and Playwright automate the clicks and inputs a real user would perform to run these checks.
What is Mobile App Testing & How is it Done?
Mobile testing verifies that an app works correctly across different operating systems (Android, iOS) and devices with varying screen sizes and hardware. There are three app types: Native (written in Kotlin/Swift, downloaded from a store), Hybrid (compiled from one codebase to both platforms, e.g. React Native/Flutter), and Mobile Web (a responsive site opened in a browser). Tools like Appium, working very similarly to Selenium, automate real user gestures like tapping and swiping on real devices or emulators.
What is DevOps and What is its Purpose?
DevOps (Development + Operations) is a culture and set of practices that unifies the teams building software (Dev) and running it in production (Ops). Its goal is to automate and accelerate the path from code to production, catch issues early, and enable frequent, safe releases. CI/CD (Continuous Integration/Continuous Deployment) pipelines built with tools like Jenkins automatically run build + test + deploy steps on every code push. Docker and Kubernetes guarantee that these applications run identically across every environment (a developer's laptop, a test server, production).
The DevOps Loop (Simplified)
This loop is automated with CI/CD tools like Jenkins/GitHub Actions; without automated tests at each step, defects may go unnoticed until production.
What is Agile? What is Scrum?
Agile is a development philosophy that breaks a large project into small, continuously reviewed pieces (sprints) instead of delivering everything at once. Scrum is the most common framework for applying Agile: work is typically split into 2-week sprints, each managed with sprint planning, daily stand-ups, a sprint review/demo, and a retrospective. In the older Waterfall model, all requirements are fixed upfront and testing is pushed to the very end — meaning bugs are caught far too late.