In agile delivery it is recommended to execute all phases of testing in a single sprint .It includes unit testing, functional testing, user acceptance testing and security/ performance testing.
Unit tests are written by the developer. These tests should be executed as part of the build ideally developers should have 75% unit coverage of their code.
Functional testing is done by the testers. Mind mapping and brainstorming techniques can be used to design functional tests.
Users acceptance testing is done mainly by the business people or subject matter experts. Performance and security testing can be done by company’s own security/performance teams or they can hire some external security or penetration testing firms.
The important thing is to get all the work done in 2 weeks for each user story.
The quadrant is a bit tricky to implement though. It suggests that in developer should write the unit tests to have at least 75% code coverage. Automation start with unit tests .These unit tests should be executed as part of your developer code build . Once the code is built you should be able to deploy artifact or release from that build to any environment.
Against an environment you can run web services integration tests and UI Automated tests. This situation is a bit tricky where PMO starts thinking its future a tester responsibility to cover whole code through UI automated tests. UI tests can be really brittle if your developers are not adding static IDs or object identifier against each element. So if they are not doing it , highlight this issue in your retrospectives to the team and get them time to write their tests,
In one the projects we did , we started breaking tasks into categories as follows
Test designer : In this task we were creating test cases by analysing the configuration mockups Test execution: to complete the execution based on the test design. Test Automation: To Automate the stories completed in the sprint, Not all test cases ,but at least something you could use as regression Exploratory testing by SME – To get stories evaluated by the subject matter experts of the systems . This was quite valuable as SME were finding issues those were not covered in our tests. Demo: After the above activities were completed in the story wgets closed by giving a quick demo to the product owner. All these tasks make sense but it gets tricky when teams bring in too many stories for 2 weeks and you have to complete all those tasks in 2 weeks
It is close to impossible to educate everyone on the testing quadrants. The time you start enforcing these quadrants on the team , you can expect some noise . The noise around impact on the delivery if developer start putting more effort on unit tests.
I have been at both positions. I have been a business owner where a team developed new getskills website in 6 weeks using agile methodology. I have also been at a position where we were part of the team that delivered enterprise level project. I can see the prospective of both business owners and team member. I think the most important thing is the transparency and honesty .Good thing about agile is its flat open structure. Only PMs are not responsible for its delivery, but the whole teams is. You can highlight the risks you can easily foresee. You can discuss them with your team, share your experiences and then inform the business owner on time so that they can get you enough support to fix the issues. It will also avoid any surprises for the stakeholders