Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


TeamCity - комерційний сервер інтеграції від компанії JetBrains для java і .NET (є безкоштовна версія).



· Статичний аналіз

1. PMD - аналіз коду Java

2. Findbugs - аналіз коду на типові помилки

3. Simian - пошук повторів (copу + paste) в коді Java

4. FXCop - аналіз коду.NET

5. QALab - об'єднання логів декількох інструментів аналізу коду, збір статистики

Panopticode - об'єднання логів декількох інструментів аналізу коду для Java, графічне представлення результатів

· Модульне тестування та покриття

1. JUnit - де-факто стандарт модульного тестування Java

2. TestNG - інструмент нового покоління для модульного тестування Java

3. NUnit - модульні тести для додатків.NET

4. Cobertura - вимірювання покриття коду модульними тестами для Java

5. Clover - аналіз покриття коду тестами для Java

Clover.NET - аналіз покриття коду тестами під.NET

3. ВИСНОВОК
    З технічної точки зору CI допомагає групам працювати ефективніше. Це можуть бути кроссфункціональние групи, що створюють взаимодействующее апаратне і програмне забезпечення. Вони можуть бути географічно розподілені, тому що постійна робота по інтеграції гарантує відсутність відхилень від проекту. Люди можуть працювати у великому колективі з упевненістю, що різні компоненти складної системи будуть правильно взаємодіяти. Це усуває багато з тих перешкод, з якими можуть зіткнутися групи нетрадиційної, гнучкої розробки без CI. Поєднання CI з розробкою через тестування збирає під прапором гнучкої розробки більше людей, тому що вона дозволяє гнучким методам працювати ефективніше.

    З точки зору бізнесу CI гарантує кращі результати, дозволяючи групам вбити відразу двох зайців. Вони можуть швидше випускати продукти на ринок, виявляючи проблеми на ранній стадії, поки ті ще не прийняли загрозливих розмірів. І можуть краще реагувати на вимоги, що з'явилися тоді, коли продукт вже перебував у стадії розробки. Це дозволяє запропонувати замовнику більш якісний продукт, що і є метою гнучкої розробки.

    Так яку користь можна отримати про впровадження безперервної інтеграції в своєму проекті?

    В першу чергу це безболісна інтеграція всього проекту. Інтеграція різних модулів і правок різних програмістів перестає бути справою в принципі, вона відбувається «сама» без участі людей і якщо щось не так, ви про це дізнаєтеся. Звичайно, зараз рідкість, що проект має особливу стадію інтеграції, коли з купи різних модулів намагаються зробити додаток, але все ж не треба недооцінювати користь від безперервної інтеграції.

    Більше ніяких «Це працює на моїй машині! ». Якщо щось не працює на складальному сервері - значить, воно не працює взагалі. Аргументи програміста, що у нього все працює в даному випадку не допоможуть. Сервер інтеграції стає суддею в таких питаннях і цей суддя неупереджений.

    Всі аналізатори коду і тести, які ви використовуєте і написали, обов'язково запускаються над кожною збіркою. Якщо в систему контролю версій потрапив «поганий» код - ви про це дізнаєтеся. І не важливо, чи порушено один із стандартів кодування, або статичний аналізатор коду показує, що в код потрапила потенційна помилка або тести не пройшли, а може просто покриття коду модульними тестами впало нижче необхідного мінімуму. Ви про це дізнаєтеся і зможете вжити заходів.

    Більш того, запуск всіх цих аналізаторів корисний не тільки для визначення стану в поточний момент часу, але і для аналізу тенденцій. Можна побачити, коли ваш код став сильно більше, складніше, в яких модулях ця складність сконцентрована. Так, це вимагає наявності та використання відповідного інструментарію.

    Чим більше і серйозніше, проведена робота по налаштуванню сервера інтеграції, тим більше користі можна отримати. Якщо ваш сервер просто збирає проект після кожної зміни в коді, то користь від нього не так велика, але й зусиль на нього майже не витрачено.


CruiseControl.NET


Безперервна інтеграція
    У ході розробки структурно-складних програмних продуктів, в якийсь момент виникає необхідність автоматизувати процеси збирання і інтеграції розроблюваних проектів і дистрибутивів. Безперервна інтеграція - це практика розробки програмного забезпечення, що припускає часту (до декількох разів протягом дня) автоматизовану складання і подальше автоматичне тестування поточної версії продукту. Такий підхід дозволяє знизити трудомісткість самої інтеграції, і виявляти в ній помилки і протиріччя, починаючи з самих ранніх етапів. Зауважимо, що дана методика передбачає використання системи управління версіями (як наприклад CVSNT, Subversion) для зберігання вихідних кодів і всього іншого, що необхідно для побудови та тестування проекту.
Раніше розробляючи статичний аналізатор коду PVS-Studio для пошуку 64-бітних і паралельних помилок, ми вирішували це завдання за допомогою файлів сценаріїв командного рядка Windows. Хоча такий підхід здається найбільш простим і не вимагає

 


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 45; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.009 с.)
Главная | Случайная страница | Обратная связь