Tutorials Hut

Tutorials Hut

  • Testing Foundation

      Basics of Software Testing
       What is Software Testing?
       Objective of Testing
       Why is testing necessary?
       Common Terms used in Testing
       Verification Vs Validations
       QA Vs QC
       Debugging Vs Testing
       Seven Testing Principles
       SDLC Vs STLC
       Fundamentals of Test Process
       Software quality Factors
       Software Development Models
       Waterfall Model
       V models
       Iterative Model
       Test Levels
       Component Testing
       Integration Testing
       System Testing
       Acceptance Testing
       Strategies for Integration Testing
       Big Bang
       Stubs and Driver
       Top Down Testing
       Bottom Up Testing
       Test Types
       Functional Testing
       Non- Functional Testing
       Structural Testing
       Re-testing & Regression Testing
       Static AND Dynamic Techniques
       Static Technique
       Dynamic Technique
       Static Analysis by Tools
       White Box Techniques
       Statement Coverage Testing
       Branch Coverage Testing
       Decision Coverage Testing
       Path Coverage
       Black Box Techniques
       Equivalence Partitioning
       Boundary Value Analysis
       Decision Table testing
       State Transition testing
       Experience Based TestingTechniques
       Random Testing
       Exploratory Testing
       Error Guessing
       Functional Testing
       Integration Testing
       Unit Testing
       System Testing
       Smoke testing
       Sanity testing
       Regression Testing
       Usability Testing
       Security Testing
       User Acceptance Testing
       White Box & Black Box Testing
       Globalization & Localization Testing
       Non Functional Testing
       Compatibility testing
       Endurance testing
       Load testing
       Performance testing
       Recovery testing
       Scalability testing
       Stress testing
       Volume testing
       Test Planning and Estimation
       Test Planning
       Test Strategies Vs Test Plan
       Test Approaches
       Risk and Testing
       Product Risks
       Project Risks
       Defect Management
       Defect LifeCycle
       Severity Vs Priority

  • What are seven Software Testing principles ?

    There are seven Software Testing Principles that every software tester should know.

    Below are the 7 Principles of Software Testing

    Seven Software Testing Principles

    Seven software Testing principles

    1 – Testing shows a presence of defects

        • It is important to remember that testing shows the presence of defects and not their absence, thorough testing will give everyone confidence that the software will not fail.
        • This testing process does not confirm that any software is completely correct and completely devoid of issues.
        • Testing reduces the probability of undiscovered defects remaining in the software but even if no defects are found, it is not a proof of correctness.

    2 – Exhaustive testing is impossible

        • Software tester can’t test all combinations of inputs and preconditions ,it is absolutely impossible to test EVERYTHING .
        • Instead of testing all combinations, do risk analysis and prioritise to focus testing efforts.
        • One of the skills of testing is assessing risks and planning your tests around these – you can then cover vast areas, while making sure test the most important functions.

    3 – Early Testing (saves time and money)

        • Testing early is important in the software lifecycles because amending the code or issue at this stage is a lot easier and cheaper than doing at the end of the product’s lifecycle,
        • Start testing early to find defects.
        • Software tester should always focus on test objectives.

    4 – Defect Clustering

        • A small number of modules contain most of the defects detected.
        • As per Pareto’s Principal or 80 – 20 Rule 80% of Defects are Caused by 20% of code.
        • Once these areas have been identified, so focus testing on the sensitive areas.
        • Testing effort should be focused proportionally to the defect density

    5 – Pesticide Paradox

        • If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new bugs.
        • To overcome ‘pesticide paradox’, the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software to potentially find more defects.

    6 – Testing is context dependent

        • Different software products have varying requirements, functions and purposes so same tests should not be applied across all.
        • Tester might use a different approach, techniques, and types of testing depending upon the application type.
        • For example, testing of the e-commerce site is different from the testing of the Banking site.

     7 – Absence-of-errors fallacy

        • Finding and fixing defects doesn’t help if the system is unusable or does not meet users’ needs and expectations
        • For example -sometimes 99% of the defect-free software can remain unusable if the software is developed with the wrong requirements.

             So these are the Seven Software Testing Principles. Everyone should be aware and understand these seven principles of software testing as these are called as the pillars for testing.

     Recommended Articles:

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    Scroll to Top