1. A method for developing one or more test cases for testing a software application, the method comprising: identifying one or more units of functionalities of the software application; structuring use cases of the software application, using the identified units of functionalities; generating a first set of use case activity diagrams from the structured use cases; and generating test cases from the generated use case activity diagrams.