Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Softwaretests und Qualitätssicherung (https://www.delphipraxis.net/86-softwaretests-und-qualitaetssicherung/)
-   -   Umfrage : TEST bei komplexen Anwendungen (https://www.delphipraxis.net/176638-umfrage-test-bei-komplexen-anwendungen.html)

bernhard_LA 18. Sep 2013 12:05

Umfrage : TEST bei komplexen Anwendungen
 
Wir haben eine komplexe Anwendung mit > 500K Zeilen Code, verteilt auf ca. 15 kleinere Anwendungen die jeweils einen Teilschritt im gesamten Prozess bearbeiten.
Um die Stabilität der gesamten Anwendung zu garantieren haben wir einige Unit tests eingebaut. Was uns fehlt sind gute Ideen um die gesamte Anwendungskette
(GUI / Funktion) zu testen ohne viel Code für entsprechende Tests zu schreiben.

Ich bin mir nicht socher ob Ansätze wie http://code.google.com/p/fit4delphi/ wirklich helfen oder nur viel Zeit kosten ....

Wie geht Ihr an dieses Thema heran ??

Uwe Raabe 18. Sep 2013 12:26

AW: Umfrage : TEST bei komplexen Anwendungen
 
Ohne das jetzt als Wertung verstanden zu wissen: Ich benutze dafür TestComplete. Nicht gerade billig ($999 bzw. $1999) aber sehr mächtig. Wie bei jeder anderen Lösung muss man sich halt einarbeiten, aber das geht eigentlich recht schnell.

Ich muss allerdings auch ehrlich zugeben, daß die Lizenzpolitik bei SmartBear (die machen übrigens auch das AQTime) nicht nur nervt, sondern mittlerweile an meinen Bedürfnissen total vorbei läuft. Will man die Software in einer VM einsetzen (auf Mac kaum anders möglich), kommt man um die deutlich teurere Floating-User-License ($2999 bzw. $4499) kaum herum. Da kommt das Preis-Leistungs-Verhältnis dann doch stark ins Wanken.

Fazit: das Produkt finde ich genial - die Lizenzpolitik ist für die Tonne.

BasilBavaria 18. Sep 2013 18:51

AW: Umfrage : TEST bei komplexen Anwendungen
 
Ich betreue mehrere Host- und Server-Anwendungen mit Online- und Batch-Komponenten. Auch sind Prozesse auf eine Vielzahl vom Programmen aufgeteilt (Eigen- und Fremdprodukte).

Ohne Details zu kennen: Stellt Testfälle zusammen mit möglichst vielen Kombinationen; diese sollten richtig und falsch sein - also nicht nur den Idealfall darstellen.
Sofern Ex- und Import-Schnittstellen vorhanden sind: Falsche Datentypen einpflegen und schauen ob's knallt.

Damit hab ich die besten Erfahrungen gemacht.

Furtbichler 18. Sep 2013 19:10

AW: Umfrage : TEST bei komplexen Anwendungen
 
Du kannst natürlich deine Klassen mocken und dann Tests schreiben, keine Ahnung, ob es das für Delphi gibt. Allerdings solltest Du schon ordentliche Unit-Tests schreiben, zur Not eben mit Dependency-Injection.

Für komplexe Projekte, die ständig Änderungen unterworfen sind, ist das überlebensnotwendig. Denn jede Änderung enthält natürlich Fehler, die -schlecht getestet- die Entwanzungsarbeit beinahe exponentiell anwachsen lassen.

Der Arbeitsaufwand zwischen Applikationsentwicklung und Schreiben von Tests ist zwischen 50:50 und 40:60. Man verbringt also mehr Zeit zum Schreiben der Tests, als mit der Entwicklung. Weiterhin sollte man sich für die Tests noch mehr Mühe geben, also für die Entwicklung (wobei man sich ja schon bei der Entwicklung sehr viel Mühe gibt).

Wir praktizieren das gerade in einem 1000 MT Projekt, wobei leider vergessen wurde, das diese Größenordnung im Budget einzuplanen. Rumms- fliegt uns das jetzt um die Ohren... Ich kann meine Hände in Unschuld waschen, weil ich erst dazugestoßen bin, als das Kind schon in den Brunnen gefallen ist.

bernhard_LA 19. Sep 2013 16:33

AW: Umfrage : TEST bei komplexen Anwendungen
 
zum Thema Mocking kenne ich diesen Link für D : http://nickhodges.com/post/Delphi-Mocks-The-Basics.aspx




ich stehe vor dem Problem einen Unit-Test über die Gesamte Anwendungskette von 15 verschiedenen Proramme zu schreiben,

eine Sequenz wie
app1.Buttonxypressed (.....);
app2.mainform.dosomething (....);
....
app15.Now_make_the_result(.....);

ewig lang und ewig viele Parameter die ich an darunterliegende Klasse weiterleiten muss .
Ferner müsste ich als Check

a) den Inhalt von DB Tabellen vergleichen, sind in beiden Tabellen die selben Records
b) sind Bitmaps identisch, ggf. Auschnitt BMP1 = Ausschnitt BMP2 ....
c) Verbindungen zwischen Ziel und ReferenzListe vergleichen, die Verkettungen müssen identisch sein, die Anordung innerhalb der Liste nicht
d) Vergleich von EXCEL Dateiein mit der Auswertung / Ergebnissen

