1. Software Overview:
- A software is a collection of computer programs designed to perform specific tasks or functions.
- System Software:
- Examples: Device drivers, Operating Systems, Servers, Utilities, etc.
- Primarily manages computer hardware and provides a platform for other software to run.
- Programming Software:
- Examples: Compilers, Debuggers, Interpreters, etc.
- Aids developers in creating, testing, and debugging software applications.
- Application Software:
- Examples: Web Applications, Mobile Apps, Desktop Applications, etc.
- Directly serves the end-users by performing specific tasks or providing services.
- X Bank (company) collaborates with an IT company for software development.
- Development phases: Develop, Test, Deliver.
- The goal is to deliver a fully functional software product tailored to X Bank's needs.
- Definition:
- Part of the software development process.
- Activity to detect and identify defects in the software.
- Objective: Release a quality product to the client.
- Software Quality:
- Quality is defined as justification of all the requirements of a customer in a product.
- Quality is not defined in the product. It is defined in the customer`s mind.
- Characteristics:
- Bug-free.
- Delivered on time.
- Within budget.
- Meets requirements and/or expectations.
- Maintainable.
- Project:
- Developed for a specific customer based on their requirements.
- Product:
- Developed for multiple customers based on market requirements.
- Error:
- Human action that produces an incorrect result.
- Bug/Defect:
- Flaw in the software that causes it to behave unexpectedly.
- Failure:
- Occurs when the software does not perform as expected in a specific environment or situation.
- Miscommunication or no communication.
- Software complexity.
- Programming errors.
- Changing requirements.
- Lack of skilled testers.
8. Why do we need testing?
- Ensure that software is bug free.
- Ensure that system meets customer requirements and software specifications.
- Ensure that system meets end user expectations.
- Fixing the bugs identified after release is more expensive.