Software Testing
Software testing is the practice of executing a system with the intent of finding defects and verifying it behaves as expected — covering everything from a single unit test to a full manual exploratory session. It exists to answer one practical question before users find out the hard way: does this software actually do what it's supposed to do?
Testing spans a huge range of activity: a developer running a unit test in seconds, an SDET writing an automated end-to-end suite, a manual tester exploring a new feature with no script at all, or a security team running a penetration test. All of it falls under "software testing" because all of it shares the same goal — finding out where reality diverges from intent, before a user does.
The field organizes this range along a few axes covered elsewhere in this glossary: test levels (unit, integration, system, acceptance), test types (functional vs. non-functional), and approach (black box vs. white box, manual vs. automated). No single technique covers everything — real testing strategy combines several of these deliberately rather than picking just one.