B2G/QA/Automation/UI/Best Practices: Difference between revisions

Line 90: Line 90:
* Do share ownership of anything that is not a test detail, including (and especially) almost any particular task done in setup and cleanup. Know your level of [[#Abstraction|abstraction]].
* Do share ownership of anything that is not a test detail, including (and especially) almost any particular task done in setup and cleanup. Know your level of [[#Abstraction|abstraction]].
* Sometimes setup/cleanup needs a function and the test needs a macro that do the same thing. Sharing code for these is risky. It's usually better to let setup/cleanup use a highly robust function, preferably without involving UI, that you can change at will to make faster or more robust later without risking test coverage.
* Sometimes setup/cleanup needs a function and the test needs a macro that do the same thing. Sharing code for these is risky. It's usually better to let setup/cleanup use a highly robust function, preferably without involving UI, that you can change at will to make faster or more robust later without risking test coverage.
* Balance SPOT with your organizational structure. If it's not natural for two groups to communicate, those groups should not have shared ownership of code. Spin shared code into a module owned by a single group or copy. SPOT only helps when you all talk. Keep in mind more than a few people talking to make a given change is an [http://en.wikipedia.org/wiki/The_Mythical_Man-Month#The_mythical_man-month antipattern].
* Balance SPOT with your organizational structure. If it's not natural for two groups to communicate, those groups should not have shared ownership of code. Either refactor shared code into a module with single ownership and consumed by the others as a version-pinned library, or both groups should maintain their own copies. SPOT only helps when you all talk. Keep in mind more than a few people needing to talk to make a given change is an [http://en.wikipedia.org/wiki/The_Mythical_Man-Month#The_mythical_man-month antipattern].


= Test Runs =
= Test Runs =
canmove, Confirmed users
2,041

edits