The best way to understand the execution context is just assume a static
apex method behaviour. Static methods don't have any state. Every thing executed within method is state full until the method exits.
Same thing happens in test classes everything executed between test methods block remain only for single transaction. Once the last execution finished everything reset to default. The only difference is test methods don't commit anything physically to database.
But during execution make sure that default behaviour of "run all test" is it executes all test methods in parallel so if there is a shared static method that query or insert record in object or custom setting then you may get exception due to conflicts.