Skip to main content

My Tryst with Software Testing

Retail has faced unprecedented challenges this past year (and counting).

This month, we have a special post from our tester Pramod, from India. Read on as he tells us a little about himself and his testing experience, and explains the Seven Principles of Software Testing, a set of well-known principles used by the ISTQB (International Software Testing Qualifications Board) to certify software testers.
About Me
Hi, I am Pramod L. from India, a nation known as the land of festivals. We enjoy celebrating festivals throughout the year, and I celebrate being a software tester similarly. For every assignment I undertake, I determine why the client is looking at getting their product tested, and enjoy finding defects that bring smiles to their faces. I do not possess any formal qualification in the field of software testing but have been a part of the industry for more than a decade and a half now, and have enjoyed every minute of my journey. Presently, I am working in managerial capacity for a leading Indian IT MNC.

Pramod

About Software Testing
So, what exactly is software testing? You would most probably come back with textbook definitions of the subject, including related topics like validation and verification. But let me ask you a question. Do you remember your school days? We had to appear in exams periodically, and based on our performance, we were either promoted to the next grade, or made to study in the same grade again. So, what was happening there? We were being evaluated for the level of knowledge we had gained throughout the year. These exams were also called ‘tests’ informally, right? So, we were being ‘tested’ against some specified criteria. And this is what testing (and more specifically, software testing) is all about. We evaluate software against some specified criteria (no matter whether it is specified explicitly or implied, documented or communicated verbally).
Principles of Software Testing
Now that we know what software testing is, let us try and understand a few basic principles of the subject.1. Testing can never ensure the absence of defects: Always remember that testing can only detect defects present in a program. In case no defects are detected, it does not mean that no defects are present in the program.2. Exhaustive testing is impossible: Testing all combinations of inputs and outputs for a program is impossible, except for the most trivial of programs. Use risk analysis in order to prioritize application areas for testing.3. Early testing is beneficial: The earlier in a SDLC (System Development Life Cycle) you start testing, the better the results will be. Early testing helps in removing defects earlier, thus saving time as well as effort.4. Defects are likely to be clustered: Concentrate more on testing those areas of the application where a large number of defects have been found earlier.5. Test cases become redundant over a period of time: If you are trying the same tasks on successive versions of an application repeatedly, they will eventually become ineffective. So, innovate. Change the way you execute individual test steps contained in tasks (test cases), or use different test data. You should actually benefit from executing test cases every time.6. Testing is context dependent: Always remember that context matters. The type of testing you are likely to perform for an MCA (Mission Critical Application) is going to be significantly different from what you would perform for a routine run-of-the-mill application. Compare your comfort level in boarding a flight (whose navigation software has not been tested thoroughly) to your comfort level in using a software for choosing the best shade of paint for your home (that has been tested similarly). Obviously, you would never want to risk your life by boarding a flight being navigated using insufficiently tested software.7. Testing cannot help if the product being tested is not what has been requested: This principle termed ‘Absence-of-errors fallacy’ is really the simplest of them all. Regardless of the amount of testing you perform on a calculator application, it will not help if the user wanted a computer and not a calculator. So, concentrate on understanding client’s needs and requirements unambiguously, and accordingly, proceed with testing.
Conclusion
My advice to my friends in the software testing industry would be to never lose sight of the objective for which testing is being performed. Always understand the test objective and test requirements thoroughly before starting with testing: is it a functionality test where you search for bugs - whether exploratively or structured, or is it a usability test. Secondly, do not ever blame any member of the development team personally for any defect. Instead, work with them in order to identify the root causes of observed defects, and resolve them. Finally, never ever give up. If you are encountering a defect and the development team is not able to reproduce it, it may be a kind of infrequent bug (sometimes called a Heisenbug after the famous Heisenberg’s Uncertainty Principle). Listen to your heart and log every defect you find, don’t be discouraged by metrics that say otherwise!Happy testing! A big thanks to Pramod for sharing his story and software testing advice!

Testbirds specialises in the testing of software such as apps, websites and Internet of Things applications by using innovative technologies and solutions. Under the slogan, “Testing Reality”, the company offers various testing methods to its clients looking to optimise the user-friendliness and functionality of their digital products. With over 250,000 registered testers located in 193 countries, Testbirds is one of the world’s leading crowdtesting providers. In addition, the IT service provider utilises cloud based technologies to support customers in the optimisation of their digital products. The combination of the two testing methods delivers a unique and extensive portfolio that takes the quality of software to the next level. Testbirds was founded in 2011 by Philipp Benkler, Georg Hansbauer and Markus Steinhauser. Today, the company has over 100 employees. Other than its headquarters in Munich, there are now offices in Amsterdam, London and Stockholm, franchises in Hungary and Russia and sales partners in Italy.

© Testbirds GmbH. All rights reserved.




Insights

We provide you with the latest insights from the world of crowd testing

Stop guessing if your product meets the expectations of your users and start making decisions based on facts.

Crowdtesting

Testing Insights: Die Power unserer Crowd – mit Alexandra

Webinars

Webinar: Enhancing Customer Experience in the BFSI Sector

Press Releases

Testbirds becomes a member of the European Tech Alliance

Press Releases

Focus on customer centricity in digital transformation: Testbirds and digital agency PIA UDG start their partnership

Test Objects

Home truths – Why you need to test your smart home device

Crowdtesting

Better safe than sorry – The importance of testing

Games & Gaming

Good game! Why video games should embrace diversity

Testing Reality

Decision-making processes at Testbirds: “Nobody alone is as smart as we are together.”

Webinars

Digital Thinkers Forum – The Second Edition