Testing and Quality Assurance: Automated, functional, & non-functional