Donnerstag, 14. Februar 2019

Skills For Teams: Testen für Entwickler

Gerade zurück vom 3 Tage Training Testen für Software Entwickler.
Zum ersten mal habe ich mein "Lego Developer Team" direkt beim Kunden eingesetzt.

Ansonsten sehr spannende Schulung mit breit gefächerten Inhalten,
eine Testing Kata durfte natürlich nicht fehlen, neben der Einführung von Unit Testing, GUI Testing mit Selenium und explorativem testen habe ich auch formelle Methoden wie z.b. der Fundamentale Testprozess nach ISTQB oder Testpläne nach IEEE 829 unterrichtet.
Dazu hatte ich ein angenehmes Team welches in einem eigenen IT Lab abseits von Störungen beheimatet war und ein Händchen für leckere Mittagsauswahl bewiesen hat.

<a href=""> Mehr über die Schulung Software testen für Entwickler</a>

Dienstag, 5. Februar 2019

What DevOps changes for testers

 What DevOps changes for testers 

Actually writing a longer article about what DevOps means for software testers, but as i was inspired on a danish meetup to write something in english here is some summary about that topic.

There are a lot of definition of what “DevOps” means, most come out that DevOps is a combination of culture, practices and tools enabling to enclose the collaboration developing and operating Software.
At the moment “DevOps” is one of the most hyped buzzwords of cause it includes the roles developers and operators but what does it mean for testers? In my opinion for testers or let´s say for everyone who does quality assurance because this does not necessarily have to be testers, there are a lot of benefits of the DevOps transformation.
The practice infrastructure as code enables to set up test environments easily at almost no cost, even it enables that all requirements of the software are described in a prober way the configuration.  As there is no more need to configure target systems manually, they could just be generated on demand for any type of test. Tools for these could be Docker for containerized environments, Ansible and Vagrant if you walk on the virtual machines path. Practices like continuous integration or continuous deployment even belong to the DevOps stack and enhance the flow of software development lifecycle.

The DevOps culture enables Teams to manage infrastructure needed by themselves, which of cause could even include the Team-members with role QA or the test Teams. This might not be completely new as some testers already managed their systems in the past, but if it comes to collaboration it might keep system configuration of development less stressfull, test and production systems more automated and closer together.

Meine Schulungen jetzt auf Skills for Teams

Seit über 5 Jahren gebe ich regelmäßig Schulungen, nun biete ich diese auch offiziell auf der Seite "Skills for Teams" an. Es ist möglich mich für alle meine Vorhandenen Skills als Trainer zu buchen, dazu biete ich 4 vorbereitete und erprobte Schulungen an.

Agile Developer Skills Alle Skills für Agile Entwickler in einer Schulung kombiniert:
Pair Programming, TDD, Clean Code, Xtreme Programming. Erlerne die wichtigen Methoden in einer Hands On Workshop Schulung

Git Schulung für ein und Umsteiger:
Einstieg in die Versionskontrolle oder Umstieg von einem anderen System ? Ob Merges, Commits, Gitish, Grundlagen, Branches, in der Git Schulung lernst du GIT auf Herz und Nieren kennen, für Programmierer und nicht Programmierer geeignet.

Test und Qualitätssicherung für Entwickler:
Mit dieser Schulung erlangen Entwickler die Fähigkeit ihre Softwarearbeiten aus der Perspektive eines Testers zu sehen. Neben QA Grundwissen werden auch Grundfähigkeiten in Methoden wie dem Explorativen Testen oder Testautomatisierung erworben.

Interesse an einer Schulung oder Bedarf an mehr Informationen?
Einfach mal schauen auf und Infos anfordern

Dienstag, 25. Juli 2017

Cucumber and Gherkin language in Nederlandse taal

Cucumber has over 60 Languages, which all can bee seen in a Language File .json gherkin-languages.js but be carefull not any cucumber implementation is working in any language whithout problems. As most projects English is the most useful language. But if you do some Language specific application for example a dutch tax calculating software. It might be usefull to use native web

Gherkin example in Nederlandse taal: Stel Als Dann

#language: nl
Functionaliteit: Een broodje Kaas maken
  Om dat ik trek heb 
  Als iemand die graag kaas eet
  Wil ik een broodje kaas eten

  Scenario: Ik mak een broodjke met kaas
    Stel ik heb een broodje
    En ik heb kaas
    Als ik de kaas op de broodje doe
    Dan heb ik een lekker broodje kaas

Gherkin example in Deutsch: Gegeben Wenn Dann

#language: de
Funktionalität: Ein Wurstbrot machen
  Weil ich Hunger habe 
  Als jemand der gerne wurst ist
  Will ich ein Wurstbrot machen

  Szenario: Ich mache ein Wurstbrot
    Gegeben ich habe ein Brot
    Und ich habe Wurst
    Wenn ich die Wurst aufs Brötchen Lege
    Dann habe ich ein Wurstbrot

Gherkin example in English: Given When Then

#language: en
Feature: Make a cup of Tea
  As an English guy
  I wanna drink Tea

  Szenario: I make a cup of tea
    Given i have a hot cup of water 
    And i have some tea
    When i put tea into the hot water
    And remove 5 minutes later
    Then i have tea 

Using Java 8 Features in Cucumber SpecDefinitions

