Montag, 8. November 2010

November 2010 / WNotificator

In der Firma

WNotificator:

In der Firma habe ich das Programm WNotificator getestet.
Dieses Programm wurde von der indico electronic AG entwickelt und war in der Test-Phase.
Ich übernahm dabei hauptsächlich die Rolle des Testers. Für mich war diese Rolle neu und wie sich herausstellte auch nicht gerade einfach: Man muss jede mögliche Situation testen, jeden Button anklicken, jedem möglichen Navigationsweg folgen usw.

Es war das erste Mal, dass ich in unserer Firma, in einem Team an einem Projekt arbeiten musste, welches möglichst schnell fertig gemacht bzw. auf einem Vertretbaren Stand gebracht werden musste.
Ich spielte also eine wesentliche Rolle in einem echten Projekt. Würde ich meine Arbeit nicht korrekt erledigen bekäme unsere Firma ein Problem. Das hat mich einerseits unter Druck gestellt, andererseits jedoch auch angespornt.
Auch dass ich nur bedingt kontrolliert wurde und dass ich anderen Mitarbeitern mitteilen musste, was sie zu tun haben, war eine neue Erfahrung. Es ist nicht gerade einfach alles richtig und für den Gegenüber verständlich auszudrücken, daher gab es auch Missverständnisse.

Mein Fazit davon ist:
Das ausführliche Testen eines Programmes ist sehr wichtig und anspruchsvoll. Es muss auf das kleinste Detail geachtet werden und wird etwas geändert, muss man den bereits getesteten und damals funktionierenden Teil anschliessend wieder testen. Ein Abschliessender Test ist auch sehr wichtig. Denn was einmal getestet wurde und korrekt funktionierte, kann nach 10 neuen Versionen möglicherweise nichtmehr funktionieren.

CPU-Testsystem - C#

Abgesehen von den Zahlreichen Tests, entwickelte ich ein weiteres Programm mit C#.
Das CPU-Testsystem dient dazu die Wettronic 1 zu testen.
An sich hatten wir bereits ein funktionierendes System, dafür benötigten wir jedoch extra einen Computer, denn es lief nicht auf Windows und es hatte keine Grafische Benutzeroberfläche.
Die Kommunikation mit dem Gerät erfolgte über die RS232-Schnittstelle.

Den Code für die Kommunikation war jedoch bereits vorhanden, also musste ich mich nicht darum kümmern, wie das genau funktionieren würde. Stattdessen musste ich bloss verschiedene Bits setzen, welche dann einen Test starteten. Bei den ersten Tests musste der Tester von Hand überprüfen, ob alles korrekt funktionierte. Das hiess für mich, dass ich bloss eine Messagebox öffnen und damit fragen musste, ob alles korrekt funktionierte. Das ganze musste anschliessend noch in einen Log geschrieben werden.

Den Log stellte ich als ListView dar, damit ich den Hintergrund der Einträge färben konnte.
Um einen Listview-Eintrag zu erstellen, nutzte ich eine Methode, damit ich nicht bei jedem Eintrag viel schreiben musste.
Hier seht ihr nun, wie man den Listview befüllt.
Mit der nächsten Zeile kann man die 1. Spalte der Listview befüllen. Wobei Log den Listview darstellt.
ListViewItem Item = Log.Items.Add();

Mit folgender Zeile kann man die 2. Spalte der Listview befüllen.
item.SubItems.Add("");

Um den Logeintrag nun noch einzufärben kann man folgendes benutzen.
item.BackColor = Color.Beliebige Farbe;

Damit man den Eingefügten Logeintrag auch immer sieht braucht es noch folgende Zeile:
item.EnsureVisible();
Der Effekt sieht so aus, als ob immer jemand mitscrollen würde.

Schlussendlich wurde mir von einem Mitarbeiter noch erklärt, dass man folgende Zeile ebenfalls einfügen soll, damit alles korrekt angezeigt wird.
Log.Refresh();
Warum genau es einen Refresh braucht weiss ich selbst nicht.