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.