Get more out of Bamboo with Docker – Part 1

If you search in Google for Docker and Bamboo and skip the Atlassian links, then you will find numerous links on how to create a Docker container for a Bamboo remote agent. Nice to know but what is the advantage of doing that? A remote agent that can be started and destroyed quickly? But you are still limited to the number of remote agents allowed. In my opinion, there is a far more powerful way of using Docker with Bamboo.

Continue reading

Using personas in software testing

Meet ‘grandmother’ Wilhelmina Petronella van der Linden-Zaagsma. Born on a leap day (February 29, 1928), she was bound to become a very special lady. She is a loving and caring person and especially freehanded. She visits her notary frequently to include new charities to her ever growing will. She lives in a sheltered housing apartment in Arnhem, is a widow to the late Titus van der Linden and has two children, as well as a couple of grandchildren.

Continue reading

Construct your test objects safely and easily

I am currently working on an application that has very high test coverage, which usually means applying changes is a safe and relatively easy task. Still, I felt that I was losing a disproportional amount of time fixing unit tests that failed after a change. We all know frustration is one of the best drivers of improvement; when I was facing another round of unit test fixing I created a more future proof solution instead.

Continue reading

Testing your GigaSpaces XAP application

Very often when I deliver a GigaSpaces training I get asked “I like the technology, but how would you recommend we test our XAP application?”. This happened most recently during the GigaSpaces XAP Advanced training I held in Kiev.
So I thought it would be a good idea to answer that question through this article so that everyone can benefit from it.
Continue reading

Mitchel Kuijpers on testing frameworks

A couple of interns started work at Avisi recently. Everyone of them is working on an interesting assignment. We will introduce them in the coming weeks on the blog. Today we are featuring Mitchel Kuijpers. Our testing framework is based on Selenium/webdriver and uses SauceLabs for execution. It’s a typical code first solution. Mitchel’s job is to transform it to a behavior driven framework. Continue reading

Consistent performance testing with Oracle, is it possible?

Ever wanted to improve a badly performing Oracle 11 database, or parts of it? How would you know for sure the performance improved for end users?

An Oracle database is a complex entity. It has all sorts of mechanisms to improve and optimize performance, like caching results, creating and caching execution plans, caching dictionaries, etc. When measuring query times, often the first attempt will take several seconds, while next attempts only takes a few milliseconds. That is because Oracle caches almost everything during that first attempt. In the real world though, where databases are under heavy use, caches expire. Performance is based upon first and second attempts together. This means, the more diversified the queries, the less advantage you get from caching.

Continue reading

Testing with Selenium & Saucelabs

A very important part of our software development cycle is functional testing. Luckily, functional testing techniques have evolved tremendously since the dark days of old school testing. Back then, testing was done with countless Excel sheets each having multiple tabs that reflected all the individual scenarios. Each tab looked a bit like this:

  1. Goto web-page:
  2. Click on the login link
  3. Enter username: test
  4. Enter password: secret
  5. Click login button
  6. Verify response: “Failed to login. Invalid credentials.”

Continue reading

Stress Test Lessons from the Banking Industry

Our international economic system is highly dependent on the stability and quality of numerous individual banks. In Europe the main banks are submitted to so-called ‘banking stress test exercises‘ every year since 2009. Banks must take part in the stress test if they are deemed to have a measurable impact on the economic system as whole.

We software engineers perform testing duties on a daily basis. And every project we work on will be tested, regardless of their size and complexity. For some projects we choose a risk-based approach and for a few of them we will (can) choose a 100% coverage approach.

Continue reading

EJB 3.1: Concurrency Management and (Avoiding) Synchronization

At Avisi we use a custom built EJB 3 based application for scheduling and running (automated) regression tests. This involves a queue from which objects are taken. These objects contain metadata describing the tests to execute. I won’t go into detail as to why we aren’t using Apache ActiveMQ (or a similar library) for this purpose, but I can say that we didn’t need distributed test-executing minions at that time.

Continue reading

Valori automated testing event – Microsoft’s Team Foundation Server and TrendIC’s Citratest

Yesterday, march 6th 2012, my colleague Barri Jansen and I attended Valori’sthema avond” (theme night). The subject for the evening was “New generation software for automated testing”. The event was held at Microsoft headquarters in the Netherlands, which is located almost on top of the runway at Amsterdam’s Schiphol airport.

Continue reading