Если под «делать интеграционные тесты и системные тесты» вы подразумеваете автоматизированные тесты, то ответ отрицательный, стандартного подхода не существует. Какой подход выбрать, будет зависеть от:
- характеристики приложения (например, есть ли у него графический интерфейс ?, доступно ли оно только для чтения?, Сколько у него внешних зависимостей и т. Д.)
- что вы пытаетесь проверить (может быть, вам нужны только тесты с графическим интерфейсом, или, возможно, верно обратное, и вам не очень важен графический интерфейс, но внутренняя логика критична)
- как быстро вы хотите увидеть результаты (например, чем больше вы заглушаете, тем быстрее становятся ваши тесты)
- набор навыков в вашей команде
Лично мне нравится любой подход, который интегрируется с JUnit. JUnit - это фантастическая среда, которая хорошо поддерживается и легко подключается к серверу непрерывной интеграции. Вот несколько возможных подходов:
- Selenium с JUnit - Фантастический инструмент для управления веб-приложениями
- Concordion - для всех типов применения. Интегрируется с JUnit и предоставляет простые английские спецификации тестов. Ваш «прибор» / тестовый код будет привязан к ключевым словам в спецификации и утверждать или выполнять действия с ними.
- FEST - для приложений Swing снова интегрируется с JUnit (тема еще есть;;) (больше вариантов здесь )
Приведенные выше примеры предоставляют огромное количество встроенной помощи для тестирования. Конечно, они все еще требуют усилий, чтобы подключиться к вашему приложению и поддерживать, но преимущества того стоят. В дополнение к вышесказанному, вам может понадобиться подумать о том, как заглушить или макетировать области вашего приложения. Возможно, вы хотите провести все свои тесты «под GUI» или «над базой данных». В первом сценарии ваши тесты должны начинаться с тех точек кода, в которых GUI будет взаимодействовать с ним, а во втором вам понадобится отключить службы, взаимодействующие с вашей базой данных.
Дело в том, что есть много способов сделать это. Лучше всего начать с очень четкого понимания того, что вы хотите получить от тестирования. Затем узнайте, какие существуют фреймворки, чтобы помочь вам, основываясь на том, что вы хотите протестировать, и, наконец, не пытайтесь покорить мир за ночь. Начните с малого, запустив несколько тестов. Получите зеленую полосу (всегда рад видеть!) Получите стабильную проверенную платформу для тестирования и убедитесь, что вы довольны ею. Затем добавьте больше по мере продвижения.