BUG 19. Sep 2013 17:34

AW: Umfrage : TEST bei komplexen Anwendungen
 
Ich könnte mir vorstellen, dass ein Tool wie AutoHotkey bei Blackbox-Tests vom Programmen mit GUI ziemlich nützlich ist.
Scheint auch erfolgreich dafür benutzt zu werden; es gibt aber auch Produkte, die mehr auf das Testen zugeschnitten sind.

bernhard_LA 25. Sep 2013 19:02

AW: Umfrage : TEST bei komplexen Anwendungen
 
Bin auf der Suche nach TEST für die GUI auf die KLasse TGUITESTCASE gestoßen, welche schon ein Teil von Dunit sein sollte.
Gibt es positive Erfahrungen zum dieser Komponente ? Oder nette Demo Beispiele wie ich GUI testing effektiv mit diesem System durchführen kann ....

jaenicke 25. Sep 2013 21:18

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1228920)
Will man die Software in einer VM einsetzen (auf Mac kaum anders möglich), kommt man um die deutlich teurere Floating-User-License ($2999 bzw. $4499) kaum herum.

Finde ich aber auch grundsätzlich nicht falsch. VMs laden nun einmal zum Schummeln mit den Lizenzen ein.

Wir nutzen einen separaten physischen Rechner, der z.B. via RDP als Testrechner benutzt wird und der exklusiv für die Tests mit TestComplete benutzt wird.

Und was die Nutzung von Macs angeht: Bei dem Preis dafür sollte ja der Preis für TestComplete ohnehin kein Problem sein...

Union 25. Sep 2013 21:31

AW: Umfrage : TEST bei komplexen Anwendungen
 
Du musst im Testfall nur von TGUITestCase ableiten (uses GUITesting). Dann hast Du im Testfall Methoden zur Verfügung, z.b.
ClickLeftMouseButtonOn, Click, Enterkey uvm. Die baust Du in Published-Methoden ein für die RTTI und die Test-GUI sollte die dann selektieren und ausführen lassen.

Uwe Raabe 25. Sep 2013 22:48

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zitat:

Zitat von jaenicke (Beitrag 1229933)
Zitat:

Zitat von Uwe Raabe (Beitrag 1228920)
Will man die Software in einer VM einsetzen (auf Mac kaum anders möglich), kommt man um die deutlich teurere Floating-User-License ($2999 bzw. $4499) kaum herum.

Finde ich aber auch grundsätzlich nicht falsch. VMs laden nun einmal zum Schummeln mit den Lizenzen ein.

Wir nutzen einen separaten physischen Rechner, der z.B. via RDP als Testrechner benutzt wird und der exklusiv für die Tests mit TestComplete benutzt wird.

Und was die Nutzung von Macs angeht: Bei dem Preis dafür sollte ja der Preis für TestComplete ohnehin kein Problem sein...

