Category Archives: Interesting Reading

Tutorial: Git – The Incomplete Introduction

Software Testing is part of software development. So you need a form of revision control for your source aka test code, and documents. You also need it to be able to review code, compare the history of code… or maybe simply to help others to master it.

We recently started our migration from Subversion to Git. Not because we have been unsatisfied with SVN, mostly because we want to use what our customers use. Additionally we want to profit from the different functionality Git offers, such as local commits and cheap branching.

But Git is different and just changing the tool does not change anything, it might even turns things worse. Because you cannot run Git like SVN. Well, you can, but that still requires you to know the basics of Git to understand what it will do to your work and how a typical workflow looks like. The commands are different too.

So we created this tutorial to get used to Git, understand, and learn it.
Continue reading Tutorial: Git – The Incomplete Introduction

Nice Reading: GitHub’s CSS Performance

GitHub CSS Performance, Title Slide

Another must read for the performance-aware programmer and tester. A nice slide deck about CSS performance issues at GitHub. Includes solutions as well.

A talk on some problems solved related to CSS Performance at GitHub. The talk was given at CSS Dev Conference in Honolulu, HI 2012. I recorded the presentation from my laptop and posted it here https://vimeo.com/54990931

Enjoy and keep in mind that performance matters.

Nice reading: CSS3 vs. CSS

Nice article about the advantages of CSS3 in terms of coding as well as download speed: CSS3 vs. CSS: A Speed Benchmark.

I believe in the power, speed and “update-ability” of CSS3. Not having to load background images as structural enhancements (such as PNGs for rounded corners and gradients) can save time in production (i.e. billable hours) and loading (i.e. page speed). At our company, we’ve happily been using CSS3 on client websites for over a year now, and I find that implementing many of these properties right now is the most sensible way to build websites.

Until today, all of that was based on an assumption: that I can produce a pixel-perfect Web page with CSS3 quicker than I can with older image-based CSS methods, and that the CSS3 page will load faster, with a smaller overall file size and fewer HTTP requests. As a single use case experiment, I decided to design and code a Web page and add visual enhancements twice: once with CSS3, and a second time using background images sliced directly from the PSD. I timed myself each round that I added the enhancements, and when finished, I used Pingdom to measure the loading times.

More…

Enjoy reading.

Load Testing Web Applications – Do it on the DOM Level!

We published the article “Load Testing Web Applications – Do it on the DOM Level!” in the 10th issue of the testing magazine “Testing Experience“. This issue is all about performance testing. The article discusses our experience in web load testing on HTTP level versus HTML/DOM level.

There is a free PDF version of the magazine that requires an online registration, where your e-mail address and country are required fields.

Enjoy reading!

Andere Blogs rund ums Testen

Natürlich gibt es noch andere Blogs, die sich mit Testen und Qualitätssicherung beschäftigen. Einige davon möchte ich heute mit einem kurzen Kommentar vorstellen:

  • DevelopSense von Michael Bolton (nicht der Sänger). Für Michael ist der Fakt wichtig, dass ein Tester viel wertvoller ist, als jede Automation. Das Hirn eines Testers ist sein Werkzeug. Er nennt es auch: Checking is not testing.
  • James Bach vertritt eine ähnliche Meinung und verurteilt die blinden Bestrebungen, alles unkontrolliert zu automatisieren. Sein Kernbotschaft dreht sich um Exploratory Testing. Das intuitive, aber nicht zufällige Testen.
  • Eric Jacobson legt sich nicht auf Gebiete fest, sondern kommentiert alles Querbeet.
  • Nicht zu vergessen das Google Testing Blog. Hier berichten Google Tester aus ihrer täglichen Arbeit und den Herausforderungen von großer Software.

Wer kennt weitere empfehlenswerte Blogs?

Die Gewöhnung an Abweichungen

Mike Mullane - Riding RocketsHeute hatte ich das Vergnügen, den Space Shuttle Astronauten Mike Mullane auf der STPCon 2009 kennenzulernen. Die STPCon ist eine Testkonferenz und Mike wurde eingeladen, um aus Sicht eines Astronauten Motivation zum Thema Testen zu versprühen. Man kann sich ja durchaus vorstellen, dass die NASA eventuell Sachen vorher ausprobiert, damit es dann erfolgreich fliegt.

Mike erzählte wunderbar, wie man als Astronaut lernen muss, die Toilette zu treffen, wie er zu NASA gekommen war, wie die Flugcomputer des Shuttles grob funktionieren usw. Aber der eigentliche Kern seiner Rede war Normalization of Deviance und es klang zunächst überhaupt nicht nach Testen.

Er erklärte uns verständlich, wie die Normalisierung von Abweichungen bzw. treffender die Gewöhnung an Abweichungen schlussendlich zu Katastrophen führt. Im Fall der NASA zu Unglücken, wie der Explosion des Challenger-Shuttles 1986.

