Thinking Out of the Box While Testing Software!


This is a phrase that you come across dozens of times a day, ‘Creative Thinking’ or ‘Out of the Box Thinking’.

Do we know what it actually means when we say ‘Thinking out of the Box’?

As per Wikipedia:

Thinking outside the box is to think differently, unconventionally or from a new perspective. This phrase often refers to novel or creative thinking”

But the above definition could be extended when we relate it to our field, Software Testing.

When we step into the field of software testing the first thing we are taught or we learn are the Two Boxes, a white box and a black box. Since then all we do is either black box or white box testing. This has limited our mind from thinking beyond the boxes. Did we ever think that going beyond these could help us in gaining a higher pace towards a solid career in software testing?

Software Testing Tips

Below we will be discussing a few techniques which I follow and many of my Mentors follow as well,


Rapid Fire Test Case Creation:

This technique, as the name suggests is about rapidly creating test cases. The first thing that comes to our mind when we talk about test case creation is a Requirement Document, an Excel Sheet and some guidelines provided by the organization. For once keep aside all the things, get an idea about what you think you are about to test , Pick up a Pen and a Paper and write as many scenarios you can write within 60 seconds. Repeat the process till you are not able to think of more scenarios or ideas and finally review them.

You will definitely be surprised by the number of ideas you already have without looking into the requirement document.

 

Cross Testing Ideas(Analogy):

While testing an application, treat it like an entirely different application which you have used before and then start testing. Doing this you might come across issues which are not part of the requirements but is just a common/generic feature which should be present and often overlooked.

For Example: If you are testing a portal, use it like you use your E mail program or any application which you worked on before and see how the application behaves.

I remember exploring a critical defect using this technique. I was testing a secure login of a finance application and tried altering the URL and navigating to a different page (which was a defect in my last tested application). By doing this I was able to bypass the login mechanism using Secure ID and this was neither a test case nor any other team member thought that this could be one of the scenarios.

 

Reverse or Backward Testing Ideas:

What is the normal work flow you follow while testing?  Isn’t it the exact same steps which were used while developing the application, Requirements >> Unit Cases >> Integration Testing >> System Testing or any other approach?

The minds of the people working on the development of an application are bound to think in the direction which will cover more positive testing. The End User might not do the same every time that is the reason why Production Defects or UAT Defects exists even after extensive rounds of Unit Tests, Integration test and System Tests.

------------

For Example: Requirement says you can upload a file which does not exceed file size of 10 MB. The most testers will follow uploading a 1MB, 2MB, 3 MB and so on till 10 MB is reached or error message is displayed. Why not start with 10MB and then try 11MB and then 9 MB. This example is nothing but a BVA but how many of us have tried using BVA in scenarios other then an input box.

 

Questioning:

Ideally every QA engineer should know the purpose of a requirement. Putting up questions will help a QA Engineer to refine his purpose of testing. If a QA Engineer is good at questioning he/she will be good at testing by default. You need to make sure none of the questions how so ever small or silly is ignored.

And in turn questioning will also enhance the domain knowledge of the person performing the testing.

 

Researching:

Researching proves to be very beneficial before starting the testing, just be aware of the issues which other people faced while doing similar assignment. Say you have to start a cross browser testing as one of your assignments. Before starting the tests researching the issues which other people encountered while using the same browser will help you find defects before starting the actual testing.

 

Pause: an ice breaker

Testing sometimes could be a monotonous process and the ideas may begin to saturate, you might start feeling that none of the solutions are working out or you might even run out of ideas. In such cases an effective Pause can do a lot of wonders and could help you kick start from where you left.

A Pause could be a Coffee or simply gazing out of the window.

Apart from being Creative, timing, speed of implementation of ideas and their execution are of high importance. You might get an excellent idea but what if it is too late to implement it.

Listed above are just a few ideas which will help you generate more ideas in turn.

*****

This is a guest post by Mohit Khatri. Author is specialized in testing Banking Applications, Automation Testing Frameworks and Security Testing. If you want to guest post on this blog, read the guidelines here.

If you have more creative techniques which you think have helped you at any point feel free to share below.


The Best Software Testing Training You'll Ever Get!

software testing QA training

38 comments ↓

#1 Kiran K. Reddy on 07.04.11 at 7:00 pm

Well said. Just want to add my perspective to think out of the box. this is quite general but can be applied easily in software testing as well.
– think differently and do things differently
– always try to find new ideas and work accordingly

good luck,

#2 Saravanan on 07.05.11 at 4:41 am

This is a good post.. It is true that testers have to think differently always. It will help them to improve alot..

All the best

#3 Poonam Sharma on 07.05.11 at 5:06 am

This post is really very good. Bcoz i m new in this field it will help me a lot.

Thank u.

#4 Gaurav Khanna on 07.05.11 at 5:47 am

Nice Post ! I like it. :-)

#5 Mythreyei on 07.05.11 at 6:28 am