Das TestComplete ist bei mir auf einem physikalischen Windows System installiert. Das MacBook nutze ich fast nur unterwegs. Da die VM-License eine Netzwerkverbindung zu dem Rechner mit dem License-Manager benötigt, nutzt mir das unterwegs rein gar nichts. Für eine mobile Lizenz braucht man halt eine Node-License und die ist auf einem MacBook nicht möglich (zumindest nicht ohne BootCamp). Damit kann ich meine Tests unterwegs nicht nutzen. Ich finde das ist eine ziemlich starke Einschränkung, die ausschließlich dem Kopierschutz geschuldet ist.

Ich hatte sogar früher eine zweite Node-License für mein Windows-Notebook. Nachdem das durch einen Mac ersetzt wurde, war die faktisch wertlos.

jaenicke 26. Sep 2013 04:44

AW: Umfrage : TEST bei komplexen Anwendungen
 
Nichtsdestotrotz kennen wir das Problem, dass virtuelle Maschinen die Lizenzprüfbarkeit stark einschränken, aus eigener Erfahrung. Deshalb kann ich das durchaus verstehen, dass da entsprechende Maßnahmen ergriffen werden.

vagtler 26. Sep 2013 05:37

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zitat:

Zitat von jaenicke (Beitrag 1229933)
[...] Und was die Nutzung von Macs angeht: Bei dem Preis dafür sollte ja der Preis für TestComplete ohnehin kein Problem sein...

Warum die Polemik? Auch wir haben mittlerweile ausschließlich auf MBPs umgestellt. Letztendlich hat unsere Erfahrung gezeigt, dass die TCO-Betrachtung ganz besonders im Hinblick auf die effektive Nutzungsdauer mit einer durchaus positiven Bilanz für die Apple-Geräte aufwarten kann.

jaenicke 26. Sep 2013 05:48

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zitat:

Zitat von vagtler (Beitrag 1229948)
Letztendlich hat unsere Erfahrung gezeigt, dass die TCO-Betrachtung ganz besonders im Hinblick auf die effektive Nutzungsdauer mit einer durchaus positiven Bilanz für die Apple-Geräte aufwarten kann.

Bei mir ist diese Erfahrung gänzlich gegenteilig. Aber jedem das Seine.

Phoenix 26. Sep 2013 06:07

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zurück zum Thema bitte.

Ich habe gerade die letzten Tage auf der Basta ein interessantes Konzept zum Testen (lassen) gesehen: TestHub. Zu finden unter testhub.de.
Die Idee: Crowdsourcing der Tests.

TestHub hat aktuell ca. 13.000 aktive Tester (die das nebenbei machen, also auch am Wochenende und Feiertags testen wollen) und fürs erfolgreiche Testen bezahlt werden.
Ein internes Review und Rating bei Testhub stellt sicher, dass die Tester die hochqualitative Bugreports erstellen aufsteigen - so wird deren Qualität sicher gestellt.

Das Pricing ist auch okay (zumindest aus meiner Sicht) - aber das mag für andere Use-Cases anders / schlechter aussschauen. Es ist auf jeden Fall billiger das zu Nutzen als ein internes Test-Team aufzubauen und dafür jemanden einzustellen / abzuberufen.

Furtbichler 26. Sep 2013 10:35

AW: Umfrage : TEST bei komplexen Anwendungen
 
Sollte man nicht zwischen Unit-, Integrations, Regressions- und GUI-Tests unterscheiden?

Ein ordentliches Design (MVVM, Dependency Injection usw) gepaart mit Unit-Tests, einem Mocking-Framework und Tests bis hin zum ViewModel reicht imho aus und gehört sowieso zur Grundausstattung geines (komplexen) Projektes.

Bei 'TestHub' (interessanter Ansatz) wird man wohl eher Web-Applikationen testen können, oder Tools, die man eh verschenken will, aber eine Business-Anwendung für einen oder wenige Kunden wird man damit wohl kaum -auch schon rein rechtlich- beim Tester installieren wollen bzw. können.

