Technical

These blogposts are my opinions from reflections on topics relating to my current area of interest - Enterprise Agility, Leadership, Entreprenuership, Personal Development and Complexities of Africa.

Why do you need to learn SQL as a tester?

In the last 5 years or so, we have been training and mentoring Software Testers and Business Analysts and as part of the mentoring session, I ask about their experience of interviews; generally I am looking for the sort of questions the mentees are being asked and more importantly what answers were provided to the interviewers. My observations in recent years is that there is an increasing demand for manual testers with technical skills and knowledge of databases is one that sits high on the list of technical skills.

Should API test and UI Acceptance Tests be written in the same programming language?

I have written in my previous blog about how we need to distribute our tests across the testing pyramid for reasons which i have explained in the previous blog. This particular post is focussed on how we ought to design our tests across the higher levels of abstractions which includes the UI test and API tests. For the purpose of the blog, I would be using a case study of team that writes its UI Acceptance tests in protractor (Javascript) and the API tests in Java using RestAssured library.

Testing an Asynchronous System - Part 2

In this post, I would like to consider how to write automated tests for negative scenarios for a system built using an asynchronous / event driven architecture. In my previous post, i have mentioned, that these systems are peculiar because the effect of the “write” actions are not immediately stored in the persistence layer of the application under test. As an example, in the current system which i have been testing on the write side of the application, the write commands traverses though the Command API layer, the command controller layer and the command Handler layer before it ends up in the Event Store.

Testing an Asynchronous System

In recent months i have been testing a system built using the CQRS pattern. CQRS stands for Command Query Responsibility Segregation and you can read more about it here. As a tester, one of the key takeaway for me is that there is a Read side and a Write side to the application. This is very different to the other applications that i have tested in the past where a write operation would NOT be successfully until the data being sent to the application is successfully persisted.

Geb and Spock: My favourites for test automation

So I have used quite a number of tools in my time building test automation frameworks over the years; and in the last 2years i have evaluated a number of these tools and i am becoming more and more opinionated in my choice of tools. For someone that has used selenium/webdriver and cucumber a lot in the past, i find myself using Geb and Spock these days and it hasnt been much difficulty in switch to these tools.

Never too early to start thinking about your tests

This post is spurned by taking a reflection on my journey as a tester and it’s amazing to see how much i have moved from designing large UI test suites to very small UI test suites. For emphasis, the largest test suite had taken over 8 hrs and the smallest has been 3mins of execution time. There are a lot of posts on the internet about how fragile a UI test framework could be and i would expect the next question to be how have you been able to achieve this.

Copying objects between two different amazon s3 accounts

I have recently taken on ownership of a website and as part of the migration task i’ve had to copy over a few artefacts;I will be posting another blog about what i have learnt from this process. The website uses Amazon s3 for storing users’ uploaded photos and document. I was faced with the task of copying these files over to my S3 account. Quite a number of ways to achieve this; but i stumbled on a link which is a python script that copies object between two buckets in the same account.

Performance Testing experience using Ant and Jmeter - Part 2

In my last blog post, i described how i have used jmeter-plugins at my current client site, now i am faced with another problem , i need to be able to run these performance test from command line, in other for these performance tests to be executed in a CI environment such as teamcity. A quick search brings to light the ant jmeter task which is an ant task for running jmeter test.

Performance Testing experience using Ant and Jmeter - Part 1

Jmeter is a well known open source performance/load testing tool and to be fair it does a lot of stuff really well. if you wants to do some quick performance testing without a whole lots of infrastructure around it then it is great. I started out my task with jmeter with some objectives: <li> A tool that i could integrate into a CI tool such as teamcity</li> <li> Meaningful graphs that could be easily interpreted by any one in the team</li> <li> Able to integrate the graphs into teamcity</li> <li> Able to monitor the performance of the website under test.

Stumbled on Chrome Net Internal

Sometime i would use my blog as a place to keep interesting stuff for future exploration. I came across the chrome net internals today and i think it exposes a lot of useful information that might be useful to testers when testing a web application. To access the chrome net internals, navigate to chrome://net-internals/ on a google chrome browser. I would be spending some more time in the future exploring this but for now its back to work.