Skip to main content

Layers of Testing abstractly applied to the assembly of a Chair

We recently held a community session where we completed a little exercise to get people to think about the different layers of testing, and the different types of testing in the hope that it would get their brains thinking and applying it to real life scenarios in their project and team work.

The exercise was one we had done before many years ago, but seeing as we had new starters, and not many people left from all those years ago, I felt it would be appropriate and useful to do it again. It was to take a set of instructions for the assembly of a chair and look at the different types of tests that we could apply to it to ensure it worked as expected.

The instructions were these:


It was a pairing exercise, to carry on the theme from previous sessions, and to get people collaboratively working together with people they might not normally work with, and I gave them the instructions and told them how would they test it, what types of tests would they perform and where.

I was expecting the normal things like:

- Unit Tests to check the number of pieces are correct
- Integration Tests to check that parts fitted together and worked in isolation as they should
- Acceptance Tests can the chair be sat on, does it recline appropriately etc.
- Exploratory Testing
- Performance Tests how much weight can it handle? how many times can it be sat on etc.

And maybe some others as well... However what I didn't expect was (and what came out of it):

Static Testing


People were arguing that we need more requirements? The requirements we do have aren't testable, who is the end user? What is the objective of the chair? Then there were some more outlandish suggestions, like we don't know if the chair can fly or not? 

Persona Based Testing

Without knowing the end user, different people will use the chair differently, some people will just sit in it and not move about with it, some people will want to spin round and round in it (myself being one of them). 

Security Testing

Wait... what??? Yes, we even had people talking about security testing. The question was asked, how easy is it to steal? Can it be distinguished easily from other chairs of its kind? I was kind of taken aback by this, but I thought it was an excellent approach, and one that I hadn't even thought of.

Accessibility Testing

Can everyone use the chair who it is intended for? People may be too short, they may be too light to push the recliner back. Either way, it's an important part of testing.

We also had people trying to use a mnemonic for quality heuristics and using the The Little Black Book On Test Design which I thought was pretty cool! This then got shared out after the session to share knowledge and get people talking.

As well as everything that I was expecting...

I was very pleased with the answers and how it came together. As I have said numerous times, I think it's important to have sessions like this to bring the testing team together and share ideas and get to know one another.

All in all it was another successful session (I think), and one that people enjoyed and got involved with. It's definitely a useful exercise, and one that can throw out a number of surprises, and shows that testers are people, we all think differently and can bring unique viewpoints and perceptions to projects. It would be interesting to do the same exercise with a team of developers and see how the answers differed from the testers!



Comments

  1. Thanks for Sharing the valuable information and thanks for sharing the wonderful article..We are glad to see such a wonderful article..
    QTP Training in Chennai | QTP Training Institute in Chennai | QTP Training

    ReplyDelete
  2. You can explore numerous writing related articles on topics close to the thematic of education at this blog https://buyessayonline.ninja/blog/sat-score

    ReplyDelete
  3. I don't own affordable imperativeness to see everything currently at least I've spared it also consolidated your RSS stations, so when I've time I'll have returned to investigate even more, Please do continue the obviou
    IBPS SO Recruitment 2017-2018 application fees
    IBPS PO Subject Wise Syllabus

    ReplyDelete
  4. Last Year IBPS recruited more number of vacancies in the department of clerical, probationary officers, Specialist officers, and RRBs. Candidates who are interested may visit official website for all details on IBPS Jobs. Some of the links given here you can follow it IBPS Notification 2018
    IBPS PO 2018 Recruitment
    IBPS Clerk 2018 Recruitment
    IBPS RRB Recruitment 2018

    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 follows: 



By writin…

Dealing with Selenium WebDriver Driver.Quit crashes (Where chromedriver.exe is left open)

We recently came across a problem with Selenium not quitting the webdriver and this would then lock a file that was needed on the build server to run the builds.

We were using Driver.Quit() but this sometimes failed and would leave chromedriver.exe running. I looked around and found this was a common issue that many people were having. We (I say we, as we came to the solution through paired programming), came up with the following, that would encapsulate the driver.quit inside a task and if this task takes longer than 10 seconds, then it will clean up any processes started by the current process, in the case of the issue on the build server, it would kill any process started by Nunit.

[AfterTestRun]
        public static void AfterTestRun()
        {
            var nativeDriverQuit = Task.Factory.StartNew(() => Driver.Quit());
            if (!nativeDriverQuit.Wait(TimeSpan.FromSeconds(10)))
            {
                CleanUpProcessByInheritance();
            }
       }

        private s…

Famous Movie Quotes applied to Software Engineering - Jaws

You're gonna need a bigger boat? How can that relate to Engineering?

Firstly, let me ashamedly admit, that I've never seen the whole of Jaws all the way through. It's on my list of films to watch, but whether I get round to it, is another matter!



Anyway, to apply this to engineering, it's almost like "you're gonna need more testers/developers"...

We hear this all too often when trying to push releases out the door, let's throw men at it... However, as we all know, a bigger boat/more men... isn't always the answer, it's not a guarantee of quality, or even a guarantee of getting things done quicker.

If you have a task that will take 2 hours, simply having 2 people work on it doesn't mean that it is halved, in fact often, the time taken to do the task remains at 2 hours, but the maintainability and the knowledge around that area is increased, so it's a price, in my opinion that is often worth paying.