 RSS-Feed
|
|
|
Was ist der IT-Radar?
Die IT-Trends von morgen - Wissen aus der angewandten Forschung für Entscheider. Das ist der IT-Radar! Laufend entstehen neue Methoden, Verfahren, Technologien, Standards und Werkzeuge für Unternehmens-IT. Um da den Überblick zu haben, zu wissen, was ein wirklich zukunftsfähiger Trend und was nur ein leerer Begriff ist, lohnt ein Blick in die angewandte Forschung.
|
|
science business wissenschaft it radar universität ceo university
|
|
Hinzugefügt am 08.10.2010 - 15:44:03 von itradar
|
|
|
|
http://www.it-radar.org/serendipity/
|
|
|
|
 RSS-Feed - Einträge
|
|
|
|
|
|
|
Nachdem es im ersten Teil des IT-Radar Interviews mit Prof. Mädche um Usability als Wettbewerbsfaktor ging, stehen im zweiten Teil aktuelle Trends in diesem Bereich im Zentrum unseres Interesses. Vordergründige Aufmerksamkeit schenkten wir dabei beispielsweise den Fragen, wie technologische Neuerungen die Gestaltung gebrauchstauglicher Softwareprodukte beeinflußen und welche dieser Trends Unternehmen im Sinne ihrer Kunden aufgreifen sollten.
Druckversion des Interviews als PDF herunterladen
Interview zum Thema "Usability" - Teil 2/3 (MP3, ca. 10 MIN)Weitere Artikel zum Thema...Teil 1 des Interviews: Usability als Wettbewerbsfaktor Das Interview zum NachlesenDie Möglichkeiten, Produkte gebrauchstauglich zu gestalten, scheinen sehr stark mit den technischen Neuerungen zusammenzuhängen und sich zu verändern. Gerade zurzeit erleben wir einen Umbruch, so sind zum Beispiel Touch- und Gestensteuerung, wie wir sie von Smartphones oder Tablets kennen, vielleicht bald auch auf Desktop-Computern zu benutzen. Die Nutzer erwarten Mobilität von Geräten, Anwendungen sowie Daten und sie möchten möglichst jederzeit vollen Zugriff auf ihre gewohnten Anwendungen haben. Sensoren rücken von der Spezialanwendung in eingebetteten Systemen in viele alltägliche Smartphone-Apps vor, und nicht zuletzt demonstrieren Programme wie Siri, was sie im Bereich der Spracherkennung und -synthetisierung erreichen können und was möglich geworden ist.
Von welchem dieser neuen Trends erwarten sie denn die stärksten Impulse für den Bereich Usability?Ich denke es gibt diesbezüglich zwei Kategorien. Zum einen sind das innovative Webanwendungen, die intensiv im Privatleben genutzt werden. Dafür kann ich als Beispiele Facebook oder auch Dropbox, ein Dokumentenmanagementsystem, nennen. Solche Anwendungen prägen Nutzeranforderungen dann auch im geschäftlichen Umfeld, da sie meiner Meinung nach sehr schön zeigen, wie man intuitive und benutzbare Software gestalten kann. Das ist die eine Seite.
Die andere Seite umfasst die ganze mobile Welt und somit sowohl die Smartphones als auch die Tablets. Dabei ist es egal, ob es Geräte von Apple sind oder ob sie mit Google-Android laufen. Man sieht hier schon ganz klar, wo die Reise hingeht und das prägt natürlich auch die Anforderungen in Bezug auf Anwendungssoftware, da die Anwender eben sehen, was heutzutage alles möglich ist. Es gibt dann keinen Grund, weshalb im unternehmerischen oder im betrieblichen Umfeld die Anwendungen nicht entsprechend gestaltet werden sollten.Nun hört man gelegentlich auch Stoßseufzer von erfahrenen Anwendern, denn viele dieser technischen Neuerungen erscheinen ihnen eher als Rückschritte, so zum Beispiel die komplette Umgestaltung der Office-Programme von Microsoft, von der Menüsteuerung auf die sogenannten Ribbons und vergleichbare Beispiele. Sind das nur Anekdoten und Sentimentalitäten oder gibt es wissenschaftliche Hinweise darauf, dass derartige Umstellungen auch starke Rückschritte sein können?Wenn sie sich die Usability-Definition anschauen – Usability ist nach der ISO-Norm 9241 definiert als das Ausmaß, in dem ein Produkt durch bestimmte Nutzer in einem bestimmten Nutzungskontext genutzt werden kann, um bestimmte Ziele effektiv effizient und zufriedenstellend zu erreichen – dann sind die Stoßseufzer absolut berechtigt, da leider der Nutzungskontext oft nicht berücksichtigt wird.
Das beste Beispiel dafür kann ich Ihnen selbst berichten: der Umstieg von einem Blackberry auf ein Smartphone. Die Effizienz eine Kurznachricht in ein Blackberry einzutippen ist aus meiner Sicht unschlagbar. Es ist nun einmal so, dass Benutzer, die sehr viele Nachrichten schreiben, mit einer Tastatur, wie sie ein Blackberry anbietet, viel besser bedient sind als mit den Möglichkeiten, die ihnen ein Smartphone bietet. Und dafür ist die Berücksichtigung des Nutzerkontextes entscheidend. Wenn ich sehr viel im Internet browse, navigiere und wenig schreibe, dann ist ein Smartphone toll. Wenn ich primär ein Business-User bin, dessen Schwerpunkt im Umgang mit dem Gerät auf der Kommunikation liegt, dann bin ich nach wie vor mit einem Blackberry gut bedient.
Und das können sie direkt auf transaktional orientierte Sachbearbeiter übertragen: Wenn ich Massendaten verarbeiten will, dann brauche ich keine interaktiven Benutzerschnittstellen, sondern – ähnlich, wie es Cobol früher gemacht hat – effiziente Masken, in denen ich zum Beispiel mit der Tabulator-Taste navigieren kann, um meine Dateneingabe möglichst effizient zu gestalten.
Sprich: Ich muss einfach verstehen, was der Nutzugskontext ist und entsprechend gestalten. Das ist Usability. Es geht nicht darum möglichst hübsche User-Interfaces zu schaffen, sondern solche, die möglichst gut für einen bestimmten Benutzungskontext geeignet sind und einem Benutzer dabei helfen, seine Ziele zu erreichen.Kann man denn sagen, wenn ein Unternehmen entscheiden soll, ob es die angesprochenen technischen Neuerungen mit einbezieht oder nicht, ist ein wesentlicher Aspekt der Nutzungskontext? Und gibt es da noch weitere Aspekte, die relevant sind?Ich denke man kann das noch etwas generalisieren. Ich glaube man muss einfach feststellen, die Unternehmen müssen in sehr enger Zusammenarbeit mit ihren Kunden ihre Produkte entwickeln, von der ersten Idee zur Evolution, während des Entwicklungsprozesses aber auch zur formalen Evolution am Abschluss der Produktentwicklung. Außerdem muss dies mit konkreten Metriken gemessen werden.
Ich denke generell, ein reines Kopieren der Usabilty-Konzepte vom Wettbewerber reicht nicht aus, denn damit geht natürlich auch das Alleinstellungsmerkmal von meinem Produkt etwas verloren. Viel wichtiger ist es, zu verstehen, was wünscht sich mein Kunde, was macht mich einzigartig und wie integriere ich die unterschiedlichen Technologietrends und die Konzepte. Die Trends und Konzepte müssen aber übersetzt werden und mit kopieren ist es da ganz sicher nicht getan. Ich bin überzeugt, dass man sich dabei wirklich stark am Kunden orientieren und den Nutzungskontext verstehen muss, um dann eben möglichst gute Lösungen kundengerecht zu entwickeln.Trotzdem lassen sich ja Trends erkennen, beispielsweise wurde früher die Integration möglichst vieler Aufgaben in immer mächtigere Anwendungen gefordert und auch umgesetzt, dagegen scheint sich mit den als Apps bekannten Single-Purpose-Anwendungen der Trend eher umgekehrt zu haben. Zunächst: Können Sie diese Beobachtung denn bestätigen?Ja, absolut. Den Trend sieht man ja auch im Bereich der Anwendungssoftware. Als konkretes Beispiel kann ich hier die SAP nennen: Die SAP hat für sehr viel Geld den On-Demand-Softwarehersteller SuccessFactors gekauft, der Personalmanagementlösungen herstellt, die das Kernprodukt der Enterprise-Ressource-Planning-Software komplementieren. Das ist sehr ähnlich zum App-Gedanken. Man hat eine spezifische, für eine Fachabteilung zugeschnittene Applikation, die on-demand und ergänzend zu dem Integrationssystem angeboten wird, welches eben Enterprise-Ressource-Planning ist. Auch im Business-Umfeld sieht man also ganz klar, dass es wieder so eine Art Dezentralisierung gibt, zumindest zu einem bestimmten Grad.Was könnten im technologischen Umfeld die Ursachen für diese Trendwende sein?Wenn man in die Vergangenheit schaut, ist es so, dass das ja alles schon einmal da war. Es gab funktionale Systeme, die sehr spezifisch für die jeweiligen Fachbereiche eines Unternehmens zugeschnitten wurden. Dann hat man versucht alles zu integrieren und zu einem bestimmten Grad gleich zu machen und zu zentralisieren.
Wenn man zentralisiert und integriert, hat man jedoch geringere Flexibilität und Agilität und dabei stellt sich natürlich immer die Frage, auf welche Kosten das geht. Jetzt merkt man einfach, dass die Dezentralisierung wieder mehr Flexibilität sowie eine Spezialisierung auf die eigentlichen Bedürfnisse der jeweiligen Fachbereiche schafft. Das ist aus meiner Sicht genau das, was die Treiber dafür sind.
Das heißt, man kann metaphorisch von einem Pendel sprechen, dass gerade wieder in die eine Richtung schlägt. Ist denn vielleicht absehbar, wann sich das Pendel wieder in die andere Richtung bewegen wird?
Die IT-Branche ist ja durch Pendel gekennzeichnet. Es gab früher Mainframes, dann gab es Client/Server, jetzt gibt es Cloud. Ich glaube daran, dass diese Pendel einfach Teil unserer Branche sind. Ich glaube aber auch, dass man einen guten Mittelweg finden kann, auch in Bezug auf das ganze Thema Integration.
Die Kunst ist es doch, einen stabilen harmonisierten Kern zu schaffen und um diesen Kern dann Flexibilität zu ermöglichen. Es hilft ja nichts, wenn ich nur noch dezentrale Applikationen habe und keine harmonisierten Stammdaten. Das führt ja letztendlich zum Chaos und im Unternehmen habe ich Redundanzen und Inkonsistenzen. Es hat einen guten Grund, dass man integriert. Man muss sich nur sehr gut überlegen, wie weit integriere ich und wo mache ich vielleicht so eine Art „break-out“, wo dann eben nicht der maximale Grad an Integration geschaffen wird. Diese Kunst der Balance ist nicht immer leicht zu finden und das wird letztendlich in Zukunft auch noch eine Herausforderung bleiben. Ich glaube allerdings schon, dass diese Pendel schwingen und dass sie auch noch eine ganze Weile weiterschwingen werden.In der nächsten Ausgabe können Sie mehr über die Ausbildung von Usability-Professionals und die Zukunft der Usability in Deutschland erfahren!Das Interview führten Katharina König und Philipp Rothmann
|
|
16.05.2012 - 10:01:00
|
|
http://www.it-radar.org/serendipity/archives/113-Aktuelle-Usability-Trends.html
|
|
|
|
|
|
|
Usability spielt eine zunehmend bedeutende Rolle bei der Entscheidung für oder gegen ein Softwareprodukt. Die Gebrauchstauglichkeit ist bei der Auswahl einer Software mittlerweile mindestens so wichtig wie klassische Kriterien, etwa die Funktionalität. Während allerdings das Thema Usability im Kontext bestimmter Produkte gut erforscht ist, ist das Feld der wissenschaftlichen Beiträge, welche sich mit der Integration und Bedeutung von Software-Usability im Unternehmenskontext auseinandersetzen, noch überschaubar.
Haben die deutschen Softwarehersteller die Bedeutung von Usability bereits erkannt und nutzen ihre Chancen? Wie lässt sich Usability optimal in den Softwareherstellungsprozess integrieren? Und nicht zu letzt: Welche Bedeutung haben aktuelle Software-Trends wie die zunehmende Verbreitung von Apps für die Usability im Unternehmenskontext?Prof. Dr. Mädche mit Redakteurin Katharina KönigÜber diese und viele weitere spannende Fragen sprechen wir mit Prof. Dr. Alexander Mädche im aktuellen IT-Radar Interview. Prof. Mädche leitet den Lehrstuhl für Wirtschaftsinformatik IV und das Institut für Enterprise Systems an der Universität Mannheim.
Weitere Informationen zu Prof. Dr. Alexander Mädche finden Sie auf den Webseiten des Forschungsprojektes "Usabiliy in Deutschland".
Teil 1 des Interviews: Usability als WettbewerbsfaktorTeil 2 des Interviews: Aktuelle Usability-Trends
|
|
27.04.2012 - 08:53:00
|
|
http://www.it-radar.org/serendipity/archives/111-Usability-in-Deutschland.html
|
|
|
|
|
|
|
Beim Thema „Green IT“ denken viele zunächst an ressourcenschonende Rechenzentren, umweltfreundliche Hardwareherstellung oder sparsame Prozessoren. Welche Potentiale allerdings im Bereich von „grünen“ Softwareprodukten liegen, wird häufig nicht bedacht.
Das Interview mit Prof. Stefan Naumann und Markus Dick vom Forschungsprojekt "Greensoft" auf it-radar.org:
Teil 1 des Interviews: Was ist eigentlich "grüne" Software?Teil 2 des Interviews: Das GreenSoft ReferenzmodellTeil 3 des Interviews: Nachhaltigkeit in UnternehmenTeil 4 des Interviews: Die Zukunft von grüner SoftwareDas gesamte Interview als PDF herunterladenDas gesamte Interview als MP3 herunterladen
(MP3, ca. 32 Min.)Trailer zum Interview "Green-IT" von IT-Radar auf Vimeo.
Weitere Informationen zum Forschungsprojekt "Greensoft" finden Sie hier: Forschungsprojekt Greensoft
|
|
28.02.2012 - 10:44:47
|
|
http://www.it-radar.org/serendipity/archives/106-Green-IT-im-Fokus.html
|
|
|
|
|
|
|
Cloud Computing ist seit geraumer Zeit ein Hype-Thema und es wird viel darüber geredet. Im Gegensatz zu anderen Hypes lässt sich jedoch tatsächlich eine zunehmende Nutzung und damit einhergehend ein Trend zur Verlagerung von Diensten in die Cloud verzeichnen.
Die Big Player der Softwareindustrie IBM, Google, Microsoft und mittlerweile auch Apple bieten cloud-basierte Dienste an. Amazon war einer der Vorreiter auf diesem Gebiet, heute sind die Cloud-Dienste der am schnellsten wachsende Geschäftsbereichs des Online-Versandhändlers. Doch nicht nur die Großen der Branche setzen auf Cloud Computing, auch die kleinen und mittelständischen Unternehmen bieten zunehmend cloud-basierte Dienstleistungen an oder greifen zumindest für die Bereitstellung von Diensten auf eine Cloud-Infrastruktur zurück.
Das Bereitstellen von Softwarediensten in der Cloud wirft jedoch auch einige neue Fragen auf: Muss Software, die in der Cloud ausgeführt wird anders getestet werden, als Software, die auf dem Desktop ausgeführt wird? Bietet die Etablierung des Cloud Computings neue Möglichkeiten für das Testen von Software im Allgemeinen? Zu diesem Thema gibt es bislang eine übersichtliche Menge an Forschungsarbeiten, doch die Anzahl der Wissenschaftler, die sich diesem Thema widmen und somit auch die Anzahl der entsprechenden Arbeiten, steigt stetig an.
Der IT-Radar geht diesen Fragen nach und gibt im IT-Radar Report einen Überblick über den Stand der Forschung sowie Forschungsfragen, die noch bearbeitet werden müssen.
Druckversion als PDF herunterladen... Cloud Computing
Es gibt keine einheitliche Definition von Cloud Computing. Wissenschaftler und Anbieter von Cloud-Diensten definieren Cloud Computing im Detail stets unterschiedlich. Der gemeinsame Nenner
ist, dass sich eine Cloud-Anwendung über einen einfachen (On-Demand-) Zugriff auf skalierbare Speicherdienste, Rechen- oder Netzwerkinfrastruktur definiert. Weiterhin wird Cloud Computing hinsichtlich
des angebotenen Service-Modells und des Deployment-Modells unterschieden. Dabei werden die folgenden Service- und Deployment-Modelle unterschieden:
Service-Modelle:
1. Software as a Service (SaaS)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS)
Deployment-Modelle:
1. Private Clouds
2. Community Clouds
3. Public Clouds
4. Hybrid Clouds
Nach diesen Kriterien definiert auch das US National Institute of Standards and Technology (NIST) den Terminus Cloud Computing. Die Service- und Deployment-Modelle sind dabei genauso Veränderungen
unterworfen, wie das Cloud Computing selbst. Das bedeutet, dass es zukünftig weitere Service- und Deployment-Modelle geben wird. Wie zum Beispiel Human as a Service (HaaS), das auf
Crowdsourcing zurückgreift und wofür bereits heute entsprechende Dienste verfügbar sind.
Testen in der Cloud
Die Art und Weise des Testens in der Cloud ist eine grundsätzliche Frage. Dabei muss unterschieden werden, ob Software getestet wird, die in der Cloud als Software as a Service bereitgestellt wird,
ob Standard-Web-Anwendungen getestet werden, oder ob die Cloud selbst getestet werden soll. Die Cloud nimmt beim Test dann entweder die Rolle des „System under Test (SUT)“, oder die des Testtreibers ein.
Software Testing as a Service
Der Klassifikation der Service-Modelle folgend kann Software Testing as a Service als eigenständiges Modell die Reihe der Service-Modelle erweitern. Das Ziel ist hierbei, das Testen von Software
als Dienst in der Cloud anzubieten. Die Bereitstellung des Dienstes kann dabei über eine Software erfolgen, die in der Cloud als Software as a Service bereitgestellt wird, oder als Service, der vollständig
von einem Menschen als Testdienstleister bereitgestellt wird. Im Aufsatz „Research Issues for Software Testing in the Cloud“ [1] werden für dieses Service-Modell drei Facetten identifiziert:
1. Die zu testende Anwendung ist online. Es
kann sich dabei um eine Software as a Service
(SaaS) handeln oder um eine Standard-Web-
Anwendung.
2. Die Testinfrastruktur ist auf verschiedenen
Plattformen und Cloud-Deployment-Modellen
(Private, Community, Public oder Hybrid)
bereitgestellt.
3. Die Cloud selbst soll getestet werden, zum
Beispiel mit dem Ziel die Lastleistung und
Sicherheit zu bestimmen.
Diese Facetten zeigen die vielfältigen Möglichkeiten und Spielarten für den Einsatz von Softwaretests in
der Cloud. So ist es nicht nur möglich Web-Anwendungen zu testen, egal ob es sich um eine Standard-Web-Anwendung handelt oder eine Software as a
Service oder auch die Cloud selbst.
Beispiele
Es gibt bereits einige Beispiele, die den erfolgreichen Einsatz von Cloud Computing im Softwaretest dokumentieren. Diese werden im Folgenden dargestellt und deren wichtigste Ergebnisse usammengefasst. Die Lektüre der Artikel ist für Anwender des cloud-basierten Testens sehr zu empfehlen.
Test eines Network Management Systems
[2] beschreibt den Test eines Network-Management-Systems (NMS) für ein VoIP-System. Die Cloud wurde aufgrund der Skalierbarkeit gewählt. Ausgeführt wurden die Tests auf Amazons Elastic
Cloud 2 (EC2). Die erzielten Ergebnisse sind beeindruckend, insbesondere die Kosten sind mit 120$ überschaubar.
York Extensible Testing Infrastructure
Der Artikel [3] stellt den Einsatz der York Extensible Testing Infrastructure (YETI) dar, einem automatisierten Werkzeug für den Zufallstest in der Cloud. Obwohl YETI zu den schnellsten Werkzeugen seiner
Art zählt, gibt es Performanceprobleme bei dem Testen umfangreicher Software. Es wurde beobachtet, dass die Ausführungsgeschwindigkeit von 106 Methodenaufrufen pro Minute auf 10³ Methodenaufrufe
pro Minute sinken kann. Darüber hinaus gibt es auch Sicherheits-Probleme von YETI, die durch den Einsatz in der Cloud gelöst werden konnten. Es wird gezeigt, dass durch den intensiven
Einsatz paralleler Rechenkapazität in der Cloud, die Performanceprobleme von YETI gelöst werden konnten.
Cloud9
[1] beschreibt Cloud9, einen cloud-basierten Ansatz, der auf einer parallelen symbolischen Ausführung (symbolic execution) basiert. Symbolic Execution ist eine Technik des Softwaretests. Sie wird der Methodik der statischen Analyse zugeordnet und verwendet eine formale mathematische Beschreibung. Das zu testende Programm wird nicht ausgeführt, es wird lediglich der Quellcode untersucht.
Das Problem solcher Analyseverfahren ist die hohe Komplexität und der große Rechenaufwand, den sie erfordern. Der Ansatz bei Cloud9 ist, dass die Skalierbarkeit der symbolischen Ausführung (bzw.
der Engine, die sie ausführt) verbessert wird und dann mittels einer skalierenden Cloud-Lösung effizient eingesetzt wird. Die erzielten Ergebnisse zeigen, dass diese Lösung um ein bis zwei Größenordnungen schneller ist, als eine übliche Engine zur symbolischen Ausführung. Getestet wurde diese Lösung ebenfalls auf der Amazon Elastic Cloud 2 (EC2).
Themen der Forschung
Das zentrale Ansinnen des Aufsatzes [4] liegt darin, Forschungsbereiche aus dem Themengebiet Softwaretests in der Cloud zu identifizieren, die für die Wirtschaft eine große Rolle spielen. Dazu
interviewten Forscher der Technischen Universität Lappeenranta, Finnland, eine Reihe von Unternehmen aus verschiedenen Teilbranchen der IT-Industrie. Die Interviewpartner waren Angestellte
mit Leitungspositionen, vom Software Manager bis zum CEO. Aus deren Antworten zogen die Wissenschaftler Rückschlüsse auf die Bereiche, denen sich die Forschung im Bereich Softwaretests in der
Cloud widmen sollte. Es wurden drei Bereiche von Forschungsfragen identifiziert: Anwendungen, Management sowie rechtliche und finanzielle Aspekte. Die identifizierten Forschungsfragen werden im
Folgenden, geordnet nach den identifizierten Kategorien, wiedergeben. Auch wenn in dem Aufsatz noch weitere Forschungsfragen diskutiert werden, geben wir nur die aus unserer Sicht relevanten Fragen
wieder.
Anwendungsfragen
Geeignete Anwendungen
Anbieter und Anwender von Softwaretests in der Cloud sind vor allem daran interessiert zu wissen, welche Kategorien von Anwendungen sich cloud-basiert testen lassen. Dabei gilt es zu berücksichtigen,
dass die Akzeptanz für das Testen von kritischen Systemen (beispielsweise aus dem Finanzsektor) mit Hilfe einer Public Cloud gering sein kann. Da es sich bei solchen Systemen sehr häufig
um datenintensive Systeme handelt, würden gerade diese von einem solchen Test profitieren.
Qualität des Testprozesses
Nutzer wollen die Qualität des Testprozesses garantiert wissen, ebenso wie die Qualität der Anwendung, die zu testen ist. Die Herausforderung für die Wissenschaft ist, die cloud-basierten Testprozesse
bezüglich ihrer Qualität vergleichbar zu bewerten. Das ist schwierig, da Qualität ein komplexes Kriterium ist und es sich aus mehreren Qualitätseigenschaften zusammensetzt, die subjektiv unterschiedlich
stark gewichtet werden. Forschungsarbeiten zur Qualitätsbewertung von Prozessen und Werkzeugen müssen aber nicht von neuem beginnen, sondern können auf eine Vielzahl an wissenschaftlichen
Arbeiten zurückgreifen.
Cross-Cloud Testing
Aus Sicht des Kunden ist es sinnvoll, dass sich die Art und Weise des Monitorings und des Managements seiner Testanwendung unter verschiedenen Anbietern nicht unterscheidet. Dieser Wunsch ist nicht spezifisch für das Testen in der Cloud, es ist vielmehr auch ein Wunsch nach einer Harmonisierung von Cloud-Diensten im Allgemeinen. Die Herausforderung besteht darin eine solche Harmonisierung herzustellen.Cloud-Testing-Lösungen für spezielle Anwendungsklassen
Es darf die Hypothese geäußert werden, dass der Test von verschiedenen Anwendungen derselben Anwendungsklasse auch nach dem gleichen oder zumindest einem ähnlichem Schema abläuft. Der
Wunsch nach standardisierten Testlösungen für bestimmte Anwendungsklassen ist ein alter Traum des Software-Engineerings. Die Nützlichkeit und (Teil-)Realisierbarkeit einer solchen Lösung ist unter dem
Gesichtspunkt der besonderen Leistungsfähigkeit des Cloud Computings neu zu untersuchen.
Managementfragen
Pool von Testern
Einer der greifbaren Vorteile für den Einsatz von Cloud Computing ist die erhöhte Ausfallsicherheit und ständige Verfügbarkeit der Maschinen und damit der Rechenleistung und ihrer Daten. Diese wird
ermöglicht durch mehrfache Redundanz, schnelle Migration von logischen Diensten und weiteren Hilfsmitteln. Für den Softwaretest sind häufig noch manuelle Interaktionen nötig. Eine Migration von
Testdienstleistungen in die Cloud muss auch diesen Umstand berücksichtigen. Das kann beispielsweise durch einen Pool von Testern, der eine 24/7 Verfügbarkeit ermöglicht, sichergestellt werden. Lösungen, die in diese Richtung gehen gibt es bereits, siehe uTest [5]. Hier werden Testdienstleistungen über Crowdsourcing angeboten. Die Tiefe, der Umfang und die Art der Leistung lässt sich recht frei
zusammenstellen. Solche Lösungen sind in das Service-Modell Human-as-a-Service (HaaS) einzuordnen und implizieren weitere Fragestellungen bezüglich der Kommunikation, der Interaktionen
sowie nach Sicherheit und Vertrauen.
Migrationspfade für Kunden
Die Erfahrung zeigt, dass eine Migration zu einem neuen System stets mit einigen Schwierigkeiten verbunden ist. Es ergeben sich Fragen nach der Übernahme von Daten, der Ausbildung der Nutzer,
der Akzeptanz von neuen Systemen und Abläufen und der Integration in die (Geschäfts-)Prozesse. Die Migration von Softwaretests in die Cloud nimmt sich an dieser Stelle nicht aus. Hier sind diese Fragen
ebenfalls zu beantworten, nicht zuletzt weil durch den Einsatz des Cloud Computings ein Paradigmenwechsel stattfindet, von in-house-organisierten und durchgeführten Testprozessen hin zu solchen Testprozessen, welche die Unternehmensgrenzen überbrücken. Die Konfiguration der Cloud-Dienste für den Kunden ist individuell und sollte den Gegebenheiten des Geschäftszwecks und den Anforderungen des Kunden dienen. Die Forschung sollte hier Möglichkeiten und Methoden schaffen das strukturiert zu ermöglichen.
Rechtliche Fragen
Die Verwaltung von Testdaten ist stets eine kritische Aufgabe, da dabei unter anderem Datenschutzbestimmungen und Vertrauensschutzrichtlinien eine wichtige Rolle spielen und deren Gestaltung
die Testspezifikation bestimmen. Dieser Problematik unterliegen auch Softwaretests, die nicht in der Cloud ausgeführt werden. Das Problem wird dadurch verschärft, dass die zu testende Cloud außerhalb
des Unternehmens aufgestellt ist und weil Personen an diesen Tests beteiligt sind, die dem Unternehmen nicht angehören. Dieses Problem wird bereits seit einiger Zeit untersucht, da eine Lösung auch für traditionelle Softwaretestverfahren dienlich wäre. Im Kontext des Softwaretests in der Cloud sollte dieser Forschungsfrage eine weitaus größere Bedeutung als bisher beigemessen werden.
Fazit
In diesem Beitrag hat der IT-Radar eine Übersicht gegeben, welche Möglichkeiten und neue Fragestellungen sich für das Testen von Software ergeben, die in der Cloud ausgeführt wird und für den Softwaretest, der die umfangreichen Möglichkeiten des Cloud Computings instrumentalisiert. Der Trend zur Migration von Diensten und Anwendungen in die Cloud greift zunehmend auf den Softwaretest über. Wie in Abschnitt 3.1 gezeigt wurde, gibt es bereits erste cloud-basierte Dienste für den Softwaretest. Das Fazit des IT-Radars ist, dass Softwaretests in der Cloud neue Möglichkeiten bieten, um sowohl
den wachsenden Qualitätsanforderungen an Software gerecht zu werden, als auch dem zunehmenden Umfang von Softwaresystemen und dem damit verbundenen steigenden Aufwand für qualitätssichernde Maßnahmen mit neuen effizienten Mitteln zu begegnen. Für eine breite Adaption sind jedoch noch einige Forschungsfragen offen, siehe Abschnitt 3.2.Themen der Forschung.
Literaturverzeichnis
[1] L. M. Riungu, O. Taipale, and K. Smolander, “Research
Issues for Software Testing in the Cloud,”
Cloud Computing Technology and Science (CloudCom),
2010 IEEE Second International Conference
on Computing Technology and Science, pp. 557–
564, 2010.
[2] Z. Ganon and I. E. Zilbershtein, “Cloud-based
Performance Testing of Network Management Systems,”
Computer Aided Modeling and Design of
Communication Links and Networks, 2009. CAMAD
‚09. IEEE 14th International Workshop on, pp. 1–6,
2009.
[3] M. Oriol and F. Ullah, “YETI on the Cloud,” in
Software Testing, Verification, and Validation Workshops
(ICSTW), 2010 Third International Conference
on, 2010, pp. 434–437.
[4] L. Ciortea, C. Zamfir, S. Bucur, V. Chipounov, and
G. Candea, “Cloud9: a software testing service,”
ACM SIGOPS Operating Systems Review, vol. 43, no.
4, pp. 5–10, Jan. 2010.
[5] http://www.utest.com
Softwaretesten_in_der_Cloud.pdf
Dieser Beitrag wurde verfasst von Andreas Heinecke
|
|
06.02.2012 - 11:12:08
|
|
http://www.it-radar.org/serendipity/archives/105-Software-Testing-in-der-Cloud.h ...
|
|
|
|
|
|
|
Was für eine Rolle werden Software--kosysteme in zehn Jahren in der Unternehmenspraxis spielen? Etabliert sich das -kosystem als Geschäftsmodell im Bereich von Softwareprodukten oder entpuppt es sich als überstrapazierter Begriff, der nur einen befristeten Trend beschreibt?
Im abschließenden Teil unseres IT-Radar Interviews mit dem niederländischen Forscher Slinger Jansen werfen wir einen Blick in die Zukunft der Software--kosysteme und erläutern, was die zukünftige Entwicklung von Software--kosystemen für IT-Entscheider bedeutet.
Druckversion als PDF herunterladen...
Interview mit Slinger Jansen - Teil IV (MP3, ca. 11 MIN)Weitere Artikel zum Thema...Teil 1 des Interviews mit Slinger Jansen
Teil 2 des Interviews mit Slinger Jansen
Teil 3 des Interviews mit Slinger Jansen
Zusammenfassung des Interviews (deutsch) Das Interview zum Nachlesen:Jan Bosch and others argue that it is sensible to move from an integration-centric approach to a composition approach. They say it is supposed to result in a better integration of small teams, shorter release cycles, and therefore a better position for quick tests of the products in the market. Maybe you can give us a quick overview over both approaches?What I do find interesting here is the agile approach that comes around the corner. I think my students also are constantly developing apps for mobile phones, and I see a sort of a demo. So it’s a bit of a testing playground. I have seen many apps of them maybe of the ten or fifteen apps that I have seen being developed, some were very big failures but some of them were actually relatively successful, and they weren‘t so to say the horses that I would have bet on. So in that sense I think it is truly a great way to test out, test the water with an innovation.
So in that sense I do agree on taking a small agile approach to this. I think that is a great idea, but I don‘t specifically see an ecosystem view on this. What I do see is that if you have a successful platform that is doing very well in a market or a successful product and you want to make the move to ecosystems, then I would definitely start off with just small plug-ins or start developing with maybe three or four partners and ask them „Hey, what kind of plug-in would you like to develop and in which domain will you want to be active? And what kind of extension points are you working for in our platform?“ But I cannot really make a statement on whether the integration-centric approach is better than the compositional.
I think composition also assumes that you just have a bunch of artefacts that you can put together fairly easily, and the idea I get in most ecosystems is that there is one big platform; there is already one large entity that people add slowly but surely more functionality and specificity to. I am not sure if I interpreted the question right but I get the feeling that there is not such a strong relationship to the way in which the ecosystem is run compared to one of these two approaches. I get the feeling they are not even appropriate for ecosystems.Then as a final question: Regarding the current stage of research and the penetration of enterprises, what do you expect will be said in let us say about ten years about software ecosystems?A really good question, I hadn‘t really thought of it because I am so in the „now“ when it comes to ecosystems. But I think there is one credo I got into this area because I have a passion like I said before for software companies–especially independent software vendors, although I do not know why they are called independent because in an ecosystem you are not independent, you are just a software vendor.
I find software vendors really interesting companies, and I think the saying that they used to have which is: “Get big, get niche, or get out” will always hold, and it will be more valuable in the future. If you are smart enough and strong enough to develop your own platform that creates a critical mass in a market and thereby also creates interest from third parties to extend your products, you will be getting big. But if you are very specialised and you are active in a domain like here in the Netherlands we have a company called Stabiplan and they make technical drawings for all kinds of heating systems in a building, then that is a very clear niche.
Stabiplan builds on top of the AutoCAD products so they are part of the Autodesk ecosystem, and I think that is a beautiful way of thinking. This company is very successful, very profitable, and they are a very good niche company. And I don‘t think there is really a good way of being in between those two. There is no bit of a platform or a bit of a niche product. In the end you will probably develop your own platform again, maybe within a niche that could happen, but then there needs to be enough value in the ecosystem to have third parties connecting to you. Well, I think I am straying a little bit, but I expect that increasingly so that companies will slide under the wings of larger organisations and use their platforms as a transport for new innovations.
In that sense I expect the concept of software ecosystems to become stronger and that companies will make their own SECO in the software ecosystem more frequently explicit as it already is by saying something like „Hey we are part of the SAP stack“ or „We operate in the Google ecosystem.“ That is one development I see, and I also see that there are new innovative business models available that are specifically geared towards ecosystems. I think, for instance, of two companies right away, one is appstores.com, and you can all imagine what they do: They basically provide you with a platform that you can employ as an app store. So, let us say I have a software company called „Slinger“ I would call it slinger.appstore.com, and through them I could have partners who sell their stuff through my app store. I find that really interesting.
I also think there is a lot of value now in data. So a company here in the Netherlands that was founded actually here in Utrecht by some students of ours. It is called Distimo, and I think they are doing very well now, I think they are up to the level of making money by now. And what they do is they collect data from the several app stores, and they compare that to the data of other app stores. I think as a customer they have Facbook, and Facebook wants to know how much their application is downloaded at the moment, and how is it doing on each of the platforms. I think another customer of them is Rovio Games, and they want to know how many apps they are selling per day and what would happen if they changed the price of them a little bit, what kind of effect it would have on their supplied demand. I find that these ecosystems geared companies are very successful, and I am also looking to invest and do research with such companies. So if any of such companies is listening: please, do contact me!
Also, as a second aspect, and I think you already felt it in my previous answers, in the long run I expect companies to become more and more open, so the community around them sustains them more than the company itself. Therefore, I expect more and more organisations like the Apache Foundation, the Eclipse Foundation, more of these organisations to rise and be really successful even though there is no clear ownership or governance, or more precisely, there is a clear governance structure, but no real ownership, it is more of a foundation ownership than private or cooperate ownership.
Another aspect that I do find really interesting is that–as a final note–I wonder whether the term Software ecosystem is really all that relevant. I am actually chopping at my own tree here, because in the long run I think we are seeing software vendors converging increasingly into other domains. One of my favourite examples is Google Bank, I think we are all waiting for the first introduction of the Google Bank to come. In the future I expect that we will be talking a lot more about power distribution in the ecosystem. Previously I talked a little bit about centralised and decentralised ecosystems, and depending on the specific ecosystem–whether it is the electric vehicle ecosystem or the Software ecosystem or the XBRL ecosystem–I think that we will look at them with certain glasses, depending on our interests at that point.
As a final example I would like to talk about the iPhone OS ecosystem, which is much more than just a phone with a bunch of software on it, because it has ties increasingly in every domain. If you look, for instance, on the banking domain or the automotive domain or the business intelligence domain or even grocery shopping and logistics, I think that the ecosystem is already constantly testing the virtual boundaries that are imposed by the term software in this context. I think slowly but surely even though this term is driving me hopefully very far in research in the end we will have to revert it back into business ecosystems, because at the end of the day that is what those systems are, they are business ecosystems with a strong specific software component.Professor Jansen, thank you for the interesting and comprehensive interview!Thank you very much.Das IT-Radar-Interview führte Vincent Wolff-Marting.
|
|
30.01.2012 - 09:30:00
|
|
http://www.it-radar.org/serendipity/archives/104-Software-OEkosysteme-Teil-4.htm ...
|
|
|
|
|
|
|
Die 5th European Conference on Software Architecture (ECSA 2011) fand dieses Jahr im September in der Ruhrmetropole Essen statt. Nachdem einige Wochen vergangen sind und sich die gesammelten Eindrücke setzen konnten, laden wir Sie ein, in diesem kurzen Beitrag mit uns auf die Konferenz zurück zu schauen.
An den vier Konferenztagen wurden den Teilnehmern der 5. ECSA sowohl wissenschaftliche als auch wirtschaftliche Vorträge und Workshops geboten. Mit diesen Beiträgen wurden die aktuellen Trends im Themenbereich Softwarearchitektur intensiv diskutiert.
Besonders positiv bewerteten die Teilnehmer der Konferenz, dass in den Konferenzbeiträgen Experten sowohl aus der Wissenschaft als auch aus der Wirtschaft zu Wort kamen und aus ihren unter-schiedlichen Perspektiven über den gegenwärtigen Stand der Dinge berichteten. Auf diese Weise entstand ein produktiver Austausch zwischen Wissenschaftlern und Praktikern im Hinblick darauf, worin die tatsächlichen Herausforderungen der Unternehmen bestehen und welche möglichen Lösungsansätze die Forschung bieten kann.
Die wissenschaftlichen Vorträge hielten Albrecht Schmidt vom Institut für Visualisierung und Interaktive Systeme (VIS) an der Universität Stuttgart, Harald Gall, Direktor des „Software Evolution and Architecture Lab“ (s.e.a.l.) der Universität Zürich, und Raffaela Mirandola vom Politecnico di Milano. Sie berichteten über aktuelle Entwicklungen in der akademischen Gemeinschaft. Dabei stellten sie die Zusammenhänge zwischen Architektur und Benutzerinteraktion dar und präsentierten Visualisierungs-, Analyse- und Interaktions-methoden für Software Architekturen. Auch Software-Performance-Steigerungen in und für dynamische Umgebungen wurden diskutiert.
Abbildung 1: Visualisierung der Architektur des Java Development Kit (JDK) v1.5 (Quelle: http://www.inf.usi.ch/phd/wettel/codecity-wof.html)
Harald Gall stellte ein Framework vor, welches in Form von „Analysis as a Service“ helfen kann, Software Architekturen zielgerichtet zu ana-lysieren. Abbildung 1 zeigt die dargestellte Visualisierung und verdeutlicht z. B. die Größe und die Komplexität der Komponenten des Java-Development-Kits (JDK) 1.5. Um derartige Architekturen zu analysieren und ihre Evolution zu kontrollieren, wird eine Vielzahl von unterschiedlichen Analyseprogrammen benötigt. Das Framework stellt unterschiedliche Analysekomponenten bereit, die zu einer spezifischen Analyse orchestriert werden können, sodass die verschiedenen Aspekte von Architekturen einbezogen werden können.
In den drei wirtschaftlichen Vorträgen wurden aktuelle Probleme und Herausforderungen für Unternehmen behandelt, die in Bezug auf Soft-warearchitekturen auftreten. Eberhard Wolff (Architecture Technology Manager der adesso AG) berichtete über Erfahrungen und Problemlösungen in der Entwicklung und Umsetzung von Software-architekturen in der Wirtschaft. Jörg Koletzki (Mitglied der Geschäfts-führung der E.ON IT GmbH) beschrieb Erfahrungen und Methoden, um Enterprise-Architecture-Management in einem Unternehmen zu etablie-ren. Magnus Larsson, Software-Manager bei ABB Corporate Research, gab einen Einblick in wirtschaftlich gesteuerte Langzeitforschung und Anwendungsentwicklung.
In weiteren Vorträgen, in der Kategorie „Emerging research“ wurden 24 Artikel vorgestellt, deren Schwerpunkte auf der Qualitätssicherung bei Softwarearchitekturen sowie auf Servicekomposition, Überwach-ung und Konfiguration von Software- und Enterprise-Architekturen in Echtzeit lagen. Ansätze zur semantischen Integration von Qualitätsanforderungen in Softwarearchitekturen sowie architek-tonische Qualitätsgesichtspunkte wurden erörtert. Außerdem wurde die Servicekomposition aus unterschiedlichen Architektursichten be-trachtet sowie deren End-User-Orchestration diskutiert. Des Weiteren wurden modellbasierte Ansätze zur Rekonfiguration von verteilten Echtzeitsystemen, ein Monitoring-Framework für komponentenbasierte Softwaresysteme sowie Echtzeitüberwachung und Echtzeit-Controlling von Enterprise-Architekturen behandelt.
Die Vorträge in den Kategorien „Full research“ und „Experience“ befassten sich primär mit Produktlinien-Architekturen und deren Änderungsanalysen sowie Design und Evaluation von Architektur-Pattern im Kontext von Open-Source-Software. Daneben wurde ein Referenzmodell für das Testen von serviceorientierten Anwendungen und eine auf Architekturen basierende Fehlerdiagnose für Software-systeme vorgestellt.
Außer den Vorträgen fanden zwei ganztägige Workshops zu den Themen „Traceability, Dependencies and Software Architecture“ sowie „Software Architecture Variability“ statt und eine Postersession, die der Darstellung aktueller Forschungsherausforderungen gewidmet war. Hierbei reichte das Themenspektrum von Human-as-a-Service-Managementfunktionen bis zum semantischen Monitoring von Daten und Ressourcen auf Basis von Ontologien.
Nicht zuletzt luden die „social events“ rund um die Konferenz zum Ideenaustausch und Knüpfen interdisziplinärer Kontakte ein.
|
|
08.12.2011 - 11:12:05
|
|
http://www.it-radar.org/serendipity/archives/99-Rueckblick-auf-die-ECSA-2011-in- ...
|
|
|
|
|
|
|
In unserem Paper des Monats August stellen wir diesmal einen Beitrag aus dem Jahr 2001 vor, der dieses Jahr mit dem ICSE Award „Most influential Paper“ ausgezeichnet wurde. Hervorgehoben wurde eine Pionierarbeit zum automatisierten Testen von Webanwendungen und Webseiten. Während Entwickler in den Bereichen traditioneller Software bereits auf Modelle und Testverfahren der Qualitätssicherung zurückgreifen konnten, hatte diese Möglichkeit im Bereich der Web- Anwendungen bis dahin gefehlt. Die Autoren Filippo Ricca und Paolo Tonella beschreiben in ihrer Arbeit Analysis and Testing of Web Applications Herausforderungen für das Testen und Analysieren von Internetanwendungen und stellen die Entwicklung der Serviceprogramme ReWeb und TestWeb, die automatisierte Testverfahren erzeugen können, vor.
Web Anwendungen gestalten sich vielfältig
Während Test- und Analyseverfahren bereits fester Bestandteil der traditionellen Softwareentwicklung waren und durch allgemein anerkannte Regeln und Abläufe definiert wurden, fehlten derartige Methoden für Webanwendungen. Durch die rapide Entwicklung von Funktionen und Anwendungen des Internets und der damit einhergehenden Professionalisierung dieses Bereiches nahm der Bedarf an Methoden der Qualitätssicherung zu. Eine Herausforderung sahen die Forscher in den unterschiedlichen Ausprägungen von Internetseiten, die sowohl als statische als auch dynamische Seiten auftreten oder Links, Frames und Formulare beinhalten können. Die Forscher übertrugen Analyse- und Testmethoden der traditionellen Softwarequalitätssicherung auf Webanwendungen und betonten gleichzeitig die unterschiedlichen Anforderungen der Systeme.
Analysemodelle für Webanwendungen
Um Webanwendungen umfassend zu analysieren und zu testen ist die Erstellung eines UML-Modells für Ricca und Tonella eine Grundvoraussetzung. Dafür haben die Autoren das UML-Metamodell einer gewöhnlichen Webapplikationsstruktur erstellt, bei dem Interaktions- und Navigationsmodelle hervorgehoben wurden und Architekturperspektiven zweitrangig waren.
Abbildung 1: Metamodell für Web-Applikationen. Das Modell ist eine Umschreibung einer vorgegebenen Seite. (aus Ricca und Tonella, 2001)
Das zentrale Objekt in diesem Modell ist die Webseite, die Informationen enthält, die für den Nutzer angezeigt werden und andere Seiten durch Navigationsverbindungen erreichen kann. Das Modell bildet auch dynamische Elemente ab. Zum Zeitpunkt der Veröffentlichung wurde die Dynamik vornehmlich durch Frames und Formulare geboten, daher haben die Autoren gezeigt, wie UML Modelle einer Frameseite und einer Formularseite aussehen können:
Abbildung 2: Beispiel eines UML-Modells einer Webseite, die Formulare beinhaltet. (aus Ricca und Tonella, 2001)
Testen von Web-Applikationen
Das Testen von Webanwendungen dient der Qualitätssicherung von Software und soll sicherstellen, dass Faktoren der Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz sowie der Änderbarkeit und Übertragbarkeit von Softwaresystemen gewährleistet sind. Dabei werden verschiedene Arten von Tests angewendet, die in Abhängigkeit der Beschaffenheit einer Anwendung gestaltet werden. Grundsätzlich wird eine Unterscheidung zwischen statischen und dynamischen Verifikationen getroffen, wobei der Unterschied darin besteht, dass dynamische Tests das System in der Ausführung testen und statische Tests sich zum Beispiel mit der korrekten Beschreibung im Benutzerhandbuch oder der Rechtschreibprüfung im Quelltext befassen. Die Autoren haben verschiedene statische und dynamische Testverfahren beschrieben, die für Webapplikationen erforderlich sind.
Statische Verfahren:
Statische Verfahren untersuchen Webanwendungen auf Fehler und Anomalien, wie zum Beispiel der Aufdeckung ungültiger Navigationswege, unerreichbarer oder nicht existierender Seiten. Außerdem können damit Probleme des Ladens und der Zuordnung von Frames aufgedeckt werden. Mit der statischen Analyse werden Datenabhängigkeiten getestet und Abläufe analysiert, wodurch der Informationsfluss der Anwendung dargestellt werden kann und falsch definierte Variablen, die zum Beispiel unerwünschte Zustände erzeugen, erkannt werden können. Für Webanwendungen ist es außerdem wichtig zu testen, ob sogenannte „Dominators“ funktionieren. Das sind Seiten die Warnmeldungen oder AGBs enthalten und deswegen bestimmten Inhalten vorangestellt werden müssen. Auch die Benutzerfreundlichkeit einer Seite kann anhand der „shortest path“-Analyse überprüft werden, da untersucht wird, wie viele Seiten ein Benutzer aufrufen muss, um das gewünschte Ziel zu erreichen.
White-Box-Verfahren:
Die dynamische Analyse beschränkt sich auf Methoden des White-Box-Testens, bei denen die interne Struktur von Webanwendungen überprüft wird. Hierfür werden zum Beispiel der Quellcode eines Systems und interne Programmstrukturen auf Fehler untersucht, indem jede Anweisung einmal oder mehrmals durchlaufen wird. Das Testen von Webapplikationen verläuft zum Beispiel als Testlauf einer Sequenz von Seiten, an deren Ende das Ausfüllen eines Formulars steht. Dieser Verlauf wird in Form einer URL- Sequenz dargestellt, welche die angefragten Seiten hervorhebt und diese wenn nötig mit Eingabevariablen versieht. Die ausgegebenen Seiten werden gespeichert, woraufhin der Output mit dem Soll-Zustand verglichen wird. Der Vorteil gegenüber traditioneller Software ist, dass die Auswahl des zu testenden Zweigs meist direkt über die Eingabe des Hyperlinks eingepflegt werden kann und nicht vordefiniert werden muss. Weitere Testkriterien für Webapplikationen sind:
„Page testing“: Jede Seite wird mindestens einmal aufgerufen.
„Hyperlinking testing“: Alle Hyperlinks jeder Seite werden mindestens einmal durchlaufen.
„Definition-use testing“: Alle Navigationspfade, welche die zu testende Variable beeinflusst, werden durchlaufen und zwar jeweils einmal für jede mögliche Ausprägungen der Variable.
„All-uses testing“: Mit jeder möglichen Ausprägung der zu testenden Variable wird mindestens ein abhängiger Navigationspfad durchlaufen.
„All-path-testing“: Jeder Pfad einer Seite wird in verschiedenen Testfällen mindestens einmal durchlaufen.
Ricca und Tonella haben sich bei der dynamischen Analyse auf die „problematischen“ Seiten konzentriert und statische Seiten zu zweitrangigen Einheiten erklärt, da diese unveränderliche Informationen beinhalten.
Das Erzeugen von Testfällen
Die Forscher entwickelten die Programme ReWeb und TestWeb, um das Testen von Webanwendungen zu unterstützen. Das ReWeb besteht aus den Modulen Spider, Analyser und Viewer. Spider lädt alle anvisierten Seiten herunter, unterscheidet dabei aber nicht zwischen statischen und dynamischen Seiten, es sei denn, die Seite ist nur über ein Formular erreichbar. Der Anwender kann dynamische Seiten manuell kenntlich machen und mit Eingabewerten versehen. Danach erstellt das Programm aus den heruntergeladenen Seiten ein UML-Modell. Das Modul Analyser benutzt das UML-Modell, um die oben genannten statischen Analysen durchzuführen. Das Modul Viewer visualisiert das UML-Modell und die Ergebnisse der Analysen als Graphical User Interface (GUI), welches zum Beispiel ermöglicht, einzelne Elemente zu vergrößern oder mithilfe der Suchfunktion zu finden. Außerdem werden verschiedene Übersichten generiert: Die history view, welche die Entwicklung der Seite unter zeitlichen Aspekten festhält, die system view, welche die Seiten in einer Verzeichnisstruktur darstellt und die data flow view, die lesende und schreibende Zugriffe der Seiten auf Variablen ausgibt.
Abbildung 3: Die Darstellung von ReWeb und TestWeb während des Analyse- und Testprozesses (aus Ricca und Tonella, 2001)
Die Aufgabe des TestWeb Programms umfasst die Festlegung einer Auswahl von Pfaden aus dem UML-Modell, um daraus Testfälle für das ReWeb zu generieren. Erzeugte Testfälle sind UML-Sequenzen, welche nach einmaliger Durchführung die Erfassung ausgewählter Kriterien erlauben. Die Werte müssen an dieser Stelle manuell eingegeben werden und können dann dem Webserver URL-Anfragesequenzen jedes Testfalls mit den geeigneten Eingabewerten übermitteln. Die vom Server zurückgelieferten Seiten werden gespeichert, und der Anwender überprüft dann, ob die ausgegebenen Werte zu dem eingegebenen Wert passen.
Fazit:
Das Paper Analysis and Testing of Web Applications gab wichtige Impulse für das Testen verteilter Anwendungen. Die Beiträge zur Generierung von Testdaten und von Testmodellen haben die Forschung in diesem Bereich vorangebracht und speziell auch spätere Forschungen zum Testen von sogenannten Web-2.0-Anwendungen (genauer gesagt asynchrone Web-Technologien wie z.B. AJAX) stark beeinflusst. Sie dienten als Grundlage für eine ganze Reihe weiterer Veröffentlichungen. Die Bandbreite reicht von Beiträgen zu Softwaretests über Reverse-Engineering bis hin zur automatischen Erkennung von sogenannten Clickjacking-Angriffen. Der besondere Einfluss des Papers beruht auch auf der stetig wachsenden Bedeutung verteilter, webbasierter Anwendungen.
Wir wünschen eine angenehme Lektüre!
Ihr IT-Radar-Team
Dieser Beitrag wurde verfasst von Michaela Trebing
Das Paper des Monats Analysis and Testing of Web Applications Filippo Ricca und Paolo Tonella: Analysis and Testing of Web Applications, In Proceedings of the 23rd International Conference on Software Engineering (ICSE’01), IEEE Computer Society, Washington, DC, USA, 25-34. 2001. ISBN 0-7695-1050-7.
Es ist zu beziehen unter:
http://dl.acm.org/citation.cfm?id=381476
Analysis and Testing of Web Apllications
|
|
23.09.2011 - 16:52:44
|
|
http://www.it-radar.org/serendipity/archives/97-Webanwendungen-erfolgreich-teste ...
|
|
|
|
|
|
|
Mitarbeiter eines Cloud-Dienstleisters haben eine hohe Verantwortung oder anders ausgedrückt: zahlreiche Möglichkeiten zu einem weitreichenden Vertrauensbruch. Welche Möglichkeiten das sind, stellt Vincent Wolff-Marting im vierten und letzten Teil unserer Reihe des Video-Glossars "sicheres Cloud Computing" vor.
Neben den in dieser Reihe vorgestellten Angriffsmögichkeiten gibt es für den produktiven Einsatz allerdings auch eine ganze Reihe von generellen Schutzmaßnahmen. Bei der Entscheidung pro oder contra Cloud Computing gerade im Zusammenhang mit der Sicherheit von sensiblen Daten stellen diese Schutzmaßnahmen einen wichtigen Ansatz zur sicheren Nutzung von Cloud Computing Diensten dar. Im vierten und letzten Teil unseres Video-Glossars "sicheres Cloud-Computing" stellen wir deswegen auch einige generelle Schutzmaßnahmen vor. 8. Video-Glossar: sicheres Cloud Computing - letzter Teil von IT-Radar auf Vimeo.
Die vorangegangenen Folgen im Überblick:
Einführung und Systematisierung des Schutzbedarfs für Unternehmen
Externe Angreifer
Der Kunde als Angreifer
|
|
06.09.2011 - 09:39:00
|
|
http://www.it-radar.org/serendipity/archives/96-Sicheres-Cloud-Computing-Teil-4. ...
|
|
|
|
|
|
|
|
|
 Unser RSS-Feed
Natürlich haben wir auch einen eigenen RSS-Feed den Du gerne abonnieren kannst ...
|
|
 Suche im Verzeichnis
RSS Verzeichnis nach Blog Feeds oder Tags durchsuchen:
|
|
 Login
|
|
|
|
|
|
 Kategorien
|
|
 Top Tags im Verzeichnis
|
|
 Tipps zum Surfen
|
|
|