In this competitive world of testing, with processes and methodologies being developed every day to achieve quality, how can one be up to date to attain the best results without compromising on anything and with no trade-offs?
Quality being the ultimate goal, we should never hesitate to borrow anything from other industries that will make it better.
When SCRUM a Rugby formation has made a revolution in Software Testing, why not a workplace organization methodology?
When things are going at a fast pace with bettering technology, there are still moments when we feel there is not enough time for the most important – Quality.
Being organized is the only way out. If you are looking for ways to stay organized, here is the solution.
This article uses pointers from the 5S Japanese workplace organization methodology based on five Japanese words: Seiri, Seiton, Seiso, Seiketsu, and Shitsuke.
These Japanese words translates to Sort, Straighten, Shine, Standardise and Sustain respectively.
The intention of this article is to help one understand how to implement this 5S methodology in Software Testing.
The 5S methodology
The 5S methodology as Wikipedia defines it –
“This methodology describes how to organize a work space for efficiency and effectiveness by identifying and storing the items used, maintaining the area and items, and sustaining the new order.”
The aim of the 5S methodology is to keep the place clutter free, get rid of waste and have things organized for easy accessibility.
Now the parallel
Let us start drawing the parallel here. When every phase of testing is called out, there is a list of items that will immediately come to a tester’s mind and this forms the basis.
This section, introduces the user to a few unconventional types of testing that when incorporated, will prove to be effective.
“Your mind is like this water, my friend. When it gets agitated, it becomes difficult to see. But if you allow it to settle, the answer becomes clear.” – Master Oogway (Kung Fu Panda).
The first step to getting organized to understand what is causing the clutter. In a workplace organization methodology if Sort means knowing what to keep and what to dispose, in software testing it would convert to knowing what is in scope and what is not.
Defining the scope is very important. It will help keep things focused. Scope definition is part of planning. One should consider all aspects of the project’s life cycle from goals to deliverables.
In this testing type the team pre-examines the software to ensure impact of the new requirements. This process is very useful to identify what has to be included in scope weighing the impact of the upcoming change.
“Our first game is called Well Begun is Half Done.” – Mary Poppins (Mary Poppins)
Know where to begin. Keep all that you need handy. In the 5S methodology, Straighten is to arrange items so they are easy to access.
When it comes to testing these items translate to data. Keeping data ready at a hands distance is important to be organized in the testing approach.
Once we have identified the scope, make ready the data. Sometimes, thinking of the test bed can open up avenues for recommendations.
Fuzz Data Testing
This technique involves feeding the system with a set of data to find error in coding loops and in the behaviour of the application.
Automation skills will help. This testing when conducted effectively will cover several traditional tests for boundary value, equivalence partitioning, etc. and will also test the system for recovery, etc.
“Did you rub my lamp?” – Genie (Aladdin and his Wonderful Lamp)
Rub till it shines, who knows what you will uncover. Keeping the work area spic and span has always led to higher productivity.
In testing, keep the virtual test space clean. Create Test Suites for identified tests and keep it focused for a build or release.
This phase begins with the formal test designing – keep shining your tests by breaking them down to modular test cases.
Decision Table Testing
Take this approach to ensure test coverage. This type of testing helps lay out the possible combinations in a table so none is missed. It also reduces planning effort. From this table scenarios can be picked and converted to test cases.
“With great power comes great responsibility” – Uncle Ben (Spider Man)
Once you get the handle of things and you feel you are in control, you have the responsibility of making it a standard.
Standardise best practices – Create checklists for acceptance – Freeze templates. Simple is the key. Try to keep only what is necessary. If there are Test Management Tools, these do most of the delivery related metrics for you. So don’t worry about maintaining this data.
To standardise, passing rules / conditions have to be formulated. Pick relevant parameters and establish benchmark for acceptance of an application for testing.
Remember this is not a Smoke test; it has to be at a higher level. This testing technique needs some research and this will get better with time.
“They haven’t complained yet.” – Captain von Trapp (The Sound of Music)
Don’t wait to hear feedback. Keep working by maintaining. Sustain means to maintain and also to keep improving.
Apply / document experience gained. Further develop knowledge, skills and ability gained along this methodology and use this as input to improve.
Endowment Testing: This is a periodic analysis of the application to further build. The results of this testing can help evaluate the application’s ability to grow.
Understand parallel systems in the market and recommend value added features to better the system
Taking it beyond
In some organizations, 5S became 6S – the 6th S being Safety – our parallel being Security. Once we have the basic testing in place, the methodology can be extended to include Security testing.
Adapting to this methodology in Software Testing can help the testing team get organized and be prepared for upcoming requirements which is the smaller unit of any big project.
There is no hard and fast rule here, the process can be tweaked to suite your need. This article tries to highlight a flow that will suite every software testing methodology though.
- A methodology that will suite any type of testing / domain / life cycle – Once the tester gets the basic idea of this system, it can be applied anywhere.
- Sets clear goals to keep only what is necessary – This enables the testers to stay focused.
- Augmentations tips that will help make each phase better – Introducing the tester to many more testing types that will improve quality.