Skip to main content

The importance of well defined COAs!

All through our lives we get told by people you get out of anything that you undertake what you put in. How can it apply to me as a Tester or as an Engineer?


Well lets start with a rather less than subtle drawing, the above shows that if you put poop (in case my 4 year old son reads this one day) into something you will most probably get poop out. It doesn't matter what that task is, it directly effects the outcome.

How does this apply to me as a Tester? Lets look at a PBI with no COAs? If we took that into a sprint, chances are we will end up with a rubbish outcome, it most probably won't be what the Product Owner wanted and it probably would be littered with bugs, and the time taken to even develop and test that thing would have been far greater than it perhaps should have!


Lets flip it, what if we had a Product Backlog Item (PBI) with well defined, testable and understood Conditions Of Acceptance (COAs) the chances are that what would come out at the end of a sprint would be a well tested PBI that meets the Product Owners requirements.

This is why it is so so important to get well understood, clear concise requirements. Requirements that can be tested and are not open to interpretation. This is also where Behavour Driven Development style language (more on this in a later post, but for now read this here by our very own Oletha Lai) can be useful in ensuring that requirements are well understood by the team!

It can pretty much be applied to so many different things, that it's important to remember, next time someone wants to bring in a PBI for a sprint with no COAs, just remind them, that we will more than likely turn out rubbish as a result! Rubbish in = Rubbish out..... That is of course not to assume that by having well defined COAs that you'll definitely deliver an amazing PBI, but it's a step in the right direction!

Comments

  1. What a well-written, precise and informative article. I enjoyed reading it throughout. I found the example of poop quite funny though. Good luck for your future.

    ReplyDelete
  2. Hi there! I know this is kinda off topic nevertheless I'd figured I'd ask. Would you be interested in exchanging links or maybe guest writing a blog post or vice-versa? My blog addresses a lot of the same topics as yours and I believe we could greatly benefit from each other. If you are interested feel free to send me an e-mail. I look forward to hearing from you! Terrific blog by the way! building link singapore

    ReplyDelete

Post a Comment

Popular posts from this blog

What is a PBI?

After my last post, I had the question of what is a PBI... so I thought i'd write a short blog post about what they are and why they are used. A PBI is an acronym for Product Backlog Item. It is a description of a piece of work that your SCRUM team will develop and deliver. When you have a list of Product Backlog Items, you then refer to that collective list as a Product Backlog. The product backlog is often prioritised and yourteam will work through each PBI, and release on a regular schedule... I am however going deep into the world of Agile development, which isn't entirely what this post is about, so I will stop myself now. A Product Backlog Item is made up of the following: Title - This is often a one liner that gives the team an idea of what the PBI is about, although it can just be an ID for the item and the team work off of that. Description - Breaks down the PBI in a bit more detail, and can be written in any style, however I prefer it to be written as follow...

Coding something simple.... or not! Taking a screenshot on error using Selenium WebDriver

I recently wrote a little function that takes a screenshot at the end of a test if it has errored. What sounded very simple at the start turned out to be quite a bit of work, and quite a few lines of code to handle certain scenarios! It's now over 50 lines of code! I'll start with what I had at the beginning, this was to simply take a screenshot in the working directory, we are using SpecFlow and Selenium to run the tests, so we are going to check if the ScenarioContext.Current.TestError isn't null, if it is, then using Selenium, take a screenshot (note the below code is a simplified version of what I had at the beginning). [AfterScenario]         public static void TakeScreenShotOnError()         {             if (ScenarioContext.Current.TestError == null) return;             var screenshotDriver = Driver as ITakesScreenshot;             if (screenshotD...

The Stickman Tester... The full version complete with deleted "scenes"!

As some of you may have seen, a little while ago I performed a 99 second talk on the Stickman Tester for the Ministry of Testing. Owing to the fact that it had to be 99 seconds, this unfortunately meant that a verse was left out in order to keep it within the time frame! It's only now that I have found the time to put the deleted verse/scene back in, and re-record it and upload it! (It's now a 120 second talk!) It talks about a testers journey in an Agile team, about how not everybody has it as good as others, and basically talks about not giving up, keep searching, or trying to change your role to make it what you want it to be. Anyway, here it is, in all it's glory. Hope you enjoy it!