Join us on a Campaign to the Top of Software Quality!
This is a call to every Quality Assurance Engineer on the Planet
What’s the Problem, Alex?
I’ve been working in Software Quality Assurance for about 10 years already and a few years ago I started thinking about my professional contribution into the industry at the time of a great challenge.
Everyone sees, that software eats our World. Software is everywhere!
But it doesn’t just expand — it goes deeper. Software occupies more and more, bigger and bigger parts of products and services. And if the product or service is not a software itself or not software-driven, then it was built or grown with software control. Look around and try to find anything hand-made!
That’s why the quality of every product and service becomes more and more dependent on the quality of software, that builds, runs or maintains that product or service.
But as much software we have, as a few good and experienced Quality Assurance Engineers we have to qualify it! Demands in software grows faster, than Quality Assurance engineers can afford. This leads to a dramatic drop in software quality.
Already today you think twice before installation of a next upgrade for your app: because you know, that after update an app can start working worse! What will be tomorrow?
Isn’t that a challenge for QA?! That’s a call of the time, guys! That’s the call for a revolution in Software Industry! That’s the call to us, to Quality Assurance, because we stuck. We can’t continue with existing practices and techniques: we need a new approaches that will address described challenges. And as to me, they already exist…
Dive into the Problem
To solve any complicated problem we always need to go deeper and investigate the root causes of it.
So did I. And what I found is that:
All test cases we create, have already been written by someone else before. We just rewrite them again and again and again, making mistakes and forgetting something all the time…
Just think about it: all test cases have already been written on the Planet! Indeed: someone already developed and tested client-server apps for years before you! Someone already tested telephony systems, networking systems, mobile apps, user interface, forms and fields — every single thing!
They have unique knowledge, experience, insights, they know what works and what doesn’t. But the thing, that they have no way to contribute to the World Wide Software Quality. They contribute only to their local projects in their companies… Recognize yourself?
We spend our valuable resources of time, brain cycles and mental energy on ‘inventing’ new test cases that have already been ‘invented’ by our colleague 10 years/a year/a month/a week ago… And if that colleague works in our company, and if we have that test case in our test cases base, and if we suspect that this case just has had to exist, then we have a chance to look for it and maybe (maybe!) to find it and simply reuse it. So many “if”s here, so it rarely happens in real life.
Test case — it’s not just a text. It’s a piece of knowledge about a Product and its Qualification. It holds the answers on 3 major questions of Qualification: What, Why and How do we need to verify. Someone already spent tons of resources to build that Piece of Knowledge. And not just time, but even more valuable resources: she put there her real Experience and Expertize. Why not just share this test case with others? I mean not the secure details of the test, but the test Idea (the What), the Way (the How) and the Reason (the Why) of this test?!
If everyone could start sharing test cases (the answers on What, How and Why), then the whole software in the World would be qualified much-much better, because we could use our globally shared Software Quality Control and Software Quality Assurance Expertise to qualify it. And we could do it times and times better and faster, than we could do it ever before.
Solution, that I believe will work out
As to me, we need to consolidate our efforts.
And the key to consolidation is a system. A system, that will allow us such consolidation and collaboration. It is a completely new approach, a fundamentally new way in test cases design: Globally Shared Software Quality Assurance Knowledge Base built into Test Cases Management Tool.
It should have 3 parts, that work together and support each other:
- Test Cases Management Tool
- Test Cases Ideas Shop
- Test Vectors Shop
The rest of an article explains every part in details.
Test Cases Management Tool
Test Cases Management Tool is all about Test Design and Test Design is all about writing and rewriting of test cases. And nothing is more important in such a tool as super easy-to-use editor, categorization of different types and search.
This system should be possible run in the cloud and on your own servers. Your tests — your rules.
Test Cases Shop / Library
This is a special place where a global Software Quality Assurance Practical Expertise is stored and cultivated. This expertise is stored in form of Ideas (What)+Way (How).
Take a look at an example (click on image to enlarge):
A very clear template:
- The Idea: no free space left on disk
- The Way on Linux platform: use fallocate command
- Test Reason: this happens in real life, that there is no more free space on disc…
Test Cases Shop must be ready to push selected test cases wherever you want in Test Cases Management Tool I’ve told above. And Test Cases Management Tool must be ready to receive such test cases templates smoothly and naturally.
So you can ‘walk along the shelves’ with such test ideas like in a shop or a library and simply pick up tests that match your situation most. Then you just pull this set to Test Cases Management Tool, modify them fast and cheap and you’re ready to start testing already!
You do not need to remember all Software Testing Theory when you
design new test cases, but you just walk along the shelves and apply your knowledge and expertise to pick up just right test cases that you need in your particular case. You don’t need to go Stackoverflow to find the way for your platform either.
The Best Quality Assurance Engineers from all over the world can contribute and use this Global Knowledge Base like any Software Developer can contribute and use Open Source projects shared on GitHub.
Test Vectors Shop
Need a WAV file of 8 kHz, 2 channels, GSM codec inside and file size should be 5-10 megabytes? Or, maybe, you need a TIFF file of 200 pages long to verify something? Got the point?
Why do you need to go Google looking for it? Why do you need to create anything of it? Would you better go to a special place, where Test Vectors from all over the World are stored and cultivated by the Best Quality Assurance Engineers of the Planet?
If you need any file (valid or broken, big or small — no matter), you can come here, find that files, download and use them in your tests.
More than that, Engineers could upload files “that broke their production” to a “wall of shame” or a “wall of fame” with a few lines of description why do you need to consider testing your system with this file. Any file of any type, that our dear customers worldwide shared with us via our products. For example, here you are 0 bytes TIFF file. This file can cause crash of ffprobe, that is used in your service, for example. And there are hundreds of such files. Got the point?
These 3 systems grow and work together as a solid one. Each system supports growth of another one and supports Quality Assurance as a discipline.
Test Cases Shop will appear soon and then Test Cases Vectors will be launched. All these systems will have cloud and on-servers hosting model.
We are going to engage all the initiative and experienced Software Engineers in this project. Everyone could be involved and help each other to build Top Quality Software all over the World.
That’s the system we’re working on right now.
If you are interested in Quality Assurance and in our systems, follow our publications here on Medium. We will keep you updated and involved!
Also, we are always happy to hear from you! Drop us a line in comments if you have anything to reply!