Oder hast Du andere Erfahrungen? Wie gesagt, habs mir nicht genau angeschaut.

Phoenix 26. Sep 2013 10:44

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zitat:

Zitat von Furtbichler (Beitrag 1229986)
[...], aber eine Business-Anwendung für einen oder wenige Kunden wird man damit wohl kaum -auch schon rein rechtlich- beim Tester installieren wollen bzw. können.

Das "nicht Wollen" ist vielleicht ein Grund (wenn auch kein sehr valider), aber was für rechtliche Hinderungsgründe sollte es geben, die ein Unternehmen daran hindern, erstellte Software von einer dritten Firma testen zu lassen? So einen Fall müsste man wirklich schon sehr abstrus konstruieren. Für sowas gibt es im Zweifel NDA's, und zumindest jedes Unternehmen das ich kenne hält Klauseln in seinen Verträgen die es erlauben, dritte Parteien hinzuzuziehen sofern diese das NDA auch akzeptieren.

Klar, der primäre Use-Case werden wohl wirklich Web- und Mobile Anwendungen sein, aber insbesondere Usability-Tests auch für Desktop-Anwendungen kann ich mir sehr gut so vorstellen.

Furtbichler 26. Sep 2013 11:49

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zitat:

Zitat von Phoenix (Beitrag 1229988)
..aber was für rechtliche Hinderungsgründe sollte es geben, die ein Unternehmen daran hindern, erstellte Software von einer dritten Firma testen zu lassen?

Bei dem Gedanken ging ich davon aus, das *ich* als Entwickler die SW VOR Auslieferung testen lassen will. Wieso sollte der Kunde das wollen? Er will eine funktionierende Software haben und nicht 13000 potentielle Wirtschaftsspione oder Verwandte von Mitarbeitern der Konkurrenz ins Boot holen. Natürlich, man kann sie alle einzeln interviewen... ;-) Das wäre aber, um es mit deinen Worten zu formulieren, reichlich abstrus. Da kann man sein Portfolio gleich Open Source ins Netz stellen.

Zitat:

Zitat von Phoenix (Beitrag 1229988)
Das "nicht Wollen" ist vielleicht ein Grund (wenn auch kein sehr valider)

Ich gebe deinen Namen gerne an meine Kunden (siehe unten) weiter. ;-) Im Ernst: Meiner Meinung nach sind es *immer* gute Gründe, die einen Kunden bewegen, nicht kooperativ an der optimalen Umsetzung einer Aufgabenstellung mitzuarbeiten. Wenn Du so über deine Kunden denkst...

Zitat:

aber insbesondere Usability-Tests auch für Desktop-Anwendungen kann ich mir sehr gut so vorstellen.
Ich auch, aber ich sprach ja von Individualsoftware und nicht vom nächsten Wordpad.

Hier einige Konkrete Beispiele für Hinderungsgründe (aus meiner Praxis):

In einem Maschinenbauunternehmen, das von seiner Innovation lebt, darf man nichts, aber auch gar nichts nach außen geben. Man darf noch nicht einmal im eigenen Büro arbeiten, sondern muss den Firmen-PC im Firmen-Gebäude benutzen. Also: 'Nicht wollen'. Firmenpolitik und -philosophie werden (hier) nicht angezweifelt, sondern als Axiome akzeptiert.

Die Daten, auf denen die Software aufbaut sind Firmeneigentum. Die Strukturen sind Firmeneigentum, die abgebildeten Prozesse sowieso. Anzunehmen das das rechtlich einwandfrei und ohne Aufwand nach außen (zu 13000 Testern) geben zu wollen, ist... wie soll ich mich ausdrücken..?... ach, ja, schon erwähnt: "abstrus".

Der Auftraggeber (Produktionsleitung) hat nicht die Befugnisse, ein über einen Werkvertrag zustandegekommene Anwendung von Dritten testen zu lassen. Also: 'Nicht können'.

Die Geschicht mit dem nicht kaskadierfähigen NDA (der namentlich abgeschlossen und nicht übertragbar bzw. weitergebbar ist) hatte ich schon. Also: Rein rechtlich nicht können.

