Testing is a vital element of the software development life cycle to deliver bug-free and reliable software. However, traditional testing teams build and execute tests towards the end of software development, typically after the development is finished. This approach...