Softwareentwicklung aus Sicht eines Testers

In Zeiten immer schnellerer Computer mit Arbeitsspeicher jenseits der 4GB Grenze verschlingen die neuen Programme zunehmend mehr und mehr dieser Resourcen.
Ich meine hier nicht die neuen 3D Spiele die immer bessere Grafik aufweisen, bei denen finde ich das OK.
Das aber Entwickler von Client/Server Applikationen auch mal eben alles in den RAM pusten und dort halten weil es einen „Performancezuwachs“ bringt halte ich für sehr bedenklich.
Mir ist bewusst dass das jetzt klingt als wäre ich im gestern stehen geblieben aber meiner Meinung nach sollte jede Anwendung (auch ihre Komponenten) ihren Arbeitsspeicher möglichst intelligent verwalten, um auch anderen Anwendungen eine Koexistenz zu ermöglichen bzw. dem System selbst auch noch was übrig zu lassen.
In meiner Tätigkeit als Software Tester konnte ich dies schon mehrmals beobachten.

Bei meinen Recherchen ob das gängige Praxis ist bin ich mehrmals auf die regeln

  • make it run
  • make it right
  • make it fast
  • (make it small)

Source: James Coplien and Kent Beck, „After all, we can’t ignore efficiency – part 2“

gestoßen. Aus meiner Sicht umfassen diese Stichpunkte genau das was wirklich wichtig ist.

** Die folgende auflistung gibt nur meine Meinung zu den Stichpunkten wieder. **

make it run:
Hier sollte die Spezifikation der Applikation zusammen mit Kunden, Entwicklern und Testern erfolgen.
Die sogenannten Kick Off Meetings. Dies bedeutet man bringt das Projekt ans laufen.

make it right:
Zu diesem Zeitpunkt ist das Projekt schon in den Händen der Entwickler.
Diese sollten in dieser Phase darauf achten das ihr Source Code Modularisiert, Kommentiert, Wiederverwendbar und Wartbar ist.

Da die Tester nicht immer Zugriff auf den Source Code der Applikation haben (Blackbox), sollten Schnittstellen für Automatisiertes Testen ebenfalls implementiert werden damit wiederkehrende Testaufgaben schneller überprüft werden können.
Ein Exploratives Testen ist meist sehr Zeitaufwendig und kann von Tester zu Tester zu unterschiedlichen Ergebnissen führen. Daher sollte der Anteil der Automatisierten Tests bei ca. 60 – 70% liegen.
Die restlichen Prozente müssen von Hand durchgeführt werden, da ein Automatisierter Test schlecht die Benutzerfreundlichkeit einschätzen oder wenn erforderlich den PC Herunterfahren und sich neue Hardware einbauen kann.
Sicher es gibt Virtualisierungssoftware die auch Hardware durchreichen kann (Passthrough), nur dann stellt sich die frage verhält sich die Hardware jetzt auch ordnungsgemäß.

make it fast:
Bei diesem Schritt soll die Applikation noch optimiert werden in Hinblick auf Ladezeiten, Speicherverbrauch und Code Optimierung.

Bei der Code Optimierung muss allerdings darauf geachtet werden das die Wartbarkeit des Codes nicht darunter leidet und das Kommentare auch nachgezogen werden.

make it small:
Bezogen auf den benötigten Festplattenplatz würde ich dies verneinen aber im Hinblick auf den Arbeitsspeicherverbrauch, naja da sagt der vorangegangene Text eigentlich alles.

Soviel jetzt zu meiner Meinung. Was ist eure? Was haltet ihr von der Resourcenverschlingerei der neuen Programme?