1. Fundamentals of Testing Flashcards
provide a definition
Test Object
1.1. What is Testing?
A software artifact when its being tested
provide a definition
Some common problems resulting from incorrectly working software
1.1. What is Testing?
Loss of money, time or business reputation, and, in extreme cases, even injury or death
provide a definition
Software Testing
1.1. What is Testing?
A set of activities to discover defects and evaluate the quality of software artifacts
Answer a question
What assesses software quality and helps reducing the risk of software failure in operation?
1.1. What is Testing?
Software Testing
Answer a question
Does testing consists in only executing tests?
1.1. What is Testing?
No, software testing also includes other activities and must be aligned with the software development lifecycle
Provide a definition
Verification
1.1. What is Testing?
Checking whether the system meets specified requirements
Provide a defintion
Validation
1.1. What is Testing?
Checking whether the system meets users’ and other stakeholders’ needs in its operational environment.
Provide an example
Verification testing is successful, but validation testing has failed
1.1. What is Testing?
For example, there is a bug ticket describing business needs - an admin user wants to be able to use filtering on results on a certain page - and an exact issue - when filter is used then there appears an error and filtering is not being successful. A developer made a fix that fixed the error, however, filtering by some parameters still returns an empty results list, while it shoudn’t. Therefore, the fix meets the specified requirements (error is removed, filtering by some parameters works), however, it does not meet the users’ needs (filtering by some parameters is not possible)
Provide a definition
Dynamic Testing
1.1. What is Testing?
Involves the execution of software. Uses different types of test techniques and test approaches to derive test cases. Triggers failures that are caused by defects in the software
Provide a defintion
Static Testing
1.1. What is Testing?
Does not involve execution of software. Includes reviews and static analysis. Directly finds defects in the test object
Answer a question
What are the activites involved in test management?
1.1. What is Testing?
Planning, Estimation, Monitoring, Control
Answer a question
What is a role of tools in testing?
1.1. What is Testing?
Testers use tools, but it is important to remember that testing is largely an intellectual activity, requiring the testers to have specialized knowledge, use analytical skills and apply critical thinking and systems thinking.
Answer a question
What standard provides info on software testing concepts?
1.1. What is Testing?
ISO/IEC/IEEE 29119-1
Provide a list
Typical test objectives
9
1.1. What is Testing?
- Evaluating work products such as requirements, user stories, designs, and code
- Triggering failures and finding defects
- Ensuring required coverage of a test object
- Reducing the level of risk of inadequate software quality
- Verifying whether specified requirements have been fulfilled
- Verifying that a test object complies with contractual, legal, and regulatory requirements
- Providing information to stakeholders to allow them to make informed decisions
- Building confidence in the quality of the test object
- Validating whether the test object is complete and works as expected by the stakeholders
Provide a definition
Debugging
1.1. What is Testing?
Is concerned with finding causes of this failure (defects), analyzing these causes, and eliminating them
Provide a list
Typical debugging process
1.1. What is Testing?
- Reproduction of a failure
- Diagnosis (finding the root cause)
- Fixing the cause
Provide a defintion
Confirmation testing
1.1. What is Testing?
Checking whether fixes resolved a problem
Answer a question
What is a reason for performing a regression testing after a confirmation testing?
1.1. What is Testing?
To check whether the fixes are causing failures in other parts of the test object
Explain a difference
Testing and Debugging
1.1. What is Testing?
When static testing identifies a defect, debugging is concerned with removing it
Answer a question
Does a static testing requires debugging?
1.1. What is Testing?
There is no need for reproduction or diagnosis, since static testing directly finds defects, and cannot cause failures
Answer a question
What does testing as a form of quality control helps to acheive?
1.2. Why is Testing Necessary?
Testing, as a form of quality control, helps in achieving the agreed upon goals within the set scope, time, quality, and budget constraints.
Answer a question
How does testing contributes to the quality of test objects?
1.2. Why is Testing Necessary?
The defects detected by testing can then be removed (by
debugging – a non-testing activity), so testing indirectly contributes to higher quality test objects.
Answer a question
How is testing considered cost-effective in quality assurance?
1.2. Why is Testing Necessary?
Testing provides a cost-effective means of detecting defects.
Answer a question
What role does testing play in the broader context of project management and decision-making throughout the Software Development Life Cycle?
1.2. Why is Testing Necessary?
Testing provides a means of directly evaluating the quality of a test object at various stages in the SDLC.
These measures are used as part of a larger project management activity, contributing to decisions to
move to the next stage of the SDLC, such as the release decision
Answer a question
What is the significance of testing in representing user needs during the development lifecycle?
1.2. Why is Testing Necessary?
Testing provides users with indirect representation on the development project. Testers ensure that their
understanding of users’ needs are considered throughout the development lifecycle. The alternative is to
involve a representative set of users as part of the development project, which is not usually possible due
to the high costs and lack of availability of suitable users.
Answer a question
Why might testing be essential in software development beyond the primary goal of ensuring product quality?
1.2. Why is Testing Necessary?
Testing may also be required to meet contractual or legal requirements, or to comply with regulatory
standards.
Answer a question
Does “testing” and “quality assurance” mean the same?
1.2. Why is Testing Necessary?
Testing and QA
are not the same.
Fiish the sentence
Testing is a form of…
1.2. Why is Testing Necessary?
Quality Control
Provide a definition
Quality Control
1.2. Why is Testing Necessary?
QC is a product-oriented, corrective approach that focuses on those activities supporting the achievement
of appropriate levels of quality.
Provide a list
Major forms of Quality Control
1.2. Why is Testing Necessary?
- testing
- formal methods ((model checking and proof of correctness)
- simulation
- prototyping
Answer a question
Describe testing as a form of a Quality Control
1.2. Why is Testing Necessary?
QA is a process-oriented, preventive approach that focuses on the implementation and improvement of
processes. QA applies to both the development and testing processes, and is the responsibility of everyone
on a project.
Answer a question
What is a working assumption of testing as a form of QC?
1.2. Why is Testing Necessary?
It works on the basis that if a good process is followed correctly, then it will generate a good
product.
Answer a question
How test results are used?
1.2. Why is Testing Necessary?
Test results are used by QA and QC. In QC they are used to fix defects, while in QA they provide
feedback on how well the development and test processes are performing.
Provide a definition
Error
1.2. Why is Testing Necessary?
In the context of software testing and development, an “error” refers to a mistake made by a human, typically the programmer or developer, in the source code or the design of the software. It is an incorrect or unintended action or decision during the programming phase that leads to a fault or bug in the software.
Provide a definition
Error
1.2. Why is Testing Necessary?
In the context of software testing and development, an “error” refers to a mistake made by a human, typically the programmer or developer, in the source code or the design of the software.
Answer a question
For what reasons do humans make errors?
1.2. Why is Testing Necessary?
Humans make errors for various reasons, such as time pressure, complexity of work products,
processes, infrastructure or interactions, or simply because they are tired or lack adequate training.