I don't think we need a rigid sequence of steps. I see nothing wrong
with skipping directly to 3, skipping 1 and 2. I see nothing wrong
with some people doing 3 while others are doing 4 concurrent. These
sequence is not useful.
What would be useful would be:
1. Selection of a common tool,
2. Determination of the requirements for a test case, and
3. A repository of retaining share-able test cases.
4. Some definition of common interfaces
I think this would also require defining some common internal APIs to
capture console output (which could come a variety of sources), to load
code and reset hardware, and... other things as needed.