Donnerstag, 22. März 2018

Softwaretest bei agiler Entwicklung durch Testautomatisierung


Das Testen von Software bzw. eines fertigen Teilprodukts (Product Increment) ist ein fester  Bestandteil der agilen Softwareentwicklung und somit auch ein festes Element während eines Sprints.

Gerade bei Testfällen, die sehr oft wiederholt werden, ist eine Automatisierung sinnvoll (z.B. Regressionstests, testgetriebene Entwicklung oder schwer durchführbaren Tests). Viel zu oft wird gerade bei nicht automatisierten Tests die Anwendung nicht ausgiebig genug getestet.

Folgende Grundsätze sollten daher angewendet werden:

  • So viel Testautomatisierung wie möglich, damit bei vielen neuen oder sich ändernde Anforderungen ein lauffähiges System gewährleistet wird. Darunter fallen Unit Tests, System- und Akzeptanztests.
  • Die Rolle "Tester" innerhalb des Entwicklungsteam verteilen, damit die Zuständigkeit innerhalb des Entwicklerteams gleich ist. Keine strikte Trennung zwischen Entwickler und Tester aufbauen!
  • Teststufen des V-Modells (Einordnung von Testzyklen) aufheben, da dies innerhalb eines Sprints nicht umsetzbar ist und einen zu hohen zeitlichen Aufwand bedeutet. Die einzelnen Teststufen (Komponententest, Integrationstest usw.) sollte als kleine Einheiten innerhalb der einzelne User-Stories integriert oder teilweise als einzelne User-Story je Sprint geplant werden
  • Der finale Abnahmetest (User Acceptance Test) erfolgt jeweils am Ende eines Sprints durch den eigentlichen Auftraggeber oder Product Owner.
  • Continuous Integration, der Prozess des fortlaufenden Zusammenfügens von Komponenten hin zu einer Anwendung, hat das Ziel zur Steigerung der Softwarequalität. Hier erfolgt ein Zusammenspiel von einem Versionsverwaltungssystem z.B. SVN oder GIT, einem Artifactory z.B. Nexus, automatisierter Tests (z.B. JUnit) und einem Tool (z.B. Jenkins ) zur Verwaltung der Continuous Integration (bauen von Pakten und deployen der Anwendung). Dieser Prozess wird z.B. automatisch durch Einchecken einer Codeänderung in das Versionsverwaltungssystem gestartet.

Sonntag, 18. März 2018

AVM FRITZ!DECT Smarthome und Alexa?

Out of the box bietet AVM keine Möglichkeit seine Smarthome Geräte mit Alexa und Co. kommunizieren zu lassen. AVM überlässt diese Möglichkeit aktuell einem Drittanbieter (FB SMART HOME), sich um die Integration zu kümmern.

Um den Fernzugriff zu ermöglichen, sollte für die FRITZ!Box ein eigener Benutzer erstellt werde, der nur Zugriff auf die Smarthome Funktion bekommt. Zwingend erforderlich ist auch die Einrichtung des MyFRITZ! Dienstes, damit der externe Zugriff funktioniert.

Auf der Webseite www.fbsmarthome.site erfolgt dann die Konfiguration der Skills, anschließend sollte dann auch die AVM Geräte in der Alexa-App als Aktoren sichtbar sein.

Was das Thema Datenschutz angeht, hier sollte jedem klar sein, dass dauerhaft in der AWS-Cloud Amazon ID, FRITZ!Box Adresse, FRITZ!Box Benutzername, FRITZ!Box Passwort und die Liste der Smart Home Geräte gespeichert werden!

AVM bietet aktuell folgende Smarthome Geräte an:

Sonntag, 4. März 2018

Externe WLAN Antennen bei der Fritz!Box nachrüsten

Die Fritz!Box von AVM verfügrt in der Regel nur über interne Antennen, daher schneiden sie oft bei Tests im Bereich der WLAN Reichweite nicht sonderlich gut ab. Möchte man keinen Repeater einsetzen, lohnt es sich externe Antennen nachzurüsten.

Passende Sets gibt es hier:
FriXtender – Fritz!Box WiFi Erweiterung mit externen WLAN Antennen
Anschließend sollte auch wieder die nachfolgende Optimierung erfolgen:
http://sebastianhemel.blogspot.de/2016/07/wlan-langsam-funkkanal-optimieren.html 

Wie sicher ist mein Passwort?

In dem Beitrag Have i been pwned? Gehäckte Passwörter checken! habe ich darauf hingewiesen, wie man erkennen kann ob das eigene Kennwort bei einem Datenklau gestohlen wurde.

Mit der folgenden Webseite "HOW SECURE IS MY PASSWORD?" kann man checken, wie lange es dauern würde sein Passwort mit Hilfe von einer Brute-Force-Attacke zu knacken.

Kommandozeilen Spiel - ninvaders (Space Invaders)

Für viele die mit dem Raspberry Pi experimentieren und ihn ohne GUI bzw. X-Server betreiben, gibt es mittlerweile einige Spiele, die man nur auf der Kommandozeile bzw. in der Shell spielen kann.

Eines davon ist zum Beispiel ninvaders, dabei handelt es sich um eine Variante des Weltraum-Ballerspiels Space Invaders. Interessant ist sicherlicher auch der folgende Pacman-Klon.

Installieren kann man es einfach mit dem folgenden Befehl:
sudo apt-get install ninvaders

Danach lässt sich das Spiel mit dem folgenden Befehl starten:
ninvaders
/usr/games/ninvaders

Vielp Spaß beim Zocken!