Der Grund für das Unglück lag in einfachen Gummidichtungen (O-Ringe). Diese Ringe dichten die Feststoffraketen-Segmente ab. O-Ringe dürfen nicht porös werden und niemals mit Hitze in Kontakt kommen, denn das Innere der Rakete brennt aus und die Flamme darf nur nach unten und niemals zur Seite entweichen.

Der Hersteller entdeckte sehr zeitig, dass die Dichtungsringe mit Brandspuren von den Flügen zurückkehrten und alarmierte die NASA, da laut Vorschrift und Spezifikation niemals ein Ring mit Flammen in Kontakt kommen durfte. Da die NASA zu dieser Zeit unter extremen Druck stand, hat man das Problem verzögert, ignoriert und heruntergespielt. Immer mehr Flüge kamen mit immer mehr Schäden zurück, aber da bisher nichts passiert war, hielt man das Problem für hinnehmbar, obwohl die ursprüngliche Spezifikation und alle Warnungen des Herstellers andere Dinge erzählten.

Jeder Flug ohne offensichtliche Probleme, aber mit beschädigten Ringen, war quasi die Bestätigung der Abweichung. “Eigentlich haben wir doch kein Problem.” “Ist schon nicht so schlimm, ging doch bisher.” Am 28. Januar 1986 trat dann genau die Situation ein, die viele vorhergesagt hatten. Ein Techniker hatte sich nur um 73 Sekunden geirrt. Er hatte die Explosion am Boden erwartet.

Mit diesem drastischen Beispiel menschlicher Gewohnheit, hat er sehr schön einen unserer typischen Fehler vorgeführt, denn wir nehmen oft unter Druck Abkürzungen und gewöhnen uns dann daran, weil es ja gut ging. Jede erfolgreiche Abkürzung wird zur Bestätigung der Abkürzung, weil ja nichts passiert ist.

Für uns Tester heißt das übertragen, dass ein aus Zeitgründen ausgelassener Test wohl auch beim nächsten Mal ausgelassen wird bzw. man uns dazu “zwingt”, darauf zu verzichten, weil beim letzten Mal ja alles in Ordnung war.

Am Ende des Vortrages habe ich dann sein Buch Riding Rockets erworben, es widmen lassen und ihm die Hand geschüttelt, denn er hat Recht. Wir gewöhnen uns viel zu oft an unsere Ausnahmen und Abkürzungen… bis es eines Tages zu spät ist. In seinem Geschäft wird das dann eine Meldung in den Abendnachrichten. Glücklicherweise ist es in unserem Geschäft meist “nur” ein finanzieller Verlust.

Buchtip: Don’t make me think!

Mit dem Untertiel Web Usability: Das intuitive Web auf Deutsch erschienen, fügt Steve Krug in seiner absichtlich knapp gehaltenen Usability Fibel den alltäglichen Diskussionen um Details beim Webdesign ein Körnchen gesunden Menschenverstand hinzu.

Wie soll die Seite strukturiert sein? Wo gehoert die Suchfunktion hin? Oder letztendlich: was muss getan werden, um dem Besucher die Nutzung nicht nur gerade zu ermöglichen sondern sogar ein positives Erlebnis entstehen zu lassen? Das Buch steckt voller Beobachtungen die der Autor in Usability Tests gewonnen hat und daraus werden eindeutige Schlußfolgerungen gezogen, die man ohne weiteres übernehmen kann.

Ein Beispiel dazu ist das Kapitel zu Goodwill als begrenzter Resource: ein Besucher wird sich nicht endlos der Suche nach versteckten Informationen oder dem Kampf mit sinnlos überfrachteten Formularen ausliefern – irgendwann wird er einfach woanders sein Glück versuchen. Dazu erhält der Leser eine Liste von verbreiteten Fehlern, die alle diese kostbare Resource aufbrauchen – auch wie man genannte Fehler vermeidet wird deutlich. Ein Buch das ich schon deshalb als sehr gut geschrieben bezeichnen möchte, weil es nicht technisch orientiert ist – es hilft Einsteigern wie Profis und ist nebenbei erstaunlich zeitlos.

Don’t Make Me Think: A Common Sense Approach to Web Usability
Deutsch: Don’t make me think! Web Usability: Das intuitive Web

Buchtipp: Lessons Learned in Software Testing

Nach langer Zeit habe ich mein Softwaretest-Lieblingsbuch mal wieder aus dem Schrank gezerrt: Lessons Learned in Software Testing. Übrigens eine Empfehlung und ein Geschenk von guten Freunden.

Für mich ist dieses Buch immer wieder eine Motivation mit QA und Testen weiterzumachen, weil es bestätigt und aufbaut. Es ist kein Wälzer mit theoretischen Lehren, sondern es enthält 293 Lektionen/Schnipsel mit wissenswerten Tipps und Ideen. Wer testet oder über das Testen Bescheid wissen muss, für den ist das Buch aus meiner Sicht Pflichtlektüre. Alle anderen Wälzer sind viel zu theoretisch und an der Praxis vorbei.

Lesson 11: You don’t assure quality by testing.