top 15 code coverage tools
Список найпопулярніших засобів охоплення коду для Java, JavaScript, C, C ++, C #, PHP, Eclipse, .Net та багатьох інших мов програмування:
При тестуванні програмного забезпечення існує кілька способів виміряти охоплення тестуванням. Метод охоплення коду - одна з найважливіших технік.
Використовуючи засоби охоплення коду, можна визначити кількість коду, протестованого під час виконання тестів. Простими словами, охоплення коду говорить нам, яка частина вихідного коду охоплена набором тестових випадків. Важливою метрикою є підтримка стандартної якості зусиль із забезпечення якості.
Вимірюється охоплення коду у відсотках від кількості рядків, виконаних із загальної кількості рядків коду під час запуску тестів.
Під час написання тестових кейсів слід враховувати всі критерії для максимального охоплення коду, тобто тестові кейси слід писати, щоб охоплювати всі твердження, функції, умови, шляхи, рішення, цикли, значення параметра, критерії входу та виходу.
На ринку є кілька інструментів для вимірювання охоплення коду. Давайте детально розберемо деякі з них у цій статті.
******************
= >> Зв'яжіться з нами запропонувати свій список тут.
******************
Що ви дізнаєтесь:
Найпопулярніші засоби охоплення коду в 2019 році
Нижче наведено перелік найпопулярніших інструментів покриття коду, доступних на ринку.
# 1) Parasoft JTest
Parasoft Jtest - один із продуктів набору інструментів тестування Parasoft.
Jtest дозволяє пришвидшити розробку програм на базі Java з мінімальним ризиком, належним керівництвом та аналізом. Він використовується для модульного тестування та охоплення коду, інтегрованого з ручним та автоматичним тестуванням. Його звіт забезпечує хорошу картину охопленого коду і тим самим мінімізує ризики.
Основні характеристики:
- Він використовується для програм на основі Java.
- Це багатозадачний інструмент, який включає аналіз потоку даних, модульне тестування, статичний аналіз, виявлення помилок під час виконання, тестування покриття коду тощо.
- Він може зібрати покриття з різних систем та методів тестування.
- Його можна запустити в режимі командного рядка, графічному інтерфейсі на основі eclipse або в системах CI.
- Його високоякісні звіти та аналіз включають також можливість відстеження та деталі тестування на основі зміни коду.
Тип ліцензії: Власне комерційне програмне забезпечення
Офіційна URL-адреса: Parasoft JTest
Плюси і мінуси:
- Це дуже дорого у використанні.
- Це хороший інструмент для найякіснішого продукту з багатоцільовим рішенням для зменшення часу та ризиків.
- Звіти та аналіз дуже легко зрозуміти, і вони заповнюють максимальні аспекти якості.
Останній реліз: Версія 10.3.3 від 7 листопада 2017 р.
# 2) Testwell CTC ++
Testwell CTC ++ - це дуже популярний інструмент Verifysoft Technology. Це надійний засіб покриття та аналізу коду для C, C ++, C # та Java.
Це основний вибір для більшості галузей у будь-якій галузі. Це забезпечує повноту тестів. Поставляється з кваліфікаційним набором. Для цього інструменту також доступна безкоштовна пробна версія, онлайн-тренінг та презентації в прямому ефірі. Він доступний у трьох пакетах лише для хосту CTC ++, надбудови CTC ++ Host-Target та надбудови CTC ++ Bitcov.
розумна ідентифікація в qtp з прикладом
Для C # та Java потрібен окремий пакет доповнень.
Основні характеристики:
- Головною його особливістю є те, що його можна використовувати для додатків різних мов та доменів.
- Його також можна використовувати з усіма інструментами модульного тестування.
- Як інструмент охоплення коду, він забезпечує повне охоплення, включаючи всі критерії.
- Звіти можна отримати у прямому тексті, HTML, JSON, XML та Excel.
Тип ліцензії : Спочатку пробна версія доступна безкоштовно. Щоб придбати його або його доповнення, потрібно зв’язатися з ними.
Офіційна URL-адреса: Testwell CTC ++
Плюси і мінуси:
- Він дуже надійний і простий у використанні. Це дозволяє уникнути будь-якої перевіреної доставки коду.
- Доступна безкоштовна пробна версія.
- Він може бути використаний для додатків на різних мовах, таких як C, Java, C # тощо.
- Це добре для всіх доменів, таких як охорона здоров'я, транспорт, автомобільна промисловість тощо, з високим кодом охоплення.
- Він підтримує всі компілятори та крос-компілятори.
- Його вартість не розголошується, тому вам потрібно зв’язатися з компанією для отримання детальної інформації про ціни.
Останній реліз: Версія 8.2.2
# 3) Покриття
Cobertura - це інструмент покриття відкритого коду для Java. Це інструмент на основі Jcoverage. Для використання цього інструменту слід оголосити плагін Maven у файлі POM.XML.
Основні характеристики:
- Він підтримує Java 7, Java 8, Java 9 і Java 10.
- Cobertura може бути запущений з командного рядка або ant.
- Після компіляції він обчислює байт-код Java.
- Він охоплює всі критерії охоплення коду, включаючи гілки, клас, пакет тощо.
- Звіти складаються у форматі HTML або XML.
- Ці звіти мають функції фільтрації, зростання та спадання.
Тип ліцензії: Загальна публічна ліцензія GNU (GPL)
Офіційна URL-адреса: Покриття
Плюси і мінуси:
- Це інструмент покриття з відкритим вихідним кодом.
- Його звіти легко зрозуміти, а також варіанти фільтрування відповідно до потреби.
- Він добре розроблений як для розробників, так і для тестувальників.
- Це працює лише для Java.
Останній реліз: Версія 2.1.1
# 4) JaCoCo
JaCoCo - це безкоштовний набір інструментів для охоплення коду, розроблений EclEmma. Він був розроблений для заміни інструменту покриття коду Емми. Він може використовуватися лише для вимірювання та складання звітів про програми на базі Java.
Основні характеристики:
- Цей засіб покриття коду можна використовувати лише для Java. Він підтримує Java 7, Java 8, Java 9 і Java 10.
- Він сумісний з усіма видами випущених версій файлів класу Java.
- Він охоплює рядки, інструкції, методи, тип, гілки та цикломатичну складність у висвітленні коду.
- Він може інструментувати код Java двома різними способами, тобто під час запуску коду з агентом Java або перед виконанням коду, який знаходиться в автономному режимі.
- Він зберігає отримані дані у файлі або надсилає їх через TCP. Формати звітів включають CVS, XML та HTML.
- Він підтримує регресійні тести разом з функціональними тестами, де тести базуються на Джуніті.
Офіційна URL-адреса: JaCoCo
Плюси і мінуси:
- Це інструмент покриття з відкритим вихідним кодом.
- Він призначений лише для покриття коду Java.
- Це дає хорошу продуктивність для масштабних проектів Java з мінімальним часом виконання.
- Це вимагає меншої реалізації з мінімальними залежностями від зовнішніх бібліотек та ресурсів.
- Є багато інструментів, які підтримують JaCoCo, такі як Jenkins, Netbeans, Gradle, TeamCity, VS TEAM SERVICES тощо.
- Налаштувати JaCoCo у Maven, Junit тощо, щоб отримати звіт про покриття коду.
- Звіт, сформований JaCoCo, є барвистим і простим для розуміння.
Останній реліз: Версія 0.8.1 від 21 березня 2018 р.
# 5) CodeCover
Засіб CodeCover - це розширюваний інструмент для тестування скляних коробок із відкритим кодом, який може використовуватися як покриття коду для програмного забезпечення Java. Він був розроблений в 2007 році в Університеті Штутгарта. Його можна виконати в командному рядку, Eclipse та Ant.
Основні характеристики:
- Це інструмент для тестування скляної коробки для програм Java.
- Він охоплює твердження, цикли, гілки тощо, а також охоплення термінів, охоплення оператора знаків питання та синхронізоване покриття.
- Звіти формуються у форматі швидкості механізму шаблонів.
Тип ліцензії: EPL - Eclipse Public License.
який хороший перетворювач голосу
Офіційна URL-адреса: CodeCover
Плюси і мінуси:
- Це безкоштовний інструмент, який можна використовувати для покриття коду.
- Він використовується для підвищення якості тестування та створення нових тестів.
- Він обмежений для використання в Java та COBOL.
- Він також має обмеження щодо інструментарію лише одного джерельного каталогу.
Останній реліз: Версія 1.0.1.2 у 2011 році
# 6) Покриття Bullseye
Bullseye - це інструмент охоплення коду для програм C ++ та C. Його ціна становить 800 доларів за перший рік та 200 доларів щороку за оновлення.
Основні характеристики:
- Цей аналізатор покриття коду можна використовувати для C ++ та C.
- Він має функцію експорту результату у формат HTML, XML та графічний інтерфейс.
- Він постачається з додатковими функціями, такими як злиття, виключення коду, візуалізація тощо.
- Найбільше розчарування полягає в тому, що злиття результатів може здійснюватися лише на функціональному рівні. Це не дозволяється в заяві або на рівні умов.
Тип ліцензії: Плаваюча ліцензія
Офіційна URL-адреса: Бичаче око
Плюси і мінуси:
- Його використання обмежене C ++ та C.
- Витрати на інструмент високі. Особливо, якщо вам не потрібні додаткові функції, такі як Visualizer, Merge, код за винятком тощо.
- Інструмент зручний і користується ним просто.
- Звіти дуже прості та зрозумілі.
- Швидкість його виконання дуже швидка.
- Ця функція злиття не така хороша.
Останній реліз: Версія 8.14 у березні 2018 року
# 7) EMMA
Emma - це дуже популярний інструмент з відкритим кодом для програмного забезпечення Java для вимірювання охоплення коду. Його розробив Влад Рубцов. Він охоплює всі типи покриття, такі як клас, лінія, метод тощо.
Основні характеристики:
- Це 100% для програмного забезпечення Java.
- Його особливістю є те, що він підтримує розвиток великих підприємств.
- Цей інструмент має велику частку на ринку порівняно з іншими безкоштовними інструментами покриття.
- Звіти доступні у форматі XML, HTML та звичайного тексту.
Тип ліцензії: CPL - Загальнодоступна ліцензія v1.0.
Офіційна URL-адреса: EMMA
Плюси і мінуси:
- Це безкоштовний інструмент з дуже хорошою швидкістю.
- Він досить простий у використанні та охоплює всі критерії охоплення коду.
- Обмежений для використання в програмному забезпеченні Java.
- Він підтримує АНТ.
- Він підтримує інструментарій класу і може виконуватися в автономному режимі або на льоту.
- Найбільшим недоліком є те, що він не підтримує останню версію Java і погано підтримується.
Останній реліз: Емма-2.0.5320
# 8) OpenCover
OpenCover - це інструмент з відкритим кодом для покриття коду програмного забезпечення .Net. Це добре працює для .Net 2 і вище. Він був розроблений для подолання проблем, з якими стикалися при використанні інструменту PartCover для висвітлення коду програмного забезпечення .Net.
Основні характеристики:
- Він призначений для всіх програм .Net 2 і вище.
- Його можна встановити за допомогою пакета NuGet, MSI або ZIP-файлу.
- Він надає 64 та 32-бітну підтримку .Net 4 та .Net 2.
- Це забезпечує простий процес охоплення коду.
- Це також забезпечує кращу обробку дженериків, ніж PartCover.
- Це інструмент командного рядка.
- Він надає звіти як вихідний файл XML, який використовується для створення графічних звітів. Це робиться за допомогою інструмента генератора звітів.
Тип ліцензії: Ліцензія MIT
Офіційна URL-адреса: OpenCover
Плюси і мінуси:
- Це безкоштовний інструмент для тестування покриття коду.
- Це краще, ніж PartCover, кількома способами.
- Він надає дуже корисну документацію під час встановлення OpenCover.
Останній реліз: OpenCover 4.6.519 8 лютого 2016 року
# 9) NCover
NCover - найкращий інструмент покриття коду, розроблений Пітером Вальдшмідтом для платформи .Net. Це не повністю відкритий інструмент. Тільки його бета-версія доступна безкоштовно. Це коштує $ 480 за повний NCover 3.
Основні характеристики:
- Інструмент NCover призначений лише для платформи .Net.
- Це охоплює виписки та охоплення філій.
- Цей інструмент аналізує код, використовуючи його як приватний.
- Інструмент NCoverExplorer доступний для перегляду вихідного коду з аналізом покриття.
- Звіти представлені у метриках формату HTML.
Тип ліцензії: Плаваюча ліцензія
Офіційна URL-адреса: NCover
Плюси і мінуси:
- Це найкращий інструмент покриття коду для програмного забезпечення .Net.
- Безкоштовна лише бета-версія. В іншому випадку використання цього інструменту коштує дуже дорого.
- Він має 4 роки зрілості і є дуже швидким інструментом.
- Підтримка дуже активна і постійно оновлює випуски з деякими новими виправленнями та функціями.
- Створити дані про охоплення коду за допомогою цього інструменту дуже просто.
- Це добре для ручного, а також автоматизованого тестування покриття коду.
Останній реліз: NCOVER V5.5.3706.979 у вересні 2017 року
# 10) Хлюпати КОКО
COCO - це крос-платформа, а також багатомовний інструмент охоплення коду від froglogic.
Мови, що підтримуються COCO, включають C ++, C, C #, System C, Tcl та QML. Звіти доступні у різних форматах, таких як HTML, XML, Text, JUnit та AND Cobertura. Вартість інструменту FROGLOGIC не розкриває. Однак придбана ліцензія буде дійсна протягом 1 року.
Для отримання детальної інформації потрібно зв’язатися зі службою підтримки. Це пробна версія, демонстрація, навчальні матеріали та підтримка в Інтернеті, але з обмеженнями на основі придбаної ліцензії.
Основні характеристики:
- Це крос-платформа та інструмент охоплення коду для крос-компілятора.
- Він інструментує вихідний код.
- Він може бути інтегрований з різними збірками, тестами та фреймворками CI.
- Функція об’єднання звітів доступна для кращого аналізу.
Тип ліцензії: Ліцензія логічної жаби - плаваюча ліцензія.
Офіційна URL-адреса: Хлюп КОКО
Плюси і мінуси:
- Він підтримує декілька типів проектів такою мовою, як C ++, C, C #, System C, Tcl та QML.
- Ця пробна версія доступна на ринку з обмеженнями.
- Кожна ліцензія включає один рік підтримки та оновлення.
- Це полегшує процес.
- Він охоплює такі критерії, як твердження, галузі та умови.
- Користувач може вибрати інший формат звіту.
- Знаходить надлишкові тести та недосяжний або мертвий код.
Останній реліз: Версія 4.0 у 2017 році
# 11) Вимірювач покриття
Інструмент CoverageMeter - це найбільш часто використовуваний ланцюжок інструментів охоплення коду для додатків C / C ++. Остання версія - версія 1.4. Це допомагає знайти неперевірений вихідний код. Він містить два допоміжні інструменти, тобто CoverageBrowser та CoverageScanner.
CoverageScanner працює як інструмент командного рядка і замінює компілятор. Він адаптований до більшості компіляторів, що використовуються на ринку. CoverageBrowser працює як графічний інтерфейс, який використовується для аналізу та управління підсумковими звітами. Після виконання остаточний звіт можна проаналізувати та керувати ним у CoverageBrowser.
Основні характеристики:
- Інструмент в основному працює з двох частин, тобто CoverageScanner і CoverageBorwser.
- Він також постачається з двома невеликими безкоштовними інструментами - агентом виконання та додатковим Visual studio 2005 та 2008.
- Він може бути використаний лише для програм на основі C та C ++.
- Його вартість становить приблизно 115,00 доларів. Однак його пробна версія також доступна на ринку.
Тип ліцензії: Умовно-безкоштовна
Офіційна URL-адреса: Вимірювач покриття
Плюси і мінуси:
- Безкоштовна пробна версія доступна на ринку.
- Це обмежено лише для програм C і C ++.
- Він охоплює всі критерії охоплення коду, такі як функціонал, оператор, стан, шлях тощо.
Останній реліз: Версія 1.4
# 12) GCT
GCT, Generic Coverage Tool, це безкоштовний інструмент охоплення коду для C від Brain Marick. Він вимірює гілки, цикли та покриття реляційного оператора. Інструмент отримує вихідний код C, а потім виконує контрольно-вимірювальні роботи та виробляє об'єкт за допомогою системного компілятора C. По-іншому, як справжній компілятор, він викликає компілятор C після обробки інструментів.
Основні характеристики:
- Це добре для програм C.
- В останній версії він поводиться як хороший компілятор.
- Він охоплює гілки, кратні умови, граничні умови та петлі.
Тип ліцензії: GNU - Загальнодоступна ліцензія.
Офіційна URL-адреса: GCT
Плюси і мінуси:
- Це відкритий код і простий у використанні за допомогою потужної системи звітності.
- Інструмент працює лише на UNIX.
- Інструмент великий і має багато деталей при монтажі. Для цього потрібно приблизно 33000 1k блоків.
- Він має гнучкі інструменти звітування.
Останній реліз: GCT 1.4
# 13) TCAT C / C ++
TCAT - це інструмент охоплення коду для аналізу C, C ++ та JAVA. Його версія 2.1 добре працює для NT 4.x та Windows 95. Комплект TCAT складається з інструментального движка, модуля виконання та аналізатора, орієнтованого на графіку. Для того, щоб знайти реальну вартість та обмеження, потрібно зв’язатися з ними або надіслати електронне повідомлення.
Основні характеристики:
- Він аналізує гілки, функції та охоплення коду пари викликів.
- Це працює для C, C ++ та Java.
- Метод звітування про покриття вказівником та клацанням полегшує використання інструменту.
- Наявність повної користувальницької документації та потужного програмного забезпечення для візуалізації, що допомагає користувачам.
- Він має демо-версію, яка не потребує ліцензійного ключа, тоді як повна версія вимагає ліцензійний ключ.
Тип ліцензії: Стандартний плавучий менеджер ліцензій (flexlm)
Офіційна URL-адреса: TCAT C / C ++
Плюси і мінуси:
- Обмежено C, C ++ та JAVA.
- Легко обробляє великі та складні проекти без проблем з пропускною спроможністю.
- Хороше розуміння програми з дерева викликів та графіків.
- Він дуже надійний, з мінімальними розрахунками і повністю готовий для використання як розробниками, так і тестерами.
- Демо-версія доступна лише на 10 днів, і це теж з деякими обмеженнями.
- Вартість ліцензії не розголошується.
Останній реліз: TCAT C / C ++, версія 3.2.
# 14) Гретель
Gretel - це безкоштовний інструмент покриття коду для програми Java від Карлса Хоуеллса з Університету Орегона. Для встановлення Gretel JVM 1.3 або пізнішої версії потрібен BCEL (Byte Code Engineering Library).
Основні характеристики:
- Він підтримує висвітлення заяви для програми Java.
- Він також допомагає залишковим тестовим покриттям, переінструментуючи програму та вилучивши інструмент із уже виконаного коду.
- Його можна запустити в командному рядку або графічному інтерфейсі.
- Звіти доступні в графічному інтерфейсі.
Тип ліцензії: BSD
Офіційна URL-адреса: Гретель
Плюси і мінуси:
- Це інструмент з відкритим кодом.
- Він не сумісний з JUnit.
Останній реліз: Версія 1.0rc2 у червні 2002 року.
# 15) JCov
Jcov - це інструмент покриття коду Java з відкритим кодом. Він розроблений та реалізований за допомогою SUN JDK. Він працює шляхом обробки байт-коду Java двома способами, тобто статичною та динамічною апаратурою.
Основні характеристики:
- Інструмент підходить для проектів Java.
- Він повідомляє про покриття блоків, ліній, гілок та методів.
- Він може зберігати зібрані дані у файловій системі або на сервері.
- Він інструментує байт-код Java.
- Він може інструментувати як на льоту, так і в режимі офлайн.
Тип ліцензії: LPG V2
Офіційна URL-адреса: JCov
Плюси і мінуси:
- Це інструмент покриття з відкритим вихідним кодом.
- Це обмежено лише проектами Java.
- Він охоплює майже всі критерії охоплення коду.
Останній реліз: JCov, версія 3, 2014 рік.
інструменти тестування автоматизованих програм з відкритим кодом для веб-додатків
Висновок
Використання покриття коду для підтримки стандартної якості тестування призводить до включення додаткових тестових випадків, щоб переконатися, що код виконується під час запуску тестових наборів якомога більше. Це справді дуже корисно для ефективного регресійного тестування.
Інструменти охоплення коду просто використовуються для вимірювання коду, що охоплюється під час запуску тестів.
Дуже рідко можна знайти 100% покриття коду, і навіть 100% покриття коду не підтверджує 100% тестування якості. Ви можете досягти 100% охоплення коду, не зважаючи на деякі важливі тестові випадки. Для того, щоб досягти кращого рівня ефективного тестування, слід піти на тестування мутацій замість звичайного покриття коду.
******************
= >> Зв'яжіться з нами запропонувати список тут.
******************
Рекомендована література
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- 15 найкращих інструментів JAVA для розробки, побудови, профілювання, охоплення коду та огляду
- ТОП 40 інструментів аналізу статичного коду (найкращі інструменти аналізу вихідного коду)
- Топ 10 найпопулярніших інструментів перегляду коду для розробників та тестувальників
- Розгортання Java: створення та виконання файлу Java JAR
- Віртуальна машина Java: як JVM допомагає у запуску програми Java
- Модифікатори доступу в Java - Підручник із прикладами
- Підручник з роздумів про Java з прикладами