Hacker News new | ask | show | jobs
by Gusarich 335 days ago
That's too generic a question. There are many different techniques, frameworks, and approaches, so there's no single universal answer. But assuming you're asking about testing general-purpose software without specific requirements, I'd recommend the following approach:

1. Basic tests that ensure your software runs without crashing or breaking.

2. Specific test cases for various inputs, settings, and invalid scenarios.

3. Edge-case tests covering extreme inputs or unusual combinations.

4. If your software's behavior is predictable or you can easily verify correctness, consider randomized testing to validate thousands of random inputs automatically.