Unit testing is a methodology for testing small parts of an application independently of whatever application uses them. It is time consuming and tedious to write unit tests, and it is especially difficult to write unit tests that model the pattern of usage of the application they will be used in. Aspect-Oriented Programming (AOP) addresses the problem of separation of concerns in programs which is well suited to unit test problems. On the other hand, unit tests should be made from different concerns in the application instead of just from functional assertions of correctness or error. In this paper, we firstly present a new concept, application-specific Aspects, which mean top-level aspects picked up from generic lowlevel aspects in AOP for specific use. It can be viewed as the separation of concerns on applications of generic low-level aspects. Second, this paper describes an Aspect-Oriented Test Description Language (AOTDL) and techniques to build top-level aspects for testing on g...