Трудно сказать, насколько это было бы возможно в вашем случае ... но было бы здорово, если бы вы могли придумать декларативный механизм описания ваших тестовых случаев, возможно, используя текстовые файлы или XML для детализации ожидаемых параметров выходы, ожидаемые коды возврата и т. д. различных случаев. Таким образом, если эти тестовые примеры действительны для нескольких ОС / сред, вы можете реализовать код для выполнения тестовых примеров один раз для каждой среды, но иметь возможность повторно использовать все тестовые примеры.
Конечно, ваш пробег может варьироваться в зависимости от сложности интерфейсов / скриптов / приложений, которые вы хотите протестировать, и от того, насколько легко было бы выразить тестовые случаи с данными.
Что касается разработки тестовых случаев, я также ранее отвечал за написание тестов для старого, "унаследованного" кода, который не был создан с учетом "тестируемости". Мне нравится предложение Эндрю; использование предыдущих данных об ошибках / регрессии было бы полезно, чтобы определить, какие тесты дадут вам максимальную отдачу от затраченных средств. Также было бы неплохо попытаться внедрить новые инженерные процессы в вашей команде - для каждой новой ошибки / проблемы / регресса, исправленной с этого момента, попробуйте добавить тестовый пример, который бы уловил проблему. Это поможет вам создать набор тестовых случаев, которые доказуемо актуальны ...