Fundamentals of Software Testing Flashcards
What categories can most software issues be divided into?
- Error
- Defect
- Failure
What is the definition of an error?
An error (or mistake) is an action performed by a person that leads to an incorrect result. This can be the user or someone buiulding the software.
What is the definition of a defect?
A defect is a flaw in a component or a system that can cause the system to fail to perform its required action.
What is the definition of a failure?
A failure is a deviationm of a system from its expected delivery. A defect causes a system to fail.
What is root cause analysis?
Root cause analysis involves trying to track the failure of a system all the way back to its root cause.
What are the four stages off a products lifecycle?
- Analysis
- Design
- Development
- Implementation
What is testing for functional attributes?
This is to ensure that the product performs an expected task
What is testing for non-functional attributes?
Is testing to measure how well or fast a task is performed and is normally measured by metrics
What are the perceptions of quality that a customer will be looking for?
- Physical Features
- Usability
- Industry Standards
- Subjective Responses
What is Dynamic Testing?
Dynamic testing is when you conduct tests while running a software program.
What is static testing?
This includes reviewing software related documentation and source code.
What does development testing include?
- Component testing
- Integration testing
- System testing
What is acceptance testing?
This is to verify that the software works as inticipated, gaining confidence that the requirements have been met. This is done primarily to gauge the risk of releasing a system at a given time.
What is maintenance testing?
This is to ensure no new defects have been introduced during development changes.
What are the main objectives of operational testing?
- Realiability - A set of attributes representing the capabilities of the software to maintain a level of performance under conditions for a period of time.
- Availability - Is where the software is ready for use whenever required.