dynamic testing tools in software engineering