Select Page

My Tryst with Software Testing

Mar 13, 2015 | Guest Article, Crowdtesting

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!

Share it if you like it:

Tag Cloud

About the author

Maximilian

Maximilian

PR & Marketing Manager

Once upon a time, Maximilian wanted to become the prime minister or a formula 1 driver. Today, he makes us visible on the web. Apart from that you can find him cycling, watching movies or playing snooker.

Categories

Links

Other content that might be interesting for you:

Being in charge: How to lead a company with clear responsibilities

In a fast growing firm, there is often a lack of clarity concerning who is doing what and who is in charge of what – between and even within...

Usability Testessen – better products in 3,2,1…

On April 10th, 2019 we invited testers and companies to a lively evening full of fun to help us get better products out there in the market through...

Oops, we did it again! Testbirds is one of Germany’s most innovative companies for the second time

Capital and Statista have once again addressed the question of which companies in Germany are real pioneers in terms of innovation and determined...

The life of a Testbirds intern

The internship – for many young people today it’s a given step in the process of shaping their future. One of the last outposts of our youths, or...

Meet our Testbirds: Alexis

For this month’s tester story, we have invited Alexis from Belgium to share his Testbirds experience. He is one of the most experienced testers in...

How Load and Performance Testing ensures a relaxed Christmas season

Shopping for Christmas presents can be so stressful! Did you already buy all the presents on your lists? Christmas is coming surprisingly fast this...

Learn from our Bird Rob: Screencasts How-To

Need help capturing the screen of your PC or mobile device when reporting a bug? Our tester, Rob, is here to save the day! Hi, I am Rob Sep. I’m 53...

Testbirds speaks at the ASQF Testing Day NRW

Diverse testing The testing industry is more complex than ever. Given the ever-changing progression in the software industry through digitalization...

The xx-factor: Female employees in IT companies

Women in IT - a rare thing? Only 15 percent of employees in an IT company are female – that is the reality in German IT firms according to BITKOM....

MSG & Testbirds: Crowdtesting MeetUp

We’re happy to announce that we’ll be hosting a joint MeetUp around Crowdtesting together with our partner msg. When? 18th March, 2020Where? msg...

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.

Subscribe to the Testbirds Whistler!

Receive updates on our innovative testing services, webinars, brand-new Nest features!

You have Successfully Subscribed!

@ Contact