SlideShare ist ein Scribd-Unternehmen logo
1 von 14
© 2017 FATCHIP GmbH – Agentur für Programmierung
Kontinuierliche Überprüfung der
Code-Qualität mit Scrutinizer
Dipl.-Ing. Hendrik Bahr
Geschäftsführer FATCHIP GmbH
© 2017 FATCHIP GmbH – Agentur für Programmierung
Herausforderungen beim
Code-Qualitätsmanagement
▪ Manuelle Audits werden zu spät und/oder zu selten durchgeführt
▪ Verschiedener Know How Stand bei Entwicklern im Team
▪ Entwickler müssen sich anhand der Ergebnisse erst wieder “einarbeiten”
▪ Weitere Entwicklungsschritte lassen die Ergebnisse schnell ungültig werden
▪ Oftmals bleibt die Prozessverantwortlichkeit unklar (Entwickler vs. Auditor)
▪ Manuelle Audits hängen ausschließlich vom subjektiven Urteilsvermögen ab
© 2017 FATCHIP GmbH – Agentur für Programmierung
Was ist Scrutinizer?
▪ https://scrutinizer-ci.com/
▪ Plattform für automatisierte Code-Reviews und Tests
▪ Findet potentielle Fehler und schlägt bewährte Praktiken vor
▪ Kontrolliert nach konfigurierbaren Coding Style Guidelines
▪ Erzeugt nachvollziehbare Code-Metriken und Reports
▪ Ausführung der Tests in vollwertiger virtueller Umgebung
▪ Anbindung ist möglich mittels GitHub und/oder Bitbucket
▪ Unterstützte Sprachen: PHP, Python, Ruby/Rails, Javascript
© 2017 FATCHIP GmbH – Agentur für Programmierung
© 2017 FATCHIP GmbH – Agentur für Programmierung
Entwicklungsprozess mit Scrutinizer
© 2017 FATCHIP GmbH – Agentur für Programmierung
Beispiel: FatFramework
© 2017 FATCHIP GmbH – Agentur für Programmierung
Konfiguration des Repository
© 2017 FATCHIP GmbH eCommerce Schwergewicht
Konfiguration der Überprüfung
▪ Globale Konfigurationen
▪ Lokale Konfiguration (je Repository)
▪ Lokale Konfiguration ergänzt bzw.
überschreibt globale Konfiguration
▪ Lokale Konfiguration im Backend
und/oder per Konfigurationsdatei
▪ Umgebung leicht konfigurierbar
(z.B. zu verwendende PHP-Version)
▪ Komplexe Builds möglich z.B. mit
Bash, Composer oder Apache Ant
© 2017 FATCHIP GmbH – Agentur für Programmierung
Ergebnisse einer Überprüfung
© 2017 FATCHIP GmbH – Agentur für Programmierung
Metriken für alle Klassen und Methoden
© 2017 FATCHIP GmbH – Agentur für Programmierung
Test Coverage im Überblick
© 2017 FATCHIP GmbH – Agentur für Programmierung
Werbung mit den Metriken
© 2017 FATCHIP GmbH – Agentur für Programmierung
Vorteile und weitere Features
▪ Außer der Konfiguration kein eigener Wartungsaufwand
▪ Vorinstallierte Dienste wie MySQL, MongoDB, Apache2, Redis
▪ Laufend unmittelbare Analysen und Verbesserungsvorschläge
▪ Weniger Zeit und Ressourcen für eine hohe Code-Qualität
▪ Häufige kleine Korrekturen statt großer Änderungskataloge
▪ Dank automatisierter Tests werden Bugs leichter vermieden
▪ Selenium-Tests können ebenfalls durchgeführt werden
▪ Optionales Deployment wenn alle Tests erfolgreich waren
▪ Troubleshooting per SSH-Zugriff auf die virtuelle Umgebung
© 2017 FATCHIP GmbH – Agentur für Programmierung
FATCHIP GmbH
Helmholtzstrasse 2-9
10587 Berlin
www.fatchip.de
E-Mail: kontakt@fatchip.de
Fon: +49 (0)30 – 39 88 93 51
Herzlichen Dank!

Weitere ähnliche Inhalte

Was ist angesagt?

Lohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareLohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareChristian Güdemann
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014WebcsonsultsEU
 
Software Quality Days Presentation Splendit
Software Quality Days Presentation SplenditSoftware Quality Days Presentation Splendit
Software Quality Days Presentation SplenditjSparrow
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenAptly GmbH
 
Kontinuierliche Integration
Kontinuierliche IntegrationKontinuierliche Integration
Kontinuierliche IntegrationJohannes Weber
 

Was ist angesagt? (7)

Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
XPages From Zero To Hero
XPages From Zero To HeroXPages From Zero To Hero
XPages From Zero To Hero
 
Lohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareLohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder Software
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
Software Quality Days Presentation Splendit
Software Quality Days Presentation SplenditSoftware Quality Days Presentation Splendit
Software Quality Days Presentation Splendit
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
Kontinuierliche Integration
Kontinuierliche IntegrationKontinuierliche Integration
Kontinuierliche Integration
 

Ähnlich wie Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer

Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...
Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...
Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...Digicomp Academy AG
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-CodequalitätFotiosKaramitsos
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingIBM Switzerland
 
ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?POINT. Consulting GmbH
 
Firmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AGFirmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AGRoland Löffler
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Teambrandts
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John MuñozSmartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John MuñozJohn Muñoz
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernbergcusy GmbH
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukastencusy GmbH
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Lennart Passig
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsChristian Erhardt
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebAndreas Schmidt
 
