On my phone (in a pub) so apologies if I’m clunky in my reply.
A key thing that I would always highlight is that “testing” isn’t just limited to verification of implementation. We should be testing ideas, considering and raising testing earlier. Shift left, to me, is about finding issues as early as possible.
Don’t wait until a feature is done to find out it doesn’t work, test each story as they are implemented.
Don’t wait until a user story is implemented before you explore edge cases. Consider them before implementing.
Don’t wait until a story is in progress to find out it is a flawed idea. Test the requirements through questions or data analysis.
In terms for who to involve… Who is involved in the delivery of your software? Involved them.
Personally I think refinement and planning of work is best when you have product, implementation and quality focused minds in the same room.