Zentrale Features

A screenshot of commits that were analyzed by Teamscale
INKREMENTELLE ANALYSE

Feedback in Echtzeit

Teamscale analysiert jeden Commit und liefert innerhalb weniger Sekunden Ergebnisse. Dieses systematische Feedback ermöglicht effiziente Entwicklungsprozesse, was bei der Nutzung typischer Batch-Analysewerkzeuge nicht der Fall ist.

Flexibel

Dashboards & Trends

Individuell konfigurierbare Dashboards liefern einen schnellen Überblick über den aktuellen Qualitätsstand. Jeder Entwickler kann private Dashboards konfigurieren oder sie mit dem Team teilen. Teamscale liefert eine breite Auswahl an Visualisierungen, wie Metriken, Trends, Tabellen, Grafiken und Tree-Maps.

Teamscale's IDE Integration into Visual Studio
IDE-Integration

Entwickeln ohne Ablenkung

Alle Qualitätsdaten werden in Ihrer Entwicklungsumgebung angezeigt, um Sie während der Entwicklung auf Qualitätsprobleme hinzuweisen. Sie müssen den Codeeditor nie verlassen, um an die benötigten Informationen zu gelangen.

Test-Gap-Analyse

Smarter testen

Sind Sie sicher, dass Sie Ihre Änderungen getestet haben? Unsere Test-Gap-Analyse visualisiert Änderungen und Testaktivitäten, um die Produktivsetzung von ungetesteten Änderungen zu verhindern. Egal, ob Sie das gesamte System oder nur die Änderungen für ein einzelnes Issue sehen wollen, Teamscale liefert die Antwort.

Analyse der Historie

Vergleichen Sie zwei beliebige Stände Ihrer Entwicklung, um zu sehen, wie sich die Systemqualität verändert hat. Legen Sie Termine für Iterationen und Releases fest, um den Qualitätsstand auf einfache Weise zu veranschaulichen und zu vergleichen.

Lassen Sie sich anzeigen, wie sich die Metriken über die gesamte Entwicklungsphase verändert haben. Sehen Sie sich interessante Teilbereiche im Detail an und entdecken Sie ganz einfach den Hauptgrund für unerwartete Entwicklungen eines Metrikverlaufs.

Teamscale kann nicht nur die gesamte Historie Ihres Systems analysieren, sondern kennt auch die Branch-Struktur in Ihrem Repository und berücksichtigt diese während der Analyse.

Programmiersprachen

Die Analysen von Teamscale funktionieren für viele moderne Programmiersprachen. Zentrale Features wie die Erkennung von Klonen, Verschachtelungstiefe und langen Methoden funktionieren dabei für alle Sprachen.

  • ABAP
  • Ada
  • C#
  • C/C++
  • Cobol
  • Delphi
  • Fortran
  • Go
  • Gosu
  • Groovy
  • IEC 61131-3 ST
  • Java
  • JavaScript
  • Kotlin
  • Matlab
  • Objective-C
  • Open CL
  • OScript
  • PHP
  • PL/SQL
  • Python
  • Rust
  • Simulink/StateFlow
  • SQLScript
  • Swift
  • TypeScript
  • Visual Basic .NET
  • Xtend

Ihre Sprache ist nicht dabei?

Es kommen regelmäßig neue Sprachen hinzu, möglicherweise wird Ihre Sprache bereits unterstützt.

Kontaktieren Sie uns!

Infrastruktur-Integration

Teamscale integriert sich in Ihre Infrastruktur - alle Daten werden aus dem Versionskontrollsystem oder dem Issue Tracker gelesen und die Analyseergebnisse können durch die bestehende Benutzerverwaltung geschützt werden

Versionskontrollsysteme
  • Git (inkl. GitHub, GitLab, BitBucket)
  • Gerrit
  • Subversion (SVN)
  • Azure DevOps (TFS)
  • Artifactory
  • SCM-Manager
Issue-Tracker
  • Jira
  • GitHub Issues
  • Azure DevOps (TFS)
  • IBM RTC/Jazz
Benutzerverwaltung
  • Microsoft Active Directory
  • (Open-)LDAP
  • Atlassian Crowd
Analysen & Integrationen

Hier sind einige Beispiele für die anspruchsvollen Analysen, die Teamscale durchführen kann.

Architekturkonformität

Vergleichen Sie die tatsächlichen Abhängigkeiten in Ihrem Quellcode mit der gewünschten Architektur. Unterstützen Sie Ihre Entwickler, indem Sie Verstöße gegen die Architektur in Echtzeit verfolgen.

Klonerkennung

Finden Sie duplizierten Code, der durch Copy & Paste entstanden ist, automatisch. Prüfen Sie bestehende Klone, um Fehler durch inkonsistente Änderungen an dupliziertem Quellcode zu vermeiden.

Test-Gap-Analyse

