I have had experience of completely working Agile. In Agile, we have requirements frozen. From requirements, we create backlog items/stories. That backlog item will further be divided into tasks. So, while doing task out of backlog items, we will have tasks for testing as well. Like, analyzing the story, writing test cases, executing test cases. Also, we will make sure that we have separate QA environment set up.
So, initial stage, the QA team will pick up as many backlog items as possible and write test cases based on the story. Once the product is ready for testing, we will start executing test cases. Most of the time, in the two-week sprint, during IInd or IIIrd sprint, the QA team will get the first release of an app. The QA team will raise the bugs and work with the business team to figure out priorities.
During 6th or 7th sprint, we will see application becoming stable, so we start automating test cases for the stable part.
Usually, the application will move from Dev to QA to Stg or PROD.