Тестирование кода перед выдачей – штука неприятная. Особенно неприятная она тогда, когда тестирование, чтобы быть валидным, должно проводиться на двух-трех операционных системах. Вдвойне неприятно – если для тестирования должны использоваться разные компиляторы. Втройне – если часть кода должна гарантированно работать под Java 1.4, а вот часть (новая) под компилятором ниже пятерки не соберется никогда. Я молчу уже про версии gcc (3.4.2-шный исполняемый файл пробовали собирать с 3.3.4-шными библиотеками? То-то же…)
Таким образом, план тестирования, если мы хотим чтобы оно было полным, выглядит так:
- Чек-иним все файлы в ClearCase.
- Лезем на Линукс.
- Устанавливаем версию компилятора C++ = gcc3.3.4 и Java 1.4.
- Выполняем тестирование кода отдельности и в варианте кросс-тестирования
- Идем на Solaris.
- Повторяем пункты 3,4
- Далее повторяем пункты 2-6 для всевозможных сочетаний этих двух компиляторов, не забывая, однако, что часть кода (сервисная) не будет использоваться у клиента, поэтому написана без оглядки на Java 1.4 и работает только под пятеркой.
- После всего этого кошмара выполняем тестирование java-части кода под Windows на двух компиляторах.
Если после этого еще не отпало желание продолжать работать, можно еще погонять тесты через TCP/IP, когда клиент на Линуксе и на C++, а сервер – на Solaris и Java…. и далее по тексту. И не надо говорить что оно одинаково должно работать, особенно на Java. Должно. Но работает далеко не всегда.
Мама, зачем я стал программистом? :-)