To write test cases for a pen, validate the product is built correctly by analysing the design (UI). Next, look at the functional items such as all the parts of the Pen and how they integrate together. Include tests for an end user to mimic a real life environment. Don’t forget to look at how the product performs and safety tests.
I was thinking for a while about how to start this intro.
I thought about telling you a story of past incidents with Pens or talk about my favourite pen.
The honest truth is after I wrote an article on how to write test cases for a Pencil, I thought, why not just write an article on how to test a Pen too?
So here it is.
Below you’ll find a combination of positive and negative test cases for a pen which you may want to include in your test plan or as part of a user journey.
Table of Contents
Context and Scope of Testing a Pen
As I was writing this paragraph, the word ‘Pen Test’ came to mind.
I just want to clarify that this article focuses on how to test a Pen (the writing device) and not Penetration Testing (cybersecurity) which is a completely different thing altogether .
What Exactly Are We Testing?
I’m only going to pick a single example of a Pen to give you an idea of how I would test it.
For the context of this article, we will be testing the following product;
- BIC Cristal Black Pen
- 1mm point / nib / tip size.
- Pen is refillable.
I will have to call out the BIC company for their incredibly awful website with terrible usability. I couldn’t find their flagship BIC product which was VERY frustrating. That’s another conversation for another day.
Right now let’s focus on the task in hand.
In the section below, you’ll find a list of different types of pens.
Types of Pens
As I mentioned above, in this article, I’m only going to look at a specific type of Pen.
Below are some types of Pen’s you may want to consider testing.
- Fountain Pen
- Ballpoint Pen
- Multi coloured
- Rollerball Pen
- Felt tip pin
- Gel Pen
I’m sure there are tons more but each of these pens have their own functions and should be tested in their own specific way.
Thinking About Test Scenarios and User Journeys
As always, ensure you have some user requirements otherwise testing your pen will be difficult and based on lots of assumptions.
Check out the video below from the Official BIC company and get an idea of how the pens are made which will give you an idea of design specifications.
Positive and Negative Test Case Examples
I’m using some assumptions and also the information that is available on the official website to base my requirements from.
They’re not ideal but with a bit of experience and common sense it gives you somewhat of an idea of what to test.
Below I’ve listed each test case into specific areas of functionality to make your life easier.
Ensure your test case is in the proper format and also includes the relevant columns. I’ve only added the minimum to get you started.
User Interface Tests
|Test Case ID||Description||Precondition||Expected Result||Postcondition|
|UI0001||Verify Pen is the actual BIC Cristal Black Pen (as per specification)||The product is a BIC Pen|
|UI0002||Verify the lid colour is black.|
Note: You can change the colour to the relevant one or create numerous steps to ensure that each colour has been tested.
|The pen lid is black (or the colour that you are expecting)|
|UI0003||Verify the ink colour is Black.||A visual check should confirm the ink colour (refill unit) is black.|
|UI0004||Verify the height of the pen is 210 mm.|
Note: This was taken from the site.
|The height of the pen is 210mm as per the spec.|
|UI0005||Verify the length/depth of the pen tip is 1mm|
Note: Taken from the website
|The Length / depth is 1mm.|
|UI0006||Verify the width of the pen is 5.5 mm|
Note: Taken from the website.
|The width of the pen is 5.5mm.|
|UI0007||Verify BIC branding is present on the main body as per the specification.||The BIC logo is present on the main body.|
|UI0008||Verify the pen consists of a lid||A removable pen cap is present.|
|UI0009||Verify the lid is on the pen as a default||The pen lid is tightly fitted.|
|UI0010||Verify the lid is positioned exactly as per the specification |
Note: I’ve noticed that the lids are not always put on in the same position, which is quite poor
|Use more than one of the same pen to compare like for like.|
Ideally take 3 random pens.
|The pen cap is positioned in exactly the same location on all random pens that were chosen.|
|UI0011||Verify the pen consists of the main body||The pen consists of a plastic main body.|
|UI0012||Verify the shape of the main plastic body is a hexagon with 6 equal sides as per the specification||The main body is a hexagon shape where the ‘top’ is located.|
|UI0013||Verify the pen consists of a top to prevent the refill from falling out||The pen consists of a top on the opposite end where the lid is.|
|UI0014||Verify the refil is present||Inside the main body consists of a refill.|
|UI0015||Verify the refill contains x% of ink.||The plastic ink refill is full upto x% of ink.|
|UI0016||Verify the main body has 2 holes present in the middle of the body on opposite sides (this is also a potential safety test)||Main body has 2 holes either side.|
Functional Tests (Includes negative and positive testing)
|Test Case ID||Description||Precondition||Expected Result||Postcondition|
|FUN0001||Verify the lid comes off comfortably when pulled with the fingertips. |
Note: Not too much force should be required.
|The lid will come off after some mild pressure.|
|FUN0002||Verify lid (pen cap) fits tightly when put back onto the side of the nib,|
(it should fit snug and not fall off if you save it around or even thrown it)
|The pen cap fits tightly against the main casingThe lid does not interfere with the nib giving it sufficient space.|
|FUN0003||Verify the lid fits on the opposite end (should for snugly without falling off).||The pen lid fits tightly against the tip when some gentle pressure is applied.|
|FUN0004||Verify lid can be removed from the opposite end easily.||The pen lid is comfortably removed.|
|FUN0005||Verify the user|
|FUN0006||Verify nib is attached to the refill securely.|
Note: The user would try and pull the nib gently to see if it comes off easily and check how secure it is.
|The nib is connected securely to the refill.|
|FUN0007||Verify user can change ink by removing old refill and replacing it with a new one.|
Caution: Exercise caution as the ink may potentially leak.
|The nib is removed from the refill after some medium pressure has been applied.|
The nib should NOT come off easily with light or mild pressure.
|FUN0008||Verify user is able to write with new refill and the ink dispenses on paper.|
Note: The test here will check to see if the new ink refill will write after it has been changed.
|The pen should be in it’s default state.||The user is able to write after a new ink refill has been changed.||The new ink refill should be present in the pen.|
|FUN0009||Verify pen writes when the nib is down||Pen must be pointed downwards.||The pen writes successfully when the nib is pointed downwards.|
|FUN0010||Verify the pen does not write when the nib is level||Any existing ink starts to decrease and the pen will eventually stop writing.|
|FUN0011||Verify pen does not write when the nib is pointed upwards.||Any existing ink starts to decrease and the pen will eventually cease to dispense any ink.|
|FUN0012||Verify the pen still writes when a great deal of pressure is applied by the writer.|
Note: The purpose of the test here is to test the robustness of the build.
|The pen is able to successfully dispense ink on the paper and user is able to write ‘as expected’.|
|USBTY0001||Verify that pen is comfortable to hold. |
Note: This is subjective but the user should be able to hold the pen in a position where they can write without any problems.
|The pen is comfortable to hold and the user is able to write comfortably.|
Note: If the pen is uncomfortable and the user is unable to get a comfortable grip then this is a possible usability testing issue which should be raised.
Non functional Testing
|NFR0001||Verify the pen is stored in the box safely.||The pen is safely secured in a box.|
You might be interested in learning about a non functional requirements checklist.
|PERF0001||User can write for “x” minutes without the pen degrading in performance. |
Expected is that ink continues to be dispensed for “x” minutes and doesn’t run out.
|The user is able to write successfully on paper for “x” minutes.|
The ink should be dispensed consistently with no gaps or smudges.
|PERF0002||Does the pen substantiate marketing claims? E.g writes 2x more. |
Note: You’ll have to understand the initial baseline this claim was made against.
|Look at the baseline of the initial claim.||The pen will write for the minimum time claimed.|
Note: You could run this over a period of phases as it may take a while before the ink runs out.
Security Testing (health and safety)
|SEC0001||Verify the lid (pen cap) has a hole at the tip (safety feature to prevent choking and leaking of ink).||The pen cap contains a hole in the lid.|
Points to Note:
I noticed a few areas of improvement that the BIC company can undertake as part of its quality control.
The positioning of the lid against the pen should be exactly the same position for all pens. For example, in the image below, I took a random sample of pens that I have at home and lined them up together.
I checked this on black, blue and red pens which I currently have at home and the lids were in different positions. This is equivalent to a UI cosmetic issue.
It may not be a big issue or a showstopper, but from a branding perspective, I think small details like these are VERY important.
Although packaging isn’t really in scope for this article. You would also look at how the pen actually fits inside the box as per specification.
Testing the packing itself is a project within itself.
I did include one test case for this as an example.
The packaging could be the equivalent of running a storage test.
How a Pen is a Great Example of End to End Software Testing
As I was writing this article, I realised that a Pen is a fantastic example of explaining software testing to a non-techie.
Let me explain.
Validating the User Interface (UI) for a Pen
Physically looking at how the product looks can be compared to the UI.
Is everything in the right place and how you’d expect it to be?
So for example, is it the right shape, colour and are all the relevant parts visible?
You DON’T need to do any tests at this point, just confirm that visually and aesthetically everything looks as it should.
Comparing the pen against the design is the same as comparing to the User Interface Specification(s)..
Another example is a house. Does the house look exactly the same as compared to the Architect’s drawings? If it does then great, cosmetically it’s good. If it doesn’t then we have an issue so a potential defect needs to be raised.
Functional Testing (System and Integration Testing)
Before the product can be acceptance tested by the end user, do all the individual items work as potential standalone items and together as a unit?
As part of a system test, you want to test each item in isolation to ensure it works as designed.
So for example, does the lid work (system testing)?
Can the refill be removed and inserted?
Can the tip be removed and added?
You then want to conduct an integration test where all these items are working together correctly as a unit.
For example, does the pen tip (nib) connect to the refill?
Subsequently, does the refill then fit into the plastic cover allowing the user to write?
Do all the parts fitted together then allow the user to write on a piece of paper?
User Acceptance Testing
Once the product has been integrated tested for functionality, the next stage is to pass it to the end user.
This will be the last testing level before it is ready to be implemented.
This is where Acceptance Testing (UAT) will occur.
Your end user will generally be your product team or a focus group that will test the product is fit for purpose.
It should NOT be the Test Team.
As an end user, your job will be to develop test scenarios which mimic day to day usage of the product.
You should NOT be testing for functionality.
Your end user should think about their job role and how they use the product on a day to day basis in order to complete their tasks.
If it works as expected then then the end user can sign off the acceptance tests and the product is potentially ready for the real world.
If you ever have to explain software testing a non software example, a pen is a really good idea.
In fact, next time someone asks me to explain software testing in a REALLY easy way, I’ll use the example of Testing a Pen.
Whilst writing the test cases above, I actually held the exact model of the pen in my hand and looked at the possible test cases I could think of.
Thankfully being a parent of primary and secondary school kids, I have a stock of pens hidden away for when they’re required.
I can really appreciate how these products are tested as I didn’t even think about half of these scenarios until I actually put some thought into it.
Writing this article was a lot of fun (especially taking the images).
If you have benefitted from this article or feel someone else can, please feel free to share the knowledge.
Until the next article.