This paper presents behavior contracts as a new assertion mechanism and a tool that uses such contracts to support the testing of Object-Oriented (OO) systems. A behavior contract models how the scenarios for performing a designated task are expected to be implemented. Based on this contract, our tool can automatically monitor the program execution for checking important properties related to these scenarios. This capability can help testers to determine whether the scenarios have been implemented correctly. Our tool can also collect test coverage information w.r.t. the scenarios modeled by a behavior contract. Such information can be used to direct the testing efforts towards the less-covered scenarios, and to determine whether the implementation of these scenarios has been adequately tested. Therefore, using this tool should improve both the efficiency and effectiveness of testing OO systems.