Diese Fälle sind nicht konstruiert, sondern bei mir recht häufig. Es hält uns natürlich nicht davon ab, mal fragen zu gehen (genauso wie bei der Geschichte mit der Verschlüsselung). Aber... die Firmen haben eben besseres zu tun, als hier noch einmal einen (z.T.) riesigen Klotz in Bewegung zu setzen, um einen Vertrag nachträglich zu erweitern, den Vorgesetzten zu fragen usw.

Wie gesagt: Es geht nicht ums Testen von Dritten. Da fragt man den Kunden, macht einen NDA mit den Testern, spricht die Vorgehensweise mit dem Kunden ab (idealerweise bei einem Gespräch Vor-Ort) und fertig. Es geht mir hier nur um die von mir vermutete Problematik im Zusammenhang mit diesem Massentesten.

Phoenix 26. Sep 2013 12:14

AW: Umfrage : TEST bei komplexen Anwendungen
 
Das sind alles ausschließlich "Nicht wollen"-Argumente.
Im Deinem konkreten Fall *will* man die Verträge nur einfach nicht so gestalten, das das Problemlos möglich wäre. Oder so rum: Wenn man es wirklich wollen würde, könnte man auf das Ziel hinarbeiten.

Der andere Punkte ist aber: Meine Kunden (sofern ich aktuell welche annehme) suchen mich aus, nicht ich meine Kunden. Und die wollen was von mir, hören mir zu und in 99% der Fälle setzen sie auch recht viele Hebel in Bewegung um meine Vorschläge umzusetzen, weil ich ja ein externer Berater bin und wenn man sich Expertise einkauft muss die sich ja auch lohnen ;-) Meine Kunden müssen / sollten daher im übrigen auch schon vor meiner Beauftragung ein Vertragswerk haben, die es Ihnen erlaubt mich als Dritten ins Boot zu holen.

Die Kunden meines eigentlichen Brötchengebers (primär Banken und größere Unternehmen in der Finanzbranche) setzen uns, sofern gewünscht, unter ein NDA. Smarthouse legt dabei aber Wert darauf, das das immer kaskadierbar ist. Auch hier eine entsprechende Vertragsgestaltung ein Ding des Wollens - und da der Kunde tatsächlich Qualität will, ist es auch zu verargumentieren das man sich aus gewissen Gründen vorbehalten möchte, externe Qualitätsdienstleister hierfür zu aktivieren.

Die Frage wäre also eher, ob Testhub einen gewissen Teil der Tester (Du bekommst ja nie alle 13.000 auf einmal, sondern nur einen kleinen Teil aus diesem Pool) unter einem NDA bereitstellen kann. Und selbst wenn das nur ein Prozent der Tester ist, hast Du trotzdem noch einen Pool von 130 Leuten die solche NDA-Projekte testen könnten. Von daher hast Du eben nicht 13.000 potentielle Spione, sondern eher so um die 30, die tatsächlich an Deinem Projekt testen - und im Zweifel vermutlich auch einzeln benannt werden können. Aber das sind dann Detailfragen.

Und das ganze ist wie gesagt auch nur eine Option. Niemand muss sich verbiegen, wenn er sowas nicht will. Nur wenn es tatsächlich wirtschaftlich sehr sinnvoll wäre sowas in Anspruch zu nehmen anstelle (viel zu) viel Geld in ggf. schlechter skalierbare und nicht so leistungsfähige Lösungen zu stecken, dann wäre "nicht wollen" eine Begründung, die einem Unternehmen eher schadet, anstelle es Konkurrenzfähiger zu machen.

Furtbichler 26. Sep 2013 12:33

AW: Umfrage : TEST bei komplexen Anwendungen
 
Zitat:

Zitat von Phoenix (Beitrag 1230018)
Im Deinem konkreten Fall *will* man die Verträge nur einfach nicht so gestalten,

Bevor ich wieder polemisch werde: Wenn der Abteilungsleiter nicht kann, weil er sonst gefeuert wird, hat das nichts mit Wollen, sondern ausschließlich mit Können zu tun.

