Skip to main content

Posts

Build quality in early and often

One of the most important aspects of building good software is to encourage the concept of build, measure and learn. For companies to be able to innovate and be quick to market they must encourage a good engineering culture that sets up teams for success. In an ideal world, you should deliver to production daily. However, if you deliver software fast, but it is full of bugs, your product has a lower chance of succeeding. As an agile tester, one of your focus points has to be to speed up the feedback loop while maintaining good quality. Over the years I have laid across a few good practices that make teams build the product right and also build the right product.

Engage Test Engineers as early as possible in the development cycle Test Engineers are often treated as the last stand against finding problems before release, yet like all software activity; their focus is affected by the information available to them. In order to better understand the risk associated with changes and its poten…
Recent posts

Can projects do without Business Analysts?

My  last 2 gigs were a bit different to the usual ones from a team composition point of view. The bit that was different was that there weren't any Business Analysts on the team. My initial concerns were who would gather requirements? Who would analyse stories? Who would negotiate scope with the business? Who would be involved in Scope Management? Who would be our proxy customer?

The above questions got me concerned, but it wasn't as bad as i thought it to be. The customer was co-located with the team and we had easy access to validate our understanding on business rules, scope, sign-offs etc.

Our team composed of an IM, Devs and Testers. The IM was managing scope with the customer and getting the priorities. The team would then sit with the business to understand what the requirements were and we would create Epics and then further break them down into smaller chunks of workable stories. A thing to note here is that all roles would put their BA hat on and identify gaps if an…

Why is Testing/QA another lane on your card wall?

A typical story card wall on most Agile projects would have the following lanes
Ready for DevelopmentIn DevelopmentReady for QAIn QAReady for Customer Sign-offDone Having this lane structure gives the impression of the team working in silos. It feels like the developers work on developing the story and hand over an artifact to the QAs to now go and test and then whatever happens after that is their (QAs) problem.

In my previous projects, we have tried to combine the In Development, Ready for QA and In QA lanes to one "In-Progress" lane.

The benefits of doing this were
The responsibility to move a story to done was now owned by the team and not a specific role.Developers, Business Analysts would help with testing if testing was a bottleneck.We could set Work in-progress limits, so as to implement a pull model, where only as much work is done as can be consumed. This approach helped the team manage the flow of stories across to Done in a more sustainable way.

Testers and Automated Testing

We all know the value a tester brings to projects and the industry is now finally valuing testers as equals to developers. However, one thing that is often a debate is the input or role a tester has on automated testing. Testers can have a major influence in automated testing without having to write all tests on their own.

In my company, testers are expected to be technical and be able to write automated tests on their own. In fact the expectation is to create the Automation Framework too. I am not a fan of testers creating automation frameworks or writing automated tests on their own. I would prefer for testers to pair with developers on any automated testing activity, be it the framework or writing automated tests.

Testers understand the application backwards and they are the best candidates to identify what should be tested. Now, by collaborating with the developers, both can make an informed decision as to what can be tested and at what level. For e.g. Some tests are worth writi…

BDD is over-rated

Over the past few years, I have tried to justify the use of a BDD (Behavioral Driven Development)  framework to express my tests, but not once have been able to say BDD has helped me address a  problem which writing tests the non BDD way would not have addressed. I do understand the value BDD brings to the table, but in most projects that I have implemented BDD on, we have tried to provide a solution (BDD) to a problem that does not exist.

Let me try and explain. Lets look at the key benefits of expressing tests the BDD way (There could be more)
Collaboration between Business and DevelopmentUbiquitous Domain LanguageFocus on the behavior of the application Now, more often than not unless your business is co-located with the team, collaboration is not the easiest.

The value BDD brings here, is the business validating our understanding by reading our tests expressed in the Given When Then format (BDD) and providing feedback, as BDD expresses the behavior of the system in a language that…

Motivation of tester types

In my testing career span of close to 7 years, i have come across various testers. Every tester has unique skill sets and things that motivate them. Based on the various tasks a tester has to do on a daily basis or during a project, I would like to categorise these testers into 3 types
Manual tester Automated testerHybrid testerManual testers are mainly non-technical and are focussed more on testing applications manually. These types of testers have good domain knowledge.

Automated testers are technical testers who mainly deal with tools to help them test applications. They are given a set of test scenarios and all they need to do is automate these scenarios.

Hybrid testers are like superman. They are expected to do whatever is thrown at them and it is these types of testers that are in demand these days.

Now the interesting aspect is what motivates these testers in their day jobs. Lets take a look at this in the form of a graph where x-axis represents the various activities involved in …

vodQA-2 A grand success

ThoughtWorks, pune recently played host to the vodQA-2 event, a technical conference which brings testers from various organizations under one roof. The turnout for the event was way better than vodQA-1. The topics too were great and so was the quality of speakers. This time the event had lengthy talks, lightening talks and also a talk on TWIST, a ThoughtWorks product which is a testing tool.
This was what was covered during vodQA-2
Full Length talks Topics Organization Deepak Gole & Saager Mhatre Automated acceptance testing for iPhone Sapna Solutions Parul Mody & Vijay Khatke Cloud Testing BMC Software Ashwini Malthankar Effective use of Continuous integration by QA ThoughtWorks Vijay and Supriya Test your service not your UI ThoughtWorks
Lightning Talks Topics Organization Satish Agrawal Leadership and Innovation in a commoditized industry Persistent Systems Anay Nayak Fluent Interfaces and Matches ThoughtWorks
Name Topic Organization Fish bowl topic Transition from Manual to Automation Te…