Erfahren Sie, wie die Continuous Quality Platform von Parasoft dabei hilft, Testumgebungen zu steuern und zu verwalten, um zuverlässig hochwertige Software zu liefern. Für Demo registrieren >>
Von Diego Lo GuidiceKeynote der Continuous Delivery Conference:
„Damit Continuous Delivery und Agile erfolgreich sind, müssen wir manuelle Tests von 60-80% des Testaufwands auf 5-20% reduzieren. Es wird niemals verschwinden. Manuelles Testen ist sehr wichtig - manchmal lohnt es sich nicht, etwas zu automatisieren, und manchmal kann man etwas einfach nicht automatisieren.
Wie kann der Automatisierungsgrad auf etwa 60-80% erhöht werden?
Um die Automatisierung zu erhöhen, müssen Sie Gehen Sie über die Benutzeroberfläche hinaus und verwenden Sie API-Tests. Das Testen der Benutzeroberfläche reicht nicht aus, um eine Anwendung zu testen und die Tests für verteilte Anwendungen mit Webdiensten, RESTful-APIs usw. zu automatisieren. Es wird Ihnen nicht helfen, alles zu erfassen, was sich hinter den Kulissen Ihres Web oder Ihrer mobilen App abspielt. Moderne Anwendungen erfordern einen mehrschichtigen und entkoppelten architekturgetriebenen Testansatz. Tatsächlich erfordern Web-, mobile, verbundene Geräte (IoT), Cloud- und Drittanbieter-Services einen mehrstufigen Architektur-gesteuerten Testansatz.
Darüber hinaus unterbrechen die schnellen Rückkopplungsschleifen von Agile häufig nur UI-Testsuiten. Agile Entwicklung fördert Veränderungen. Bei der Entwicklung in kurzen Iterationen werden die automatisierten UI-basierten Testsuiten häufig sofort nach Änderungen unterbrochen, selbst bei einfachen Änderungen des GUI-Layouts oder unerwarteten Änderungen des Verhaltens von Back-End-Diensten. Nicht alle Werkzeuge leiden darunter, aber die meisten traditionellen.
Um nach links zu wechseln und Qualität einzubauen, sollten Sie:
"Shift right" ist ein weiterer Begriff, den wir immer mehr hören. Ein Teil davon ist das Testen in der Produktion. Bei der Rechtsverschiebung müssen auch Analysen und Daten aus der Produktion eingebracht und Überwachungstools in die Hände der Entwickler gelegt werden, damit diese sehen können, wie sich die Anwendung in der Produktion verhält, und diese verwenden, um das Auftreten von Problemen zu verhindern. In diesem Raum passieren alle möglichen großartigen Dinge, und ich denke, wir werden sie immer mehr nutzen. Eine andere Sache, von der wir immer mehr sehen werden, ist die Überwachung sozialer Netzwerke - zu sehen, was die Leute über die Anwendung sagen, und diese in den Bereitstellungszyklus zurückzugeben.
Wie testen Sie in den heutigen komplexen Umgebungen kontinuierlich? Sie haben all diese Abhängigkeiten. ING hat 150 Scrum-Teams. PayPal hat weltweit 680 Scrum-Teams. Stellen Sie sich alle Abhängigkeiten dort vor. Es gibt keinen Manager in diesem Raum, der das schafft, ohne an Abhängigkeiten hängen zu bleiben.
Um dies zu umgehen, müssen Sie anfangen, Dinge zu simulieren – zum Beispiel, wenn Sie keinen Zugriff auf einen Mainframe haben, den Sie zum Testen benötigen, oder wenn Sie gegen einen Drittanbieterdienst testen. Die Service-Virtualisierung ermöglicht es Ihnen, kontinuierlich zu testen und zu integrieren. So beginnen Sie von Anfang an mit Integrationstests. Es führt die Simulation in den Entwicklungsprozess ein. Was für eine Idee! Dies wird in vielen anderen Branchen verwendet, aber wir haben es in der Softwareindustrie nicht wirklich verwendet. Ich stelle mir das gerne wie einen Windkanal vor: Sie stellen das Flugzeug hinein und testen das Flugzeug, indem Sie alle Bedingungen um es herum simulieren. Das müssen wir tun – und Service-Virtualisierung hilft Ihnen dabei.“
Um mehr über Service-Virtualisierung zu erfahren, besuchen Sie bitte: www.parasoft.com/blog/what-is-service-virtualization
Möchten Sie mehr aus der Keynote der Continuous Delivery Conference von Diego Lo Guidice erfahren? Schauen Sie sich diese früheren Blogs und Videos an:
Die branchenführenden automatisierten Softwaretest-Tools von Parasoft unterstützen den gesamten Softwareentwicklungsprozess, vom Schreiben der ersten Codezeile über Unit- und Funktionstests bis hin zu Leistungs- und Sicherheitstests, wobei simulierte Testumgebungen genutzt werden.