There are different testing techniques, but you can not automate them all. For example, exploratory testing. Here are some testing techniques that you can automate.
- Unit tests: These are written by software developers and test a unit of code in isolation.
- Integration tests: These test how well different software components work with each other.
- Regression tests: Verify that the new code didn't break any existing functionality.
- Performance tests: Ensure that the software won't crash and perform reasonably under heavy load or stringent conditions.
- UI tests: Ensure that the software uses a consistent user experience and no visual or graphical elements on the screen are broken.