The following guidelines are used in IRIS testing:
As a general rule, if a formal test doesn't exist for some functionality (or superset of the functionality), then it cannot be validated and is assumed to not work properly. "Formal test" means an automated unit test or documented manual test.
Anytime a bug is fixed a regression test should be added. Many IRIS unit tests are regression tests.
When writing a complex UI, build the UI so it can be tested using mock objects (ex: memory POJOs and mock service implementations). This allows the UI to be decoupled from the implementation, and also allows the UI to be quickly tested.
For complex tests that cannot be automated, clear manual tests should be documented as well as known issues and regression tests. For example, PubSub testing. Then add a section to tis document whch documents how to run the tests.