The post is very good..It will help for all the people who want to build their career in software tesing

Thank you

#6 srinidhi c on 07.05.11 at 7:35 am

“speed of implementation of ideas and their execution are of high importance”
This is really truth.

#7 Ravi on 07.05.11 at 7:44 am

Its really helpful for me thanks

#8 Vishal K on 07.05.11 at 8:00 am

These are the same things which i came across in my more than 2 years working experience.

If you are doing the same things which Mohit has listed down, trust me you would be on right path for a excellent testing career.

Thanks

#9 Somnath on 07.05.11 at 10:04 am

Good One. We can also implement more techniques such as mentioned into above block by thinking differently.

#10 pankaj malhotra on 07.05.11 at 12:14 pm

Great article ! yeah.. Its just different.. really out of the box :)

#11 ARUNA on 07.05.11 at 2:26 pm

It is conceptually simplified. Ur work is praiseworthy.

#12 Karuna G on 07.06.11 at 1:02 pm

This thinking makes a tester …. the different….GOOD ONE….

#13 Nishant on 07.07.11 at 7:58 am

Hi,
Can anyone please tell me what are the different software that are used in Software Testing.

Thanks
Nishant Balgovind

#14 Ranjith on 07.08.11 at 10:28 am

If The project goes Success they wont say tester did a good job,by the way If project got some issues in Production they will blame why tester has not found the issue in Test regions,

So do testing in different manner,Break the application.

good luck,

Ranjith

#15 Yamraaj on 07.10.11 at 6:30 pm

Nice article, good points discussed, but i wonder why only 2 points ? (i.e. rapid-fire and backward testing ideas)
rest of the article is quite ‘in the box’
anyway, as a whole, the article is good and at least different from many ‘typical’ articles, which is a good sign
keep it up dude

#16 Vasanthi on 07.11.11 at 3:23 am

This is a good post. I totally agree with this idea of writing down the scenarios. This is what I do when I am not given a requirements document.

Please email me more such articles.

#17 Atishay jain on 07.17.11 at 5:33 pm

this type of articles really helps to all the testing engineers in order to test software applications more easily. thanks for this post.

#18 Karimulla on 08.23.11 at 8:49 am

Its Good Article.

#19 eswaran k on 08.25.11 at 6:14 pm

good article many use for software engineers

#20 Rajesh Reddy on 09.12.11 at 3:10 pm

I am new to software testing. I hope if i follow according to your steps, it will be good for building up a nice career in Testing.

#21 RumResin on 12.02.11 at 2:51 am

Thanks for this, It’s so good article. please keep it up :)

#22 George on 01.12.12 at 5:19 am

In what areas of Functional testing there is huge demand in the market.

#23 Johayna on 01.15.12 at 9:26 am

Thank you so much.. what a great ideas :)

#24 Sangram Kumar Das on 03.02.12 at 9:57 am

Nice article about the Testers who are thinking out of their environment and all.. good one.. :)

#25 Shanmuhga raj on 04.11.12 at 10:24 am

Nice Article……..

#26 marknicholase on 04.18.12 at 4:50 am

very heplful article ,, thank you

#27 Ashwini D.S on 05.25.12 at 8:56 am

very useful article . It really helps to all the software test engineers:)

#28 susmita singh on 06.01.12 at 10:38 am

Very important article for all the testers.

#29 Gopal on 06.25.12 at 2:14 pm

Need Automation Tool -Testing training from proffesional. Need ur guidance. Can any one help me Here!

#30 Usha on 08.10.12 at 5:29 am

Very nice article…Thank you :)

#31 Vishi on 08.30.12 at 9:07 am

Difference between System testing and Black box testing

#32 Tristan on 10.06.12 at 6:36 pm

Hi,

It really helps me a lot. This article is helpful for those who are struggling with the idea of how to test. By reading this, i have gained some knowledge about testing. I hope that you can put up some more useful articles.

Thanks,

#33 Uma Mundada on 12.21.12 at 8:19 am

Good one. Thanks for sharing. It’s very helpful to get more interest in this field.

Thanks!

#34 Girish Biradar on 07.15.13 at 10:02 am

Hi ,
Very usefull to kick start the work and helpfull in think different . thanks for info keep updating .

#35 Shalu Mujawadiya on 12.16.13 at 6:24 am

Good article. Thanks

#36 Manjunath on 02.07.14 at 5:06 am

Very nice….we were doing the same things in our project but we don’t know the exact terms while we testing..after reading this i got confidence…..

#37 Puneet on 03.10.14 at 9:58 am

Good Read .. Quite Motivating…

#38 Ram k on 03.23.14 at 10:22 pm

Being a prospective tester have been browsing. I rate your concepts THE BEST. Brief, yet complete. Simple in explaining the complexities. Ex: Write up on All About Database Testing. There a class in your presentation format. Going thru makes us feel one level higher. Thanks.

Leave a Comment