Codeänderungen führen oft zu Fehlern. Haben Sie Ihre Änderungen getestet? Die Test-Gap-Analyse macht Änderungen und Testaktivitäten transparent. Verhindern Sie, dass sich ungetestete Änderungen in die Produktion schleichen.

Programmierrichtlinien

Überprüfen Sie, ob Ihre Programmierrichtlinien eingehalten werden. Gängige Regeln sind in Teamscale bereits vordefiniert, Sie können diese jedoch an Ihre persönlichen Anforderungen anpassen.

Kommentaranalyse

Prüfen Sie, ob Ihr Code vollständig dokumentiert ist. Die Dokumentationsrichtlinien sind einfach zu konfigurieren. So ist beispielsweise die Dokumentation von öffentlichen Methoden nur sinnvoll, wenn es sich nicht um simple Getter/Setter-Methoden handelt. Außerdem können Sie leere oder triviale Kommentare für Schnittstellen ausfindig machen.

Strukturanalyse

Finden Sie kritische Stellen mit schlecht strukturiertem Code. Alle Schwellwerte können den Richtlinien Ihres Projekts entsprechend konfiguriert werden.

Externe Befunde und Metriken

Mittels einfacher REST API lassen sich extern berechnete Metriken und Findings einfach in Teamscale hochladen. Diese werden genauso behandelt wie die Ergebnisse aus den eigenen Analysen von Teamscale.

Siehe Statische Analyse-Tools

Siehe Coverage Tools

Benutzerdefinierte Checks

Teamscale bietet eine flexible Sprache für die Implementierung benutzerdefinierter Checks, die auf das jeweilige Projekt abgestimmt sind.

Dokumentation zu Custom Checks (englisch) 

Zusätzliche Analysewerkzeuge

Teamscale unterstützt eine Fülle von externen Analysewerkzeugen und Formaten, und die Liste wird ständig erweitert.
Um nur ein paar zu nennen: SpotBugs, dotCover, Istanbul, ESLint, Clang und viele mehr.

Siehe Statische Analyse-Tools

Siehe Coverage Tools

Häufig gestellte Fragen (FAQ)

Hier finden Sie häufig gestellte Fragen und deren Antworten zu den Analysen von Teamscale

Unterstützt Teamscale Metrik X?

Viele Werkzeuge messen das, was am einfachsten zu messen ist, und versuchen, so viele Metriken wie möglich anzubieten. Die Aussagekraft von vielen dieser Metriken, einschließlich der bekannten zyklomatischen Komplexität , ist zur Beurteilung der Softwarequalität aber bestenfalls vage. Wir sind der Ansicht, dass ein Qualitätsdefizit (Finding), das den Entwickler auf das Problem direkt im Code hinweist, meist effektiver ist. Wir ermitteln nur einige wenige Basismetriken bezüglich Codestruktur, Dichte von Klonen und Findings sowie zu den Kommentaren, um einen Überblick über die gesamte Codebasis zu erhalten.

Kann ich programmatisch auf die Daten in Teamscale zugreifen?

Teamscale verfügt über eine gut dokumentierte REST API, mit der Sie auf alle Daten in Teamscale zugreifen können. Diese API wird auch von der Weboberfläche sowie den IDE-Plugins verwendet.

Berechnet Teamscale die Testabdeckung?

Teamscale bietet keine direkte Durchführung von Tests und Berechnungen der Abdeckung. Ein Import von Testabdeckungsergebnissen aus den gängigsten Abdeckungswerkzeugen ist jedoch während eines Builds im Zuge der kontinuierlichen Integration möglich. Die Abdeckungsdaten können sowohl als Gesamtmetriken dargestellt, als auch über Ihren Code gelegt werden, um herauszufinden, wo Qualitätsprobleme und ungetesteter Code gleichzeitig auftreten.

Entdeckt Teamscale ungültige oder zyklische Abhängigkeiten?

Zyklische Abhängigkeiten stellen an sich nicht zwingend ein Qualitätsproblem dar. Uns ist vielmehr wichtig, ob der Code dem von den Architekten gewünschten Design entspricht. Um dies herauszufinden, können Sie mithilfe von Teamscale Ihre gewünschte Architektur modellieren und mit den tatsächlichen Abhängigkeiten im Code vergleichen. Teamscale eignet sich außerdem hervorragend dafür, im Code bestehende Abhängigkeiten zu visualisieren.

Kann ich in Teamscale eigene Checks implementieren?

Ja. Teamscale verfügt über einen einfachen Mechanismus, um benutzerdefinierte Checks zu beschreiben, die während der Analyse inkrementell ausgeführt werden. Wenn Sie diese nicht selbst programmieren möchten, helfen wir Ihnen gerne dabei, benutzerdefinierte Checks für Ihre Richtlinien einzufügen.

Konnten Sie nicht finden, was Sie suchen?

Kontaktieren Sie uns!

Teamscale kann einfach um neue Programmiersprachen, neue Versionskontrollsysteme, neue Issue-Tracker oder externe Analysewerkzeuge erweitert werden.