Desiging relational and stub databases, integration testing, UI input validation and error handling