ATS can indeed be used for functional and some non-functional testing. ATS is designed to be used for Regression tests, but:
Examples functional testing: regression testing, new code testing, data testing
Examples non-funtional tests: availability testing, security testing (negative testing) and performance testing.
Since ATS is based on Selenium, ATS is able to do all kinds of testing, as long as it is GUI-based. This means that things like integration and/or unit testing are not supported now, except with a workaround where you create (a) page(s) with buttons triggering microflows representing these tests.
try the Unit Testing Module