Wann lohnt sich Software Testautomatisierung?Claudia Baur
Bei der Umstellung vom manuellen auf automatisiertes Tests ist der ROI eine wichtige Entscheidungsgrundlage: ➽Wann lohnt sich Testautomatiserung? ➽Wann sollte automatisiert werden? ➽Manuelles vs. Automatisiertes Software Testen.
As a student of yourself, what do you feed on to nourish your heart, mind & soul? How satisfied is your everyday life? Are you choosing the right menu?
Why can it be difficult to be kind if not treated kindly first? It has been said the power of initiated love reciprocates tender mercy for those who act from a divinely blessed, kingdom posture. Dare I act in faith like that today with curious attention?
Imagine living free from the admixture or adhesion of anything that soils, adulterates or corrupts. That's the definition of purity. A divine wisdom suggests a pure heart restructures everything including what we see when we look at life and others.
Wann lohnt sich Software Testautomatisierung?Claudia Baur
Bei der Umstellung vom manuellen auf automatisiertes Tests ist der ROI eine wichtige Entscheidungsgrundlage: ➽Wann lohnt sich Testautomatiserung? ➽Wann sollte automatisiert werden? ➽Manuelles vs. Automatisiertes Software Testen.
As a student of yourself, what do you feed on to nourish your heart, mind & soul? How satisfied is your everyday life? Are you choosing the right menu?
Why can it be difficult to be kind if not treated kindly first? It has been said the power of initiated love reciprocates tender mercy for those who act from a divinely blessed, kingdom posture. Dare I act in faith like that today with curious attention?
Imagine living free from the admixture or adhesion of anything that soils, adulterates or corrupts. That's the definition of purity. A divine wisdom suggests a pure heart restructures everything including what we see when we look at life and others.
Metrics we can gain from our (Kanban) system and what we can learn from .. Martin Putz
Foliensatz zum Vortrag "Metrics we can gain from our (Kanban) system and what we can learn from ... " bei der Agile Tour Vienna 2017.
Abstract des Vortrags
In dieser Session wird gezeigt, wie man auf einfache Art und Weise Metriken generieren kann, welche Metriken sinnvollerweise herangezogen werden sollten, und wie diese helfen datenbasierte und somit fundiertere Entscheidungen zu treffen und wie man diese Daten verwenden kann, um das zukünftige Verhalten des Systems zu prognostizieren.
Bewertung von Qualitätsschulden mit dynamischen Daten aus Test und Betrieb - ...QAware GmbH
German Testing Day 2017, Frankfurt: Vortrag von Marcus Ciolkowski (Senior Berater bei QAware).
Abstract: Kontinuierliche Beurteilung der Qualitätsschulden beflügelt die Qualität von Softwareprojekten, für Sanierungsprojekte ebenso wie für Projekte auf der „grünen Wiese“. Wichtig sind die agilen Prinzipien kontinuierliches Feedback und Vermeidung von Broken Windows.
Für statische Kennzahlen (meist Codemetriken) ist das einigermaßen gut bekannt und beherrscht (z.B. mit SonarQube).
Schwieriger zu greifen sind dynamische Kennzahlen für Qualitätsschulden. Beispiele sind Veränderungen von Ausführungszeiten oder Speicherverbrauch in Tests sowie von Ausführungszeiten im Betrieb, die auf schwer sichtbare Abhängigkeiten im Code oder auf Leaks deuten können. Die Daten dafür fallen sogar meistens „nebenbei“ an, z.B. während Unit- und Lasttests, oder in Form von Logfiles.
Existierende Werkzeuge haben allerdings Probleme bei der Messung und ausreichend feingranularer Speicherung der zugehörigen Daten.
Wir zeigen für einen Big Data fähigen Ansatz anhand von Daten aus Unit- und Integrationstest folgende Schritte:
• integrierte Messung von dynamischen Kennzahlen
• feingranulare Speicherung in einer Zeitreihendatenbank als Data Lake
• Überwachung der Kennzahlen per Dashboard
Jedes IT-System stirbt irgendwann und muss durch ein neues System abgelöst werden. Solche Systemablösen bergen zahlreise Herausforderungen: Keine Doku, eine Technologie, die niemand mehr gut kennt, wissende Mitarbeiter sind nicht mehr greifbar, hoher Zeitdruck, großes Risiko im Betrieb etc. - oft eher Organtransplantation, als IT-Projekt.
Im Vortrag möchte ich meine Erfahrungen aus großen Systemablöseprojekten teilen. Wir werden uns ansehen, wie man Methoden aus Requirements Engineering und Reverse Engineering so kombiniert, dass alle notwendigen Anforderungen entdeckt werden. Wir werden sehen, dass die Zusammenarbeit zwischen Fachbereich und IT der kritische Erfolgsfaktor ist, wie man das am Besten organisiert und wie man Use Cases und ein Glossar dabei unterstützend einsetzt.
20191113 dev ops und continuous delivery_testautomatisierung ist trumpfStefan Jobst
„Automate everything“ ist ein viel zitiertes Mantra und vor allem im Continuous Delivery Umfeld nicht wegzudenken. Neben der Automatisierung von Tests liegen hier natürlich auch Potenziale bei Build, Deployment, Bereitstellung von Infrastruktur und Monitoring. Wie die Praxis allerdings zeigt, verbleibt Testing in der Regel dennoch der Flaschenhals. Erstaunlicherweise werden die Potenziale der Testautomatisierung trotz einer langen Tradition dieses Ansatzes in den meisten Fällen nur unzureichend genutzt. Alexander zeigt in seinem Vortrag, warum Testautomatisierung für Continuous Delivery so wichtig ist, und wie man diese vernünftig angeht.
Zum Testen von Software gehören sowohl das Aufspüren von Fehlern während der Entwicklung, als auch die Überprüfung des Gesamtproduktes. Das heißt, man sucht zunächst in einzelnen Codefragmenten nach Fehlern, und überprüft dann das Gesamtpaket auf seine Vollständigkeit und Korrektheit hin. Unzureichende oder unvollständige Dokumentationen führen häufig zu einer unzulänglichen Erfassung von fehlerfhaften Anforderungen. Dies fällt besonders bei sich wiederholenden und sich schnell verändernden PHP-Entwicklungen ins Gewicht. Der Grund dafür ist, dass PHP als nicht typisierte Sprache die Möglichkeit bietet, in hohem Tempo neue Funktionalitäten zu bestehender Software hinzuzufügen und zu ändern. Anwendungsteile, die mit PHP implementiert wurden, bedürfen keiner Neukompilierung. Die Genauigkeit des Gesamtkontextes kann noch während der Laufzeit des Prozesses geprüft werden. Des Weiteren muss auch sichergestellt werden, dass die Rückgabewerte von Methoden der Quellcode-Dokumentation bzw. dem erwarteten Typ entsprechen. In Projekten mit größeren Teams wird es häufig zur Wiederverwendung von Komponenten – oft auch in einem vom Software-Autor nicht erwarteten Kontext – kommen. Somit ist immer noch das Wichtigste nicht genannt: Sind neue Funktionen korrekt umgesetzt, und funktioniert die alte Funktionalität noch?
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Florian Wolters
German slides that give a overview about developer tests in the C++ programming language. It tries to underline the dependencies between software design, clean code, software quality and the software testing activity itself.
Metrics we can gain from our (Kanban) system and what we can learn from .. Martin Putz
Foliensatz zum Vortrag "Metrics we can gain from our (Kanban) system and what we can learn from ... " bei der Agile Tour Vienna 2017.
Abstract des Vortrags
In dieser Session wird gezeigt, wie man auf einfache Art und Weise Metriken generieren kann, welche Metriken sinnvollerweise herangezogen werden sollten, und wie diese helfen datenbasierte und somit fundiertere Entscheidungen zu treffen und wie man diese Daten verwenden kann, um das zukünftige Verhalten des Systems zu prognostizieren.
Bewertung von Qualitätsschulden mit dynamischen Daten aus Test und Betrieb - ...QAware GmbH
German Testing Day 2017, Frankfurt: Vortrag von Marcus Ciolkowski (Senior Berater bei QAware).
Abstract: Kontinuierliche Beurteilung der Qualitätsschulden beflügelt die Qualität von Softwareprojekten, für Sanierungsprojekte ebenso wie für Projekte auf der „grünen Wiese“. Wichtig sind die agilen Prinzipien kontinuierliches Feedback und Vermeidung von Broken Windows.
Für statische Kennzahlen (meist Codemetriken) ist das einigermaßen gut bekannt und beherrscht (z.B. mit SonarQube).
Schwieriger zu greifen sind dynamische Kennzahlen für Qualitätsschulden. Beispiele sind Veränderungen von Ausführungszeiten oder Speicherverbrauch in Tests sowie von Ausführungszeiten im Betrieb, die auf schwer sichtbare Abhängigkeiten im Code oder auf Leaks deuten können. Die Daten dafür fallen sogar meistens „nebenbei“ an, z.B. während Unit- und Lasttests, oder in Form von Logfiles.
Existierende Werkzeuge haben allerdings Probleme bei der Messung und ausreichend feingranularer Speicherung der zugehörigen Daten.
Wir zeigen für einen Big Data fähigen Ansatz anhand von Daten aus Unit- und Integrationstest folgende Schritte:
• integrierte Messung von dynamischen Kennzahlen
• feingranulare Speicherung in einer Zeitreihendatenbank als Data Lake
• Überwachung der Kennzahlen per Dashboard
Jedes IT-System stirbt irgendwann und muss durch ein neues System abgelöst werden. Solche Systemablösen bergen zahlreise Herausforderungen: Keine Doku, eine Technologie, die niemand mehr gut kennt, wissende Mitarbeiter sind nicht mehr greifbar, hoher Zeitdruck, großes Risiko im Betrieb etc. - oft eher Organtransplantation, als IT-Projekt.
Im Vortrag möchte ich meine Erfahrungen aus großen Systemablöseprojekten teilen. Wir werden uns ansehen, wie man Methoden aus Requirements Engineering und Reverse Engineering so kombiniert, dass alle notwendigen Anforderungen entdeckt werden. Wir werden sehen, dass die Zusammenarbeit zwischen Fachbereich und IT der kritische Erfolgsfaktor ist, wie man das am Besten organisiert und wie man Use Cases und ein Glossar dabei unterstützend einsetzt.
20191113 dev ops und continuous delivery_testautomatisierung ist trumpfStefan Jobst
„Automate everything“ ist ein viel zitiertes Mantra und vor allem im Continuous Delivery Umfeld nicht wegzudenken. Neben der Automatisierung von Tests liegen hier natürlich auch Potenziale bei Build, Deployment, Bereitstellung von Infrastruktur und Monitoring. Wie die Praxis allerdings zeigt, verbleibt Testing in der Regel dennoch der Flaschenhals. Erstaunlicherweise werden die Potenziale der Testautomatisierung trotz einer langen Tradition dieses Ansatzes in den meisten Fällen nur unzureichend genutzt. Alexander zeigt in seinem Vortrag, warum Testautomatisierung für Continuous Delivery so wichtig ist, und wie man diese vernünftig angeht.
Zum Testen von Software gehören sowohl das Aufspüren von Fehlern während der Entwicklung, als auch die Überprüfung des Gesamtproduktes. Das heißt, man sucht zunächst in einzelnen Codefragmenten nach Fehlern, und überprüft dann das Gesamtpaket auf seine Vollständigkeit und Korrektheit hin. Unzureichende oder unvollständige Dokumentationen führen häufig zu einer unzulänglichen Erfassung von fehlerfhaften Anforderungen. Dies fällt besonders bei sich wiederholenden und sich schnell verändernden PHP-Entwicklungen ins Gewicht. Der Grund dafür ist, dass PHP als nicht typisierte Sprache die Möglichkeit bietet, in hohem Tempo neue Funktionalitäten zu bestehender Software hinzuzufügen und zu ändern. Anwendungsteile, die mit PHP implementiert wurden, bedürfen keiner Neukompilierung. Die Genauigkeit des Gesamtkontextes kann noch während der Laufzeit des Prozesses geprüft werden. Des Weiteren muss auch sichergestellt werden, dass die Rückgabewerte von Methoden der Quellcode-Dokumentation bzw. dem erwarteten Typ entsprechen. In Projekten mit größeren Teams wird es häufig zur Wiederverwendung von Komponenten – oft auch in einem vom Software-Autor nicht erwarteten Kontext – kommen. Somit ist immer noch das Wichtigste nicht genannt: Sind neue Funktionen korrekt umgesetzt, und funktioniert die alte Funktionalität noch?
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Florian Wolters
German slides that give a overview about developer tests in the C++ programming language. It tries to underline the dependencies between software design, clean code, software quality and the software testing activity itself.
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?René Spengler
Das Testmanagement wird im agilen Entwicklungsprozess wie Scrum vom Team getragen. Doch kann das Scrum-Team die Aufgaben eines Testmanagers vollumfänglich wahrnehmen? Der Vortrag folgt den Aufgaben des Testmanagers und vergleicht die Umsetzung in klassischen und agilen Arbeitsumfeldern. Am Ende steht die Frage, ob man in Scrum noch einen Testmanager braucht.
Referenten:
Kay Grebenstein, Saxonia Systems AG
René Spengler, ANECON Software Design und Beratung GmbH
Agiles Testen (z.B. in Scrum, Kanban, XP) ist zu einem unverzichtbaren Bestandteil agiler Softwareentwicklung geworden.
Testen in agilen Entwicklungsprojekten unterscheidet sich vom klassischen Testen in erster Linie dadurch, dass Testen eine präventive Maßnahme ist und dass die Tests viel häufiger ausgeführt werden müssen. Der Fokus liegt dabei in der Einbindung von Testern unter Beachtung des agilen Manifests und der Anwendung agiler Prinzipien auf das Testen, wie beispielsweise schnelles Feedback, hoher Automatisierungsgrad, Auflösung starrer Teststufen, enge Zusammenarbeit in selbstorganisierten Teams.
Inhalt
- Definition
- Agiles Testen im Team
- Testkategorien
- Unit-Tests
- TDD/ATDD/BDD
- 3 Amigo
- Akzeptanztests
- Exploratives Testen
- Continuous Integration, Delivery & Deployment
- Integration in Scrum
- Genereller Umgang mit Bugs
Diesen Vortrage habe ich auf den Clean Code Developer Days 2013 gehalten. In diesem Vortrag geht es um folgende Themen:
statische Codeanalyse
Testdriven Development
Refactoring
Continuous Integration
Reviews
Coding Standards
Coding Dojos
Viel Spaß beim Anschauen.
http://www.www.claudioaltamura.de
3. 1.Anlass
● Iterative Entwicklung
● „Wie verändert sich die Qualität unserer
Software pro Iteration? Wie können wir das
ausdrücken?“
➔ Qualitätsmetriken
14. 4.Bessere Metriken?
4.Performance
● Mittel: Dauer von Testdurchläufen messen
● Ergebnis: Geschwindigkeit jedes Tests
● Aussage: Wurde durch ein neues Feature
bestehende Funktionalität verlangsamt?
15. 4.Bessere Metriken?
4.Performance
● Mittel: Dauer von Testdurchläufen messen
● Ergebnis: Geschwindigkeit jedes Tests
● Aussage: Wurde durch ein neues Feature
bestehende Funktionalität verlangsamt?
➔ OK, leider schwer umsetzbar
16. 4.Bessere Metriken?
5.Produktivität pro Iteration
● Mittel: Implementierte Features & gelöste Bugs
pro Iteration zählen
● Ergebnis: Anzahl abgeschlossener Aufgaben
● Aussage: Gibt es Fortschritt?
17. 4.Bessere Metriken?
5.Produktivität pro Iteration
● Mittel: Implementierte Features & gelöste Bugs
pro Iteration zählen
● Ergebnis: Anzahl abgeschlossener Aufgaben
● Aussage: Gibt es Fortschritt?
➔ ABGELEHNT, da Aufwand von Aufgabe zu
Aufgabe variiert
18. 4.Bessere Metriken?
6.Testqualität
● Mittel: Testabdeckung
● Ergebnis: Testabdeckung pro Projekt, reduziert
auf Testdurchläufe aus dazugehörigem
Testprojekt
● Aussage: Machen wir TDD richtig?
19. 4.Bessere Metriken?
6.Testqualität
● Mittel: Testabdeckung
● Ergebnis: Testabdeckung pro Projekt, reduziert
auf Testdurchläufe aus dazugehörigem
Testprojekt
● Aussage: Machen wir TDD richtig?
➔ OK