with cucumber java 8 function you have a nice way to use anonymous function for your feature files which makes the old annotations and underscore naming convention obsolete Example code for the ultimate Bowling game .Feature from the Bowling game Kata
  Scenario: Calculating Game Score for utimate Bowling game
    Given I play a 10 rounds Bowling game
    When I bowl a game X X X X X X X X XX X
    Then the game result will be 300 points

Scenario: Calculating Game Score for the worst Bowling game
    Given I play a 10 rounds Bowling game
    When I bowl a game 00 00 00 00 00 00 00 00 00 00
    Then the game result will be 0 points

package bowling;

import cucumber.api.java8.En;
import org.junit.Assert;

public class GameStepDefs implements En {
    private Game game;
    public GameStepDefs() {
        Given("^I play a (\\d+) rounds Bowling game$", (Integer arg0) -> {
   = new Game(10);
        When("^I bowl a game ([0-9, X//]+)$", (String gameString) -> {
   = GameStringReader.createGameFromString(gameString);
        Then("^the game result will be (\\d+) points$", (Integer gameResult) -> {


Make sure to add the cucumber-java8 plugin to your dependencies in Gradle or other build Tool
dependencies {
    testCompile 'info.cukes:cucumber-java:' + cucumberVersion
    testCompile 'info.cukes:cucumber-java8:' + cucumberVersion
    testCompile 'info.cukes:cucumber-junit:' + cucumberVersion
    testCompile 'junit:junit:' + junitVersion

The 10 best PhoneGap tricks for beginners

These post waiting as a draft for 1 years ... i´ll just publish it now Deploy Early on Real Device - Deploy Automated on Real Device Seeing log Messages adb -d logcat : *:S Deployment Strategie -Seperate web application Use Build tools. Use tools which automatically install dependencies, minimize your code, prepare builds and run tests Bower, Grunt and NPM should be in your standard. Webapp and Phonegap in different repositorys. Automate as much as Possible fast builds does mean fast feedback and fast feedback means you catch errors as early as possible. Deploy fast, use a device use a test player eq B BlueStack it is faster than the usual android emulator. Use a good integrated IDE, we recommend Webstorm. Build your app locally. The remote Build via is easy for your first up. Uploading each time to build costs a lot of time, local build makes it faster. How to do that ? Install Android SDK or Android Studio C:\Development\adt-bundle\sdk\platform-tools;C:\Development\adt-bundle\sdk\tools Install Gradle set PATH ;%JAVA_HOME%\bin;%GRADLE_HOME%\bin Debugging adb logcat -c adb logcat kann man prima zusehen Problems with Angular $ This was my biggest problem cause it breaked the app completely it is a cors cross origin device problem cordova plugin add cordova-plugin-whitelist The Whitelist Plugin is required to avoid cross origin problems Build Tool Default is Gradle but for some reason Phonegap for me used ANT on remote but gradle for locale which caused some problems Use good console - original one is more verbose than intellijs [error] {"error":"Error index.html not found"} [error] Reason 1 HTML Error in index.html could cause this Reason 2 was orginated by existing /build/www directory which could not be deleted. rm -rf (ohh i got this shit linux commands on windows console) helped me to fix it . Wired solution remove and add plattforms

Dienstag, 6. Juni 2017

Agile Developer Zertifizierung - Silber und Bronze

In zusammenarbeit mit CertByCells biete ich jetzt eine Agile Developer Zetifizierung Die Zertifizierung für den Bronze Level kann Kostenlos auf der Website abglegt werden. Agile Developer Zertifizierung auf CertByCels Für die Silber Zertifizierung fällt eine Gebühr an. Generell kann die Prüfung auch Schulung abgelegt werden, hierzu sollte der Entwickler mit Agilen Praktiken wie z.b. Test Driven Development, Clean Code, Scrum, Kanban und dem Agilen Manifest vertraut sein. Für interessierte Entwickler welche noch nicht so viel Erfahrung im bereich der Agilen Softwarentwicklung haben biete ich eine Schulung an, diese eignet sich besonders für Teams welche sich noch in der Agilen Transition befinden. Agile Developer Schulung: AGILE DEVELOPER ZERTIFIZIERUNG Die Schulung Agile Developer wird als Zertifizierungsschulung angeboten und enthält sowohl die technischen Teile agiler Entwicklungsmethodik wie TDD, Pair Programming, Clean Code und Qualitätssicherung, als auch methodische Ansätze wie Scrum, Kanban, User Stories oder Agile Meetings. Die Vermittlung erfolgt neben theoretischen Einheiten auch in vielen praktischen Übungen. Inhalte: Agile Organisation: • Scrum • Das Agile Manifest • Zusammenarbeit in Agilen Projekten Agile Qualitätssicherung: • Test Driven Development • Testverfahren • Software Metriken Agile Entwicklungspraktiken: • Clean Code • Software Design Prinzipien • Xtreme Programming Die Entwicklungsbeispiele und Übungen erfolgen sprachübergreifend oder angepasst in Java, PHP, C# oder JavaScript und können auch an den Bedarf des Kunden angepasst werden. Vorkenntnisse: Entwicklungserfahrung Zielgruppe: Entwickler, die in Agilen Projekten arbeiten. Dauer: 4 Tage Verkürzung bei Vorkenntnissen z.B. Clean Code und Scrum möglich. Abschluss: Zertifizierungsprüfung Agiler Developer Silber (Cert By Cels) Die Schulung kann über gebucht werden.