9

Principle of software testing | Noteworthy - The Journal Blog

 3 years ago
source link: https://blog.usejournal.com/the-7-principle-of-software-testing-8e5ff57669e9
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

The 7 Principle of Software Testing

“No amount of testing can prove a software right, a single test can prove a software wrong.” — Amir Ghahrai

Image Source: educba.com

No matter what type of software tester you are Manual or Automation, Beginner or Expert, working in a Startup or in a Giant Company, One thing you will need and always have to keep in mind is the 7 principle of software testing.

Some tester might have read the principle once, just to pass the job interview but if you give thorough view of each principle then it’s not just a theory, you will need to follow each principle throughout your testing career.

Let me share you what I know about the principle of software testing

Want to read this story later? Save it in Journal.

  1. Testing shows the presence of defect
    Most of the time, tester will always hunt for the bugs and found it on the application under test. But if we see the change log of most of the tested app there we can see that there is bug fixes. Of course, testing has reduced the enormous number of bugs but we can’t really say that it’s 100% bug free. So, those reported bugs during testing shows the presence of defect in an application
  2. Exhaustive testing is not possible
    Always remember, it is not possible to test all the features/modules with all set of possible data, conditions and it’s also not required even though you are a tester. So, instead of doing exhaustive testing, we should always use the technique like Equivalence Partitioning (Input data unit are divided into equivalent partitions that can be used to derive test), Boundary Value Analysis (Testing between extreme ends or boundaries between partitions of the input values) to do the quality testing.
  3. Early Testing
    Never wait for a completion of an app to test it. If that happens, it will only cause headache to all the project member. Tester will take more time, more effort and comes up with more bugs. Developer takes more time to fix and due to this, it will surely gonna impact on project cost and timeline. So, testing should be started right from the Requirement analysis phase of SDLC.
  4. Defect Clustering
    It means that a small number of features/module have caused the majority of quality issues in an application. This principle conforms with the Pareto principle, also known as the 80 -20 rule, which identifies that 80% of defects are found in just 20% of the module.
  5. Pesticide Paradox
    If the same set of test cases are executed again and again over the period of time then these set of tests are not capable enough to identify new defects in the system. So, the test cases need to be regularly reviewed & revised, adding new & different test cases to help find more defects.
  6. Absence of errors fallacy
    What’s the use of testing the software and making it bug free if that is tested thoroughly for the wrong requirement. The absence of Error is a Fallacy i.e. Finding and fixing defects does not help if the system build is unusable and does not fulfill the user’s needs & requirements.
  7. Testing is Context-Dependent
    Testing approach and cases depend on what type of software needed to be tested. Understanding the application helps to determine the plan so that it can be effective for that application. Testing of banking system is always different that testing of HR software. So testing is context dependent.

Hope the above description give some basic overview of principle of Software testing. Happy Testing !!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK