[Vienna-pm] Naechstes Meeting: 7.4.

Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 daxim at cpan.org
Mon Apr 11 07:11:11 PDT 2011


> why is automated testing important?
> Or why to write tests?

Mein [Pitch](http://de.wikipedia.org/wiki/Elevator_Pitch): Du hast Software 
geschrieben und sie manuell geprüft. Daher weißt du, dass sie wie gewünscht 
funktioniert. Jetzt veränderst du die Software. Woher weißt du, dass sie immer 
noch so funktioniert wie zuvor? Du müsstest sie komplett neu prüfen. (Leider 
reicht es nicht, nur die Stelle zu testen, wo die Veränderung war. In einigen 
Fällen ist mehr betroffen, als man annimmt.) Daher automatisierte Tests, denn 
so wird Software *schnell*, *zuverlässig* und *eindeutig* geprüft.

Automatisierte Tests sind *Arbeitsersparnis*. Wer meint, Zeit zu sparen, indem 
er die Tests weglässt, der irrt sich, denn Programmierer verbringen 80% ihrer 
Zeit mit *Wartung* von Software.

Alternativ kann man auch einfach das erste Kapitel von Büchern über Testing 
vorlesen, oder das C2-Wiki. :->

Wenn der Gesprächspartner noch nicht eingeschlafen ist, kann man dann in 
Themen abschweifen, die durch automatisierte Tests erst ermöglicht werden: 
Smoking/verteilte QA (CPAN Testers), TAP-Ökosystem (Smolder), Modelle der 
Entwicklung (XP/Agile).

> Is there any best practice for splitting white box and black box tests
> in a distribution t/?
Das habe ich noch nicht als eindeutige Richtlinie in der freien Wildbahn 
wahrgenommen.

> Different files?
Ja, so würde ich es machen. Wenn sich die Implementation der Software ändert 
und daher das Interface/Blackbox stabil bleibt, ist es einfacher, die 
Glassbox-Tests zu überarbeiten, wenn sie komplett getrennt vorliegen.

> Any good article about the structure of a test files?
Meistens will man keine Struktur, oder anders gesagt reicht unstrukturierte 
Stapelverarbeitung von oben nach unten aus. (Einzelne zusammengehörenden Tests 
soll man aber schon in nackten Blocks `{}` oder neuerdings [Subtests]
(http://p3rl.org/Test::More#subtest) kapseln.)

Der Grund dafür: wenn ein Test fehlschlägt, ist entweder hoffentlich die 
getestete Software falsch oder der Test ist falsch. Wenn man dann den Test 
anschaut, soll man sofort auf einen Blick erkennen, ob der Test an sich so in 
Ordnung ist. Je einfacher ein Test ist, desto leichter ist das zu erkennen.

Manchmal hat man aber echt komplexe Software mit viel Vorbereitung, ehe man 
zum eigentlichen Testen kommt. Da helfen:

<http://rjbs.manxome.org/rubric/entry/1858> 
<http://p3rl.org/Test::Routine::Manual::Demo>
<http://www.slideshare.net/Ovid/testing-with-testclass> 
<http://p3rl.org/Test::Class::Most>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.pm.org/pipermail/vienna-pm/attachments/20110411/b5bc1892/attachment.bin>


More information about the Vienna-pm mailing list