My project is a CRUD web application written in PHP and React, with user panel and admin panel. We were just assigned a manual tester and I (as the project's Lead Developer, and a person responsible to make our software development process work) never worked with a tester, and I'm wondering how to cooperate with her most effectively.
I mean, let's say I give her a frozen copy of our system and initially she tests all of it thoroughly. We apply no new changes to her copy until she finishes (cause then her tests would no longer be up-to-date).
Then we fix some bugs she discovers, add some new features... and I'm wondering if she should test only the areas of the system where new features/bug fixes where applied or should she test all of the system all over again? Because quite often when you introduce a new feature, accidentally you break something on the very opposite side of the system...
And even if we say this is rare and we decide: Mrs Manual Tester, we did fix bug number 1 and 2, and we introduced new features A and B... We need to give her some copy of the site where this changes are applied, and which will stay closed to new changes until she finishes her test (because introducing new changes in-between of her testing process will render her tests out-of-date and confuse her). I wonder how actual teams do it... Should the the tester be skilled enough to use version control system on a local server and just check out a particular commit and stay there until the end of the test? Or should she perform it on a staging copy of the website, managed by someone else? Because it resembles the live copy the most, as it's running on the same remote server...
I wanted to do some reading on this on the internet but it seems the articles I find are too theoretical or looking at it from a different perspective.