Проблема
Его довольно общая проблема, о которой я бы хотел подумать. Добавление нового кода приводит к регрессии - существующие тестовые примеры становятся устаревшими. Зависимости внутри кода означают, даже если вы знаете, как исправить эту конкретную регрессию, может быть косвенная регрессия в n местах в обоих направлениях - Афферентные и Эфферентные.
Требование
У меня есть магазин под управлением SVN, Maven + Nexus, Sonar, Jenkins и JIRA, QC, QTP. В целом хорошая среда CI.
С каждой новой сборкой у меня появятся новые случаи регрессии. Я хочу найти зависимости Java-пакетов в обоих направлениях и правильно обновлять тестовые примеры, чтобы охватить все типы регрессий - прямые и косвенные. Это скорее проблема, так как охват unit test не приближается к 50%, а автоматизация интеграционных тестов не отстает от разработки.
Мои параметры
- SONAR
- Google CodePRo
- JArchitect
- Jtest (Обсуждалось с поставщиком Parasoft. У них нет инструмента для этого)
- Использовать существующую среду . У меня есть, скажем, плагин Atlassian
- Kalisitck (демо-версия поставщика - отличный инструмент - включает в себя кривую обучения и стоимость)
- Покрытие (как Kalistick - кривая обучения и сложная установка. Очень дорогая лицензия.
- Любой другой открытый/платный?
JArchitect, SONAR и CodePro предоставят вам простую матрицу, например this или это. Который удовлетворяет половине моего требования, сообщая мне, на кого влияют классы пользователя и используемые. Я хочу пойти дальше на 1 шаг, а сообщить мне инструмент, на который влияют соответствующие тестовые примеры, и если мне нужно обновить и/или выполнить их, чтобы покрыть мои регрессионные риски.
Kalistick, Coverity и, возможно, другие могут делать то, что я хочу - они тяжелы, чтобы настраивать и настраивать, расти с вашей системой медленно, так что неэффективны сразу, приходят с затратами и нуждаются в кривой обучения.
Короткий вопрос
Какой инструмент сверху, чтобы использовать в моей установке, учитывая все факторы, такие как установка, кривая обучения, стоимость, доступность или любой другой параметр.
Я уже прочитал раздел часто задаваемых вопросов static-analysis, несколько потоков, например Рекомендация инструмента Static Analysis для Java?, https://stackoverflow.com/info/3716203/automatic-code-quality-and-architecture-quality-static-code-analysis и Какое увлечение метками кода? и многие связанные, но они не отвечают на мой конкретный вопрос.