Posted on by | Posted in Developer Blog, synyx Blog | Tagged , , ,

There are a number of reasons to use the Spock testing framework:

First, tests - specifications in Spock speak - written in Spock are well structured, expressive and therefore provide good readability. In addition, Spock has built-in features like data driven testing and interaction based testing (mocking). Data driven testing allows your test code to be reused, i.e. to be applied multiple times with different parameters.

Posted on by | Posted in Developer Blog, synyx Blog | Tagged , , , , , ,

Zeig’ mir Deinen Code und ich sage Dir wer Du bist.

Oftmals kommen Unternehmen mit der Bitte um einen Code-Review auf uns zu. Gründe dafür gibt es viele, jedoch dreht es sich meistens um schlechte Erweiter- und Wartbarkeit der Software und in der Konsequenz um eine langsame Entwicklungsgeschwindigkeit (höhere Kosten). Häufig sind diese Anwendungen dann neue Patienten für die Code-Clinic.

Posted on by | Posted in Developer Blog | Tagged , , , ,

The last few blogs about acceptance-testing focused on setting up a nice and scalable infrastructure to do testing through the (web)-GUI using a Selenium grid. Since we've got this running now we can go on to topics that focus how we write these tests. At synyx we try to write our web-tests as "acceptance-tests" so we first take a small dive into what that is.

Posted on by | Posted in Developer Blog | Tagged , , , , ,

After showing you how to request a remote browser from a Selenium Grid in the last part its time to put some effort in getting the grid running smoothly. Also, check out the first part of the series for the greater context of this blog post.

Posted on by | Posted in Developer Blog | Tagged , , , , ,

In the first part of the series I gave some reasons why to do acceptance testing (or webtests) as well as a rough overview how we do it at synyx. This part is rather technical and describes how to use Seleniums RemoteWebDriver to control browsers on a remote host.

Posted on by | Posted in Developer Blog | Tagged , , , , , ,

Overview - Why and how we do web-testing

In my team at synyx we wrote a lot of tests in 2012. Most of the tests were unit-tests (as a consequence of TDD), some stuff is also tested as integration-tests (sometimes because the stuff was hard to test as unit-tests, sometimes as addition to them to verify that interactions of components work properly). I can tell TDD and the special focus on tests changed the way we work pretty much and of course boosted the quality of our applications even further. Its not that we did not write tests before, but once you develop test driven you can start to trust your code which makes refactorings (evolution) easy.

Posted on by | Posted in Developer Blog | Tagged , , , ,

Modern web applications often consist of quite some configuration files that should at least be tested for validity. Think of Spring controller configurations, web application descriptors and the like that can't be tested easily using Unit Tests. Fortunately it's quite easy to start a tomcat instance on your CI system (Jenkins or Hudson) using the Tomcat Maven Plugin.

Posted on by | Posted in Developer Blog, Open Source Blog | Tagged , ,

Solr is a search server that bundles a lot of useful Lucene modules and provides an HTTP interface for querying and updating the data. The index and most of the query mechanisms are configured using XML documents, client applications normally don't need to be changed when adjusting the server configuration. As the server configuration heavily influences the quality of your users search experience it's a good idea to implement some integration tests that validate your functionality.
Solr ships with a useful abstract JUnit test case that can be used as a basis for your integration tests. I will demonstrate how to fire up a simple test using maven.
The most important part is the dependencies section of the pom: