Software testing is the work of finding out whether new software does what it should, before customers use it. Much of it is now automated. An automated test is a small program that uses the app the way a person would, and checks the result. In India, testing is one of the largest jobs in the software industry, and many of the companies that sell testing tools were founded here.
Take, for example, a food-delivery app in Hyderabad that is about to release a new checkout screen. Before the screen reaches production, the live app that customers use, the team has to answer four questions. Does it work? Does it work on every phone and browser? Is it fast enough on a crowded network at dinner time? And does it still work after every later change?
First, the tests are written. A tester describes the checkout in a test automation tool: add a biryani to the cart, apply a coupon, pay ₹349 by UPI, and check that the order is confirmed. Older tools needed a programmer to write this as a script, a short program. Newer tools accept plain English, and some use an AI agent that writes the test by itself.
Second, the APIs are checked. An API is a fixed set of requests that one program can send to another. The checkout screen sends requests to the company's server through APIs: to apply the coupon, to work out the delivery fee and to start the payment. A server is a computer in a data centre that runs software for many users at once. API testing sends each API hundreds of requests, and checks every answer against its OpenAPI description, a document that lists what each request must return.
Third, the screen is tried on real devices. The company cannot buy every phone its customers own. So it rents them from a cross-browser and real device testing service, which keeps thousands of real phones and browsers in a data centre. The 120 checkout tests run on 80 phones at once, and finish in 20 minutes. The same service also measures how fast the screen loads over a slow 4G connection, where the latency, the delay before data starts to arrive, is high.
Fourth, the systems around the screen. Each order creates entries in the company's finance system, which is bought from an outside vendor. ERP and packaged app testing checks that these entries are still correct after the vendor's updates. And when a customer calls about a failed payment, a phone menu or an AI voice agent answers first. Contact centre testing places synthetic calls through the phone menu, and voice agent testing scores the voice agent's conversations.
After release, every later change runs the same tests again, started by the CI/CD pipeline. Testing again to make sure that nothing that used to work has broken is called regression testing.