Aber klar. Letztendlich ist alles eine Frage des Willens.
Man kann Closed Source in Open Source umwandeln, wenn man will.
Man kann seine Firmengeheimnisse einem unkontrollierbar großen Pool an Betatestern überlassen, wenn man will. Ein gewerblicher Wirtschaftsspion unterschreibt zwar eh jeden Wisch und 100 Tester *sind* unkontrollierbar. Aber das sind nur Hürden auf dem Weg zur Umsetzung.
Man kann eine Firmenphilosophie auch komplett umkrempeln, weil ein Phoenix das sagt. Wenn man will.

Ich frage mich gerade, ob mein vorletzter Kunde (der Maschinenbauer) dich beauftragen würde, die Anwendungen, die intern entwickelt wurden, vor Auslieferung (mit einem Innovationsvorsprung von wenigen Monaten vor der Konkurrenz) von einer Horde von Testern testen zu lassen... Nein, würde er nicht.

Zitat:

weil ich ja ein externer Berater bin und wenn man sich Expertise einkauft muss die sich ja auch lohnen ;-)
Absolut richtig. Bei Dir kommt aber nicht der Abteilungsleiter an, sondern das Management. Ich bezweifle jedoch, das SIEMENS an deine Tür klopft (für deren Tochterunternehmen ich arbeite), um Modalitäten für das Massentesten einer Anwendung auszuhandeln, die in der Fertigungsstätte eines Tochterunternehmens implementiert wird und für die mal eben einige Firmenmaximen über den Haufen geworfen werden müssten.

Ich hab meine Erfahrungen und kann sagen: Toll, leider gehts nicht immer.

Phoenix 26. Sep 2013 14:25

AW: Umfrage : TEST bei komplexen Anwendungen
 
Ich habe ausdrücklich auf das wollen in Zusammenhang auf die Wirtschaftlichkeit verwiesen.

In Deinem konkreten Fall, und gerade bei so einem Kunden bzw. Auftrag, wird aber das Testing dann schon in der Angebotsphase mit einem entsprechenden Preisschildchen versehen bei der Software dabei stehen, und zwar so, das der interne Aufwand des Testens da mit einer entsprechenden Marge vorgesehen ist. Also muss man das gar nicht outsourcen, weil das bereits mindestens kostendeckend, eher noch leicht gewinnbringend eingeplant wurde. Also ist das aktuelle Testen schon wirtschaftlich sinnvoll. Eine Optimierung wäre zwar eventuell möglich, aber scheint nicht unbedingt zwingend notwendig zu sein.

Über meine Kunden kann ich nicht sprechen, aber lass Dir versichert sein, das ich nicht deswegen angefragt werde, um Tests outzusourcen. Ich bin Technologie- und kein Unternehmensberater. Ich werde von Unternehmen geholt, die sich und ihren Entwicklungsprozess technologisch überprüfen lassen wollen. Die Frage an mich ist eher: "Wird das richtige Werkzeug auch richtig eingesetzt, und passt das zu den Unternehmenszielen? Wie kann ich meine Entwickler produktiver machen und wie bereite ich mich am besten auf die wachsenden technologischen Anforderungen meiner Kunden vor?" und nicht, einfach nur "Kann ich bei einem kleinen Teilprozess wie dem Testing eventuell ein paar KiloEuros im Monat oder Jahr einsparen?".

bernhard_LA 27. Sep 2013 20:43

AW: Umfrage : TEST bei komplexen Anwendungen
 
Sehr informative Diskussion .... das Thema TESTHUB hat mich echt überrascht

die Problem die hier diskutiert wurden sehe ich auch, wer diese erfolgreich löst kann aber sich einen Vorsprung vor seinem Wettbewerber verschaffen

Furtbichler 28. Sep 2013 09:38

AW: Umfrage : TEST bei komplexen Anwendungen
 
Mich auch, und vor allen Dingen die konträren Sichtweisen von Phoenix und mir (z.B.) die aber beide in sich vollkommen richtig und nachvollziehbar sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz