Important Fundamentals of Software Testing in 2020

Spread the love

What is Software Testing?

Fundamentals of Software Testing | It is the process of executing a program or application or we can say software with the intent of finding the software bugs. Software Testing can also be stated as the process of verifying and validating that any software program or product or application to meet the technical and business requirements. It cal help in finding the design and development work of software products as expected can be implemented with the same characteristics.

Fundamentals of Software Testing
Fundamentals of Software Testing
Software testing and finding bugs

Why Testing is Necessary?

  • It is necessary because we all can make some mistakes unintentionally.
  • Some mistakes are unimportant, but some of those are expensive and dangerous.
  • We have to check everything that we produce because things can always go wrong.
  • We assume that our work may contain some mistakes and faults, hence we all need to check our work as we made when we did it.
  • However, some of those mistakes come from bad or wrong assumptions and blind spots, so we might make the same mistakes when we check out our works as made when we did.
  • That’s why we may not notice some of the flaws and mistakes in what we have produced.

 Software Testing Principle

  •   Pesticide Paradox: In the process of testing if the same type of tests is repeated again and again, eventually the same test cases will no longer be able to find new bugs.
    To overcome this, “pesticide paradox”, it’s important to review of taking a look at cases frequently and new and totally {different|completely different} cases ought to be written to exercise different elements of

    the software potentially to find more and more defects.

  • Defect Clustering: Small Number of modules contains most of the bugs or defects discovered during pre-release testing or shows the most operational failure.
  • Early Testing: IN the process of software development life cycle (SDLC) testing activities should start as early as possible and should be focused on defined objectives.
  • Absence of error fallacy: If the system built is unusable also does not fulfill the client’s needs and expectations then finding the fixing defects does not help.
  • Shows the presence of defects: Testing can show the defects are present, but it can’t prove that there are no defects. Even after Testing the software product we cannot say the product is 100% defects free or bug-free.
  • Context Development: It is basically context development. Different kinds of sites are tested differently. For example, safety-critical software tested differently from an e-commerce website.
  • Exhaustive testing is impossible: Software testing everything including all combinations of inputs and preconditions is not possible.

quality assurance | Skills for software testing

  1. Good Logical and Analytical thinking capability.
  2. Ability to face and grow business in any situation.
  3. Good sense of intellectual creativity and curiosity.
  4. Global Approach
  5. Critical thought and rational inquiry.
  6. Ability to apply basic and fundamental knowledge.
  7. Ability and willingness to learn new concepts.
  8. Intellectual integrity.

Testing Participants: Most important participants  are

  • The business customers
  • Architects, Analysts
  • Software developers
  • Outside IT teams
  • Users
  • Support

When to Start Software Testing?
quality control | In the software testing process an early start to testing reduces the costs, time to rework to that error-free software delivered to the client. However, in SDLC testing can be started from the requirements gathering phase and till the software deployment of the software or its release.
To start testing it also depends on the development model that is being used while software testing. 

When to stop Testing?

  • You can stop testing at the release deadline, testing deadline, and other deadlines.
  • Also when test cases complete a certain percentage of criteria.
  • When the test budget is limited.
  • When coverage of functionality/code/requirements reaches the specified point.
  • When the bug rate falls below a certain level.
  • when the alpha or beta testing period is over.


Spread the love

Santosh Adhikari

Hello, it's me Santosh Adhikari, from Kathmandu, Nepal. I'm a student of Science and Technology. I love new challenges and want to explore more on Software Quality Assurance. I want to be a professional SQA. I'm also interested in Blogging, SEO activities.
0 0 votes
Article Rating
Notify of
1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
5 years ago

Nice Article.