As applicable, test scenarios and coverage may be based on Testing Agile:

Unit tests
•Why: To ensure code is developed correctly
•Who: developers, architects/technicians
•What: All new code + legacy code refactoring, as well as the Javascript test unit
•When: As soon as the new code is written
•Where: Dev + local CI
•How to: Automated, Junit, TestNG, PHPUnit

API/Service Testing
•Why: to ensure communication between working components
•Who: developers, architects/technicians
•What: New web services, components, drivers, among others.
•When: As soon as the new API is developed and ready
•Where: Dev + local CI
•How to: Automated, SOAP User Interface, REST Client

Acceptance Test
•Why: to ensure customer expectations are being worked on
•Who: developers, SDET/QA manual
•What: Verification of acceptance tests in stories, features, among others.
•When: The function is ready and tested on the unit
•Where: CI/test environment
•How to: Automated System Test

Automated System Test (Cucumber) / Regression Test / UAT
•Why: to ensure everything works when integrated
•Who: SDET / MANUAL QA / Business Analyst / Product Owner
•What: Scenario test, user flows and typical Customer Journey, performance and security tests
•When: Acceptance test completes
•Where: test environment
•How to: Automated Exploratory Testing (web driver)