The majority of functional testing behaviour at a class level for any application / system is covered by unit testing. This forms the bedrock for all other forms of testing and is the gateway between development in isolation and development integration, where component level behaviour is covered by integration tests.
Some of the most popular frameworks belong to the xUNIT family of test tools. Although this is usually a software engineer's domain, it is worth testers who automate tests at the higher, more expensive stages of the Software Development Life cycle (S.D.L.C.) to understand the basics. Java has some very mature and well designed frameworks to learn from:
TestNG