Week 10 Flashcards
What is Software Testing?
Software Testing is the process of examining the functionality and behavior of the software through verification and validation. It ensures that the software is as bug-free as possible, meets the technical requirements as guided by design and development, and meets user requirements.
What is verification?
Verification is the process of determining whether the software is designed and developed as per the specified requirements – “Are we building it right?” It helps to save time by detecting defects at an early stage of SDLC, and could reduce or eliminate defects that may occur later in the SDLC.
What is validation?
Validation is the process of checking if the software has met the client’s true needs and expectations – “Are we building the right product?” It ensures that the expectations of all stakeholders are fulfilled, quickly aligns mismatches between the actual product and the client’s anticipated product, and improves the reliability of the end product.
What are the two parts of Quality Assurance (testing)?
The two parts are verification and validation.
How does verification and validation play a part in quality assurance?
Verification determines if the workflow has been completed correctly, whereas validation determines if the product as a whole satisfies its requirements (does it solve the original problem).
What is the leading principle in software testing?
The leading principle is that “Quality cannot be tested into software”. If it isn’t built right in the first place, it is never going to be right.
What are the goals of software testing?
The goals are to minimise the number of defects inserted, to maximise the number of defects discovered and removed, and to minimise the time span between insertion, discovery, and removal of defects.
What are the principles of testing?
- Exhaustive testing is not possible
- Efficient testing: Testing should be done to provide the best possible assessment of the software’s quality with the minimum effort, balancing the cost, time, and benefits of testing. provide the strongest guarantees whilst minimising effort.
- Independent testing: Someone else testing would be more effective, we should not test our own code.
What are the two main categories of Execution Based Testing?
The two main categories are Black Box Testing and White Box Testing.
What is Black Box Testing also known as?
Black Box Testing is also known as functional testing, or behavioral testing.
What is Black Box testing?
Black box testing is a software testing method that examines the observable functionality of the software without peering into the internal structure or workings.
What are the characteristics of black box testing?
Black box testing validates conformity to specifications, involves series of inputs and outputs comparison, is applicable to all forms of testing, is architecture independent, focuses on the expected output regardless of how it is produced, can be functional or non-functional, and does not require knowledge of the underlying system or programming skills.
What are the different black box testing techniques?
Techniques include equivalence partitioning, boundary value analysis, decision table testing, all pairs testing, state transition analysis, cause-effect graph, and error guessing.
What is Equivalence Partitioning and how does it work?
Equivalence Partitioning is a testing technique that divides input data into equivalent partitions to reduce the total number of test cases while still covering maximum requirements. It involves dividing input values into valid and invalid partitions and selecting representative values from each partition for testing.
What is boundary value analysis and how does it work?
Boundary value analysis tests values at the edges of equivalence partitions, focusing on the boundaries between partitions.