Java: Reihenfolge der Testmethoden mit FixMethodOrder in JUnit festlegen

JUnit Testmethoden sollten so geschrieben werden, das sie unabhängig von anderen Methoden sind. Die Reihenfolge der ausführung der Test-Methoden in einer Testklasse ist auch nicht garantiert und kann von lauf zu lauf unterschiedlich sein. Das ist auch gut so.

Manchmal möche man aber dennoch eine bestimmte Reihenfolge. Dies kann seit JUnit 4.11 mit der @FixMethodOrder(MethodSorters.NAME_ASCENDING Annotation durchgeführt werden.

Die Testklasse wird einfach mit der @FixMethodOrder(MethodSorters.NAME_ASCENDING markiert. Z.B.

bildschirmfoto-2016-10-30-um-07-38-13

Ohne ist die Ausführung z.B.:

bildschirmfoto-2016-10-30-um-07-37-32

Und mit Annotation z.B.:

bildschirmfoto-2016-10-30-um-07-37-55

CSV Testdaten Generator (Oder wer testet ist feige? NEIN) und mehr Tools für CSV to …

Mit dem CSV-Testdaten-Generator kann schnell und einfach jegliche Art von Testdaten erzeugt werden. Die dann leicht in JUnit und sonstwie weiterverwendet werden können.

Auch andere gute Tools für die Bearbeitung von CSVs sind dort zu finden. z.B.

  • Convert CSV To Delimited – reformat, filter, and sort delimited data
  • Convert CSV To Fixed Width or ASCII Table
  • Convert CSV To GeoJSON
  • Convert CSV To HTML Table or MediaWiki Table New
  • Convert CSV To JSON
  • Convert CSV To KML
  • Convert CSV To Multi-line Data
  • Convert CSV To SQL
  • Convert CSV To XML
  • Convert CSV To YAML
  • Pivot CSV Tool
  • Convert Fixed Width To CSV
  • Convert GeoJSON To CSV
  • Convert HTML Table To CSV
  • Convert JSON To CSV
  • Convert SQL To CSV
  • Convert XML To CSV
  • Convert YAML To CSV

Z.B. geben wir in der Eingabe Zeile folgende Schlüsselwörter an:

seq; first; last; name; email; latitude; longitude; domain; string

Wählen noch die Anzahl der zu erzeugenden Datensätze, z.B. 10 und klicken auf „Generate Test Data“.

Schon werden die Testdaten erzeugt, z.B.:

Mit klick auf „Save to Disk“ können die Testdaten in eine Datei gespeichert werde.

Die Testdaten werden auf dem Client erzeugt, und werden also nicht an den Hersteller der Seite gesendet.

Nun können wir die CSV Testdaten auch in eine HTML Tabelle umwandeln, hier nur die Spalten 1,2,3 eingegeben:

[seq first last
1 Nevaeh Flores
2 Raymond Castillo
3 Alex Vega
4 Emery Chapman
5 Ayla Price
6 Eden Ortega
7 Eva Higgins
8 Jaden Maxwell
9 Bryson Wood
10 Gabriel West

Wer die CSV dann in XML umwandel möcht, kann dies auch leicht mit dem CSV to XML Convertertun. Hier mal die CSV die oben generiert wurde:

Oder mal eben 1000 Passwörter die 20 Stellen haben generieren mit:

seq,string(20)

Weitere Ideen?

Testfreigabe: TWFlug 0.0.1 beta für DUMP1090 zur Auswertung von Flugdaten

Habe ein Java Programm für die übersichtliche Anzeige der empfangenen Flugzeuge erstellt.
Wer einen DUMP1090 Server laufen hat, kann das TWFlug Programm starten.
Es werden bisher folgende Funktione geboten:

  • anzeige der Anzahl der sichtbaren Flugzeuge
  • erstellen einer Log Datei im Fhem Format

Das TWFlug Programm läuft auf unterschiedlichen Plattformen (Win, Linux, Mac…), bisher habe ich Mac OS X Yosemite (10.10.1) getestet. Wer vor der ersten öffentlichen Version am Test teilnehmen möchte, kann mir eine E-Mail senden.

So sieht das TWFlug nach dem Start aus:

TWFlug Programm
TWFlug Programm

Folgendes Fhem-Format wird alle 5 Minuten geschrieben, damit in Fhem Grafiken erzeugt werden können:

Das Programmfenster läßt sich skalieren, so das es auf dem Desktop schön aussieht:

TWFlug klein

Der Quellcode liegt auf GitHub.

SelBlocks für Selenium installieren oder „Wer testet ist feige“

Das Plug-In SelBlocks für die Selenium IDE darf nicht fehlen. Also über diese Seite installieren und den Browser neu starten:
Bildschirmfoto 2014-10-07 um 19.53.13

Das Plugin ist eine Erweiterung für die Selenium IDE und fügt der IDE die folgenden doch immer nötigen Befehle hinzu:

  • if, elseIf, else
  • try, catch, finally, throw
  • for, foreach, while, continue, break
  • call, function, return
  • loadJsonVars, loadXmlVars, forJson, forXml
  • exitTest

Die Selenium IDE muss natürlich vorhanden sein:
Bildschirmfoto 2014-10-07 um 19.54.42

Eine ausführliche Beschreibung und auch Beispielen sind auf dieser Seite zu finden.

Withings Pulse hat nun CSV Export für Aktivität, SPO2 und Pulse.

Für den Pulse gibt es jetzt für ein paar Werte mehr den CSV Export und zwar für SPO2, Pulse und Aktivität. Was fehlt ist noch die Schlafzeit, das kommt hoffentlich auch noch.

So sieht es im Web Interface für Aktivität aus:

Bildschirmfoto 2014-06-10 um 15.31.56
So für Pulse:
Bildschirmfoto 2014-06-10 um 15.32.47
Und so für SPO2.
Bildschirmfoto 2014-06-10 um 15.32.30

Habe das Teil nun schon 1 Jahr immer bei mir, es ist wirklich gut! Auch der Support ist nett und kompetent. Hier der 1. Blogbeitrag zu dem Teil.

Dazu passt evl. diese Mindmap zum SPO2

20140610-164332-60212755.jpg

{Update 3.10.14} Testfazit: Bugs in iOS8 Version

Der Pulse ist ganz gut aber, folgende Bugs müssen noch dringen gefixt werden, damit auch die Schlaffunktion sinnvoll genutzt werden kann.

1. Es wird reproduzierbar keine Schlafzeit aufgezeichnet, wenn der Puls manuell an und aus geschaltet wird und er auf dem Nachtisch liegt. Man will ja nicht immer das Band Nachts tragen. Das funktionierte auch bis kurz vorm Update auf iOS8. Der Support meint, das Arband muss getragen werden 😉

2. Der Status des Schalters: „Automatisch Erkennen des Aufwachens“ wird nach syncronisierung nicht auf andere Geräte übertragen.

3. Keine manuelle erfassung der fehlenden Schlafzeiten möglich. Das ist für eine Gesundheitsapp ein NOGO!

4. Kein EXPORT der PULSE Daten als CSV.

Wer auf die Funktionen verzichten kann, für den ist es ganz gut zu gebrauchen. Aus meiner Sicht, müssen die Bugs zeitnah gefixt werden. Habe dazu schon beim Support 3 Tickets erstellt, leider kommt da eine default E-Mail.

Ein Quicktest des JeeLink USB-Stick am Mac OS X

Ein JeeLink ist soeben aus England eingetroffen.

20140219-190249.jpg

Die rote Draht-Antenne und der USB-Stecker sind gut sichtbar:

20140219-190652.jpg

Wenn der JeeLink in den USB Port des Rechners gesteckt wird, leuchtet ganz kurz die Rote und Grüne LED auf.

Im Auslieferungszustand ist der JeeLink mit einem Demo-Sketch geladen. (JeeLib).

Dann die Arduino IDE starten und über den Menüpunkt Werkzeuge-Serieller Port die Schnittstelle ( /dev/tty.usbserial… ) auswählen und den Seriellen-Monitor starten. Dort unten links die Geschwindigkeit auf 57600 Baud stellen. Schon wird nach einiger Zeit diese Ausgabe generiert:
Bildschirmfoto 2014-02-19 um 19.04.19

Dann stellen wir mit:
8b 100g 31
die Frequenz auf 868 MHz für FS20 Nutzung, net group = 100 und node ID = 31 ein und klicken auf senden.
Dann werden alle paar Sekunden Daten angezeigt.

Nun schalten wir mal testweise die Aktivitäts-LED an mit 1l on
Bildschirmfoto 2014-02-19 um 19.36.46

20140219-193903.jpgAusschalten geht mit 1l off.

Erster Quicktest: OK

Wie setzt ihr den JeeLink ein?

Wie kann die BackTrack Linux Penetration Testing und Security Auditing Linux Distribution Kali auf einem Raspberry Pi installiert werden?

Zuerst das gepackte Kali Image kali-linux-1.0.5-armel-rpi.img.xz (ca. 2 GB) von Kali.org herunter laden. Auch noch die beiden Signatur Dateien SHA1SUMS und SHA1SUMS.gpg aus dem gleichen Verzeichnis.

(Optional Signatur/Unterschrift vergleichen)

(Optional) Checksumme des geladenen Archive vergleichen. Auf der Kali Homepage ist die SHA1Sum angegeben (61dfcf2272d5f63345c29f0d2c92c630777856ab). Um die zu vergleichen muss auf dem Mac noch mit

das Checksummenprüfprogramm installiert werden, wenn es nicht schon vorhanden ist. Das ist default bei Mac OS X 10.9.1 nicht der Fall. Dann der Aufruf

um die SHA1Sum Checksumme anzuzeigen.
Bei meiner Version wird diese Checksumme ausgegeben 61dfcf2272d5f63345c29f0d2c92c630777856ab kali-linux-1.0.5-armel-rpi.img.xz. Verglichen mit der angegebenen. Beide gleich. Alles ok!

Die Datei kali-linux-1.0.5-armel-rpi.img.xz entpacken wir erhalten dann die kali-linux-1.0.5-armel-rpi.img (es sind dann ca. 8 GB) mit

Image nun auf eine mind. 8GB SD-Karte schreiben, vorher schauen wo die SD-Karte gemountet wurde.
Achtung! Bei falschem Ziel kann evl. die ganze Festplatte gelöscht werden!

Stunden später.

Evl. schauen wie weit das Kopieren ist, indem in einem anderem Terminal die ProzessId ermitteln wird mit:

Unmounten der SD-Karte wenn alles fertig.

Mit ssh anmelden im Terminal:

Passwort: toor

Nun muss nur noch der SSH Schlüssel und das Root Passwort geändert werden, da alle Images das gleiche verwenden.

Evl. vorhandenen SSH Key löschen in

Root Passwort ändern mit

So jetzt kann mit dem Kali Linux auf dem rPi gearbeitet werden.

Mit gui vorher startx starten.

Viel Spaß.

Hast Du Vorschläge für die Anwendung?