What is Software Testing

What is software?

Software is a collection of a computer program that helps us to perform a task.

Types of Software

  • System software
    Example: Device drivers, OS, Severs, Utilities, etc.
  • Programming software
    Example: compilers, debuggers, interpreters, etc.
  • Application software
    Example: industrial automation, business software, games, telecoms, etc.

What is Software Testing?

  • Software Testing is a part of the software development process.
  • Software Testing is an activity to detect and identify the defects in the software.
  • The objective of testing is to release a quality product to the client.

Why do we need testing?

  • Ensure that software is bug-free.
  • Ensure that the system meets customer requirements and software specification
  • Ensure that system meets end-user expectations.
  • Fixing the bugs identified after release is expensive.

Software Quality

Quality: Quality is defined as the justification of all the requirements of a customer in a product.
Note: Quality is not defined in the product. It is defined in the customer’s mind.

Quality software is reasonable:

  • Bug-free
  • Delivered on time
  • Within budget
  • Meets requirements and/or expectations
  • Maintainable

Error, Bug, and Failure

  • Error: Any incorrect human action that produces a problem in the system is called an error.
  • Defect/Bug: Deviation from the expected behavior to the actual behavior of the system is called a defect.
  • Failure: The deviation identified by the end-user while using the system is called a failure.

Why there are bugs in software?

  • Miscommunication or no communication
  • Software complexity
  • Programming errors
  • Changing requirements
  • Lack of skilled testers and so on.