10 Fragen vor Testautomatisierung
10 Fragen vor Testautomatisierung10 Fragen vor Testautomatisierung
10 Fragen vor TestautomatisierungClaudia Baur
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenPeter Rozek
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenFotiosKaramitsos
 

Ähnlich wie Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer (20)

Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...
Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...
Swiss IPv6 Council: Wie DevOps den Röstigraben zwischen Systemen und Netzwerk...
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches Testing
 
ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?
 
Firmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AGFirmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AG
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John MuñozSmartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernberg
 
SAP Application Interface Framework (AIF) - Webinar Schnittstellenbetrieb & -...
SAP Application Interface Framework (AIF) - Webinar Schnittstellenbetrieb & -...SAP Application Interface Framework (AIF) - Webinar Schnittstellenbetrieb & -...
SAP Application Interface Framework (AIF) - Webinar Schnittstellenbetrieb & -...
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code Reviews
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
 
10 Fragen vor Testautomatisierung
10 Fragen vor Testautomatisierung10 Fragen vor Testautomatisierung
10 Fragen vor Testautomatisierung
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
 

Kürzlich hochgeladen

Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...NETWAYS
 
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...NETWAYS
 
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...NETWAYS
 
RankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptxRankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptxMichael Weckerlin
 
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle RotterOSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle RotterNETWAYS
 
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...NETWAYS
 

Kürzlich hochgeladen (6)

Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
 
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
 
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
 
RankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptxRankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptx
 
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle RotterOSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
 
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
 

Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer

  • 1. © 2017 FATCHIP GmbH – Agentur für Programmierung Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer Dipl.-Ing. Hendrik Bahr Geschäftsführer FATCHIP GmbH
  • 2. © 2017 FATCHIP GmbH – Agentur für Programmierung Herausforderungen beim Code-Qualitätsmanagement ▪ Manuelle Audits werden zu spät und/oder zu selten durchgeführt ▪ Verschiedener Know How Stand bei Entwicklern im Team ▪ Entwickler müssen sich anhand der Ergebnisse erst wieder “einarbeiten” ▪ Weitere Entwicklungsschritte lassen die Ergebnisse schnell ungültig werden ▪ Oftmals bleibt die Prozessverantwortlichkeit unklar (Entwickler vs. Auditor) ▪ Manuelle Audits hängen ausschließlich vom subjektiven Urteilsvermögen ab
  • 3. © 2017 FATCHIP GmbH – Agentur für Programmierung Was ist Scrutinizer? ▪ https://scrutinizer-ci.com/ ▪ Plattform für automatisierte Code-Reviews und Tests ▪ Findet potentielle Fehler und schlägt bewährte Praktiken vor ▪ Kontrolliert nach konfigurierbaren Coding Style Guidelines ▪ Erzeugt nachvollziehbare Code-Metriken und Reports ▪ Ausführung der Tests in vollwertiger virtueller Umgebung ▪ Anbindung ist möglich mittels GitHub und/oder Bitbucket ▪ Unterstützte Sprachen: PHP, Python, Ruby/Rails, Javascript
  • 4. © 2017 FATCHIP GmbH – Agentur für Programmierung
  • 5. © 2017 FATCHIP GmbH – Agentur für Programmierung Entwicklungsprozess mit Scrutinizer
  • 6. © 2017 FATCHIP GmbH – Agentur für Programmierung Beispiel: FatFramework
  • 7. © 2017 FATCHIP GmbH – Agentur für Programmierung Konfiguration des Repository
  • 8. © 2017 FATCHIP GmbH eCommerce Schwergewicht Konfiguration der Überprüfung ▪ Globale Konfigurationen ▪ Lokale Konfiguration (je Repository) ▪ Lokale Konfiguration ergänzt bzw. überschreibt globale Konfiguration ▪ Lokale Konfiguration im Backend und/oder per Konfigurationsdatei ▪ Umgebung leicht konfigurierbar (z.B. zu verwendende PHP-Version) ▪ Komplexe Builds möglich z.B. mit Bash, Composer oder Apache Ant
  • 9. © 2017 FATCHIP GmbH – Agentur für Programmierung Ergebnisse einer Überprüfung
  • 10. © 2017 FATCHIP GmbH – Agentur für Programmierung Metriken für alle Klassen und Methoden
  • 11. © 2017 FATCHIP GmbH – Agentur für Programmierung Test Coverage im Überblick
  • 12. © 2017 FATCHIP GmbH – Agentur für Programmierung Werbung mit den Metriken
  • 13. © 2017 FATCHIP GmbH – Agentur für Programmierung Vorteile und weitere Features ▪ Außer der Konfiguration kein eigener Wartungsaufwand ▪ Vorinstallierte Dienste wie MySQL, MongoDB, Apache2, Redis ▪ Laufend unmittelbare Analysen und Verbesserungsvorschläge ▪ Weniger Zeit und Ressourcen für eine hohe Code-Qualität ▪ Häufige kleine Korrekturen statt großer Änderungskataloge ▪ Dank automatisierter Tests werden Bugs leichter vermieden ▪ Selenium-Tests können ebenfalls durchgeführt werden ▪ Optionales Deployment wenn alle Tests erfolgreich waren ▪ Troubleshooting per SSH-Zugriff auf die virtuelle Umgebung
  • 14. © 2017 FATCHIP GmbH – Agentur für Programmierung FATCHIP GmbH Helmholtzstrasse 2-9 10587 Berlin www.fatchip.de E-Mail: kontakt@fatchip.de Fon: +49 (0)30 – 39 88 93 51 Herzlichen Dank!