ISTQB Exam Prep
Equivalence Partitioning
A black box testing technique appropriate to all levels of testing
Decision testing
A form of control flow testing based on decision outcomes
Keyword-driven testing
A scripting technique that uses data files to contain not only test data and expected results, but also keywords related to the application being tested. The keywords are interpreted by special supporting scripts that are called by the control script for the test.
Stub
A skeletal or special-purpose implementation of a software component, used to develop or test a component that calls or is otherwise dependent on it. It replaces a called component.
Driver
A software component or test tool that replaces a component that takes care of the control and/or the calling of a component or system.
Why are static testing and dynamic testing described as complementary?
Because they share the aim of identifying defects but differ in the types of defect they find
CAST stands for
Computer Aided Software Testing
The purpose of exit criteria is
Define when to stop testing, end of test level, and when a set of tests has achieved a specific precondition
In a risk-based approach, the risks identified may be used to:
Determine the test technique to be employed, determine the extent of testing to be carried out, and prioritize testing in an attempt to find critical defects as early as possible.
A MAJOR test planning test is
Determining exit criteria
A MAJOR test planning task
Determining the exit criteria
Static testing is performed by
Developers and designers
Typical defects that are easier to find in reviews than in dynamic testing are
Deviations from standards, requirement defects, design defects
IEEE
Does not come under international standard
User Acceptance Testing (UAT)
During this event, the entire system is tested to verify that all functional, information, structural, and quality requirements have been met. A predetermined combination of tests is designed that when executed successfully, satisfy management that the system meets specifications.
Benefits of using test tools?
Easy to access information about tests and testing and Greater consistency of tests.
EULA
End User License Agreement
A static analysis tool would be most useful for
Enforcement of coding standards
Black Box Testing Techniques
Equivalence partitioning, state transition, and Use Case Testing
Fault Masking is
Error condition hiding another error condition
Is not the project risk
Error-prone software delivered
Best basis for fault attack testing?
Experience, defect and failure data, knowledge about software failures
Best test approach when there are poor specifications and time pressures
Exploratory Testing
Setting aggressive schedules, integrating complex systems, and failing to control changes
Factors contribute to humans making mistakes that can lead to faulty software.
includes both Black box and White Box Testing features
Gray Box testing
Success factor when rolling out a new tool?
Provide training and mentoring to new users
Success factors when rolling out a new tool
Provide training and mentoring to new users.
Type of tools to be used for Regression Testing
Record/Playback
Type of tools used for Regression Testing
Record/Playback
Potential benefit of using the test support tools?
Reducing repetitive work and gaining easy access to test information.
Majority of system errors occur in the ________ phase
Requirements Phase
In which phase static tests are used
Requirements, Design, and Code
Static Analysis
Same as static testing and done by the developers
Defect arrival rate curve:
Shows the number of newly discovered defects per unit time
A common test technique during component test is
Statement and branch testing
Decision testing
Structure-based testing
System Integration testing should be done after
System testing
Reviewing the test Basis is a part of which phase
Test Analysis and Design
What consists of a set of input values, execution preconditions and expected results?
Test Case
Hand over of Testware is a part of which Phase
Test Closure Activities
Code Coverage is used as a measure of what?
Test Effectiveness
Reporting discrepancies as incidents is a part of which phase
Test Implementation and execution
Test data planning essentially includes
Test Procedure Planning
Test Case grouped into Manageable and scheduled units are called as:
Test Suite
The ____________ may facilitate the testing of components or part of a system by stimulating the environment in which the test object will run
Test harness
Risks of managing your project's schedule with a statistical reliability model are:
Testers spend more energy early in the product trying to find bugs than preparing to do the rest of the project's work more efficiently, managers might not realize that the testing effort is ineffective, late in the project, because they expect a low rate of bug fining, so the low rate achieved doesn't alar, them. It can increase the end-of-project pressure on testers to not find bugs, or to not report bugs.
Exploratory Testing
Testing carried out to achieve specific test objectives, possibly to complement structed testing.
Complete statement and branch coverage means:
That you have tested every statement and every branch in the program.
Difference between the metrics-based approach and the expert-based approach for test estimation:
The metrics-based approach uses calculations from historical data while the expert based approach relies on team wisdom.
What does the term "Test Pyramid" refer to and illustrate situations for?
The number of automated unit tests is higher than the number of automated tests for higher test levels.
Moderator
The person who leads the review of the documents, planning the review, running the meeting and follow-up after the meeting.
Failure rate
The ratio of the number of failures relative to a category and a unit of measure.
test procedure specification
The specification which describes steps required to operate the system and exercise test cases in order to implement the associated test design.
Why are experience-based test design techniques useful?
They can identify tests not easily captured by formal techniques and they make good use of tester's knowledge, intuition, and experience
Experience-based test design techniques are useful because:
They can identify tests not easily captured by formal techniques and they make good use of tester's knowledge, intuition, and experience.
Goals of a Pilot Project for tool evaluation:
To evaluate how the tool fits with existing processes and practices, to determine use, management, storage, maintenance of the tool and test assets, and to assess whether the benefits will be achieved at reasonable cost.
Test comparator tool usually associated with
Tool support for test execution and logging
requirements management tool
Tool which stores requirement statements, check for consistency and allow requirements to be prioritized and enable individual tests to be traceable to requirements, functions, and features
Requirements management tools
Tool which stores requirement statements, checks for consistency and allows requirements to be prioritized and enable individual tests to be traceable to requirements, functions, and features.
Capture/Playback
Tools involved in the automation of regression test?
What is a type of non-functional testing?
Usability testing
Business scenarios
Use cases can be performed to test
developers
Usually performs debugging activities
What can static analysis NOT find?
Whether the value stored in a variable is correct
Is a major task of evaluating exit criteria and reporting
Writing a test summary report for stakeholders
Tests are prioritized so that:
You do the best testing in the time available
Best definition of complete testing:
You have discovered every bug in the program.
Describe a characteristic of a keyword driven test execution tool
a table with test input data, action words, and expected results, controls the execution of the system under test.
Equivalence partition
an input or output range of values such that only one value in the range becomes a test case
Why is successful test execution automation difficult?
because the maintenance of the test system is difficult.
Not a Component testing
check the decision tables
Static Analysis
defects cab be found that are difficult to find with dynamic testing
Regression testing
ensure that alterations do not break existing functionality/performance
Black box testing techniques
equivalence partition, decision tables, and transaction diagrams
Purpose of test design technique is
identifying test conditions and identifying test cases
Activities performed during the selection and implementation of a testing tool
investigate the organization's test process, conduct a proof of concept, and identify coaching and mentoring requirements for the use of the selected tool.
External Failure
maintenance releases and technical assistance centers are examples of what costs of quality?
Statement coverage will not check for
missing statements
A project risk includes:
organizational factors
What is a potential product risk factor?
poor software functionality
Can be considered as success factors when deploying a new tool in an organization
providing coaching to users and defining usage guidelines.
Potential benefits of using test support tools.?
reducing repetitive work and gaining easy access to test information
Acceptance test cases are based on what
requirements
White Box Testing
same as glass box testing or clear box testing
The principal attributes of tools and automation are
speed and efficiency & accuracy and precision
Tests typically performed by developers
static analysis and dynamic analysis
Test Incident Report
summarizes the testing activities associated with one or more test design specifications.
In formal review, Rework: fixing defects found typically done by
the Author
Static analysis is best described as
the analysis of program code.
What is the important criterion in deciding what testing technique to use?
the objective of the test
Testing throughout the project in a three-dimensional sense refers to the following dimensions
time, organizational, and cultural
What is the main purpose of exit criteria?
to define when to stop testing
Software engineer's role in tool selection
to identify, evaluate, and rank tools and recommend tools to management.
A test comparator tool usually associated with
tool support for test execution and logging
A potential risk in using test support tools
underestimating the effort needed to maintain the test assets
During the software development process, at what point can the test process start?
when the software requirements have been approved
When to stop testing?
when the test completion criteria is met
A KEY test closure task is..
writing a test summary report
If you find a lot of bugs in testing....
you should not be very confident about the quality of software
Failure is
Incorrect program behavior due to a fault in the program
What is the benefit of independent testing?
Independent testers tend to be unbiased and find different defects
IEEE stands for
Institute of Electrical and Electronics Engineers
A benefit of test independence
It avoids author bias in defining effective tests
Why is exploratory testing a useful test design technique?
It is useful when there are limited specification documents available and when the testing is constrained due to time pressures
The principle of Cyclomatic complexity, considering L as edges or links, N as nodes, and P as independent paths
L - N + 2P
Requirement specifications, test cases, and user guides are good candidates for
Manual static testing
Test harness
May facilitate the testing of components or parts of a system by simulating the environment in which the test object will run.
Syntax testing
Not a part of white box testing
easy to implement and maintain
Not considered as a benefit of testing tools
The most important tests first
Order in which tests should be run?
PDCA
Plan, Do, Check, Act
During which test activity could faults be found most cost-effectively?
Planning
Main phases of a formal review
Planning, kick off, individual preparation, review meeting, rework, follow up
Equivalence Partition
An input or output range of values such that only one value in the range becomes a test case.
Characteristics of a keyword driven test execution tool:
A table with test input data, action words, and expected results, controls the execution of the system under test.
State Transition Testing
A test technique used which may be used to verify different systems depending on current conditions or previous history.
Decision Table Testing
A test technique which combines combinations of inputs that might not otherwise have been exercised during testing.
Component integration testing can be done
After component testing
Error guessing is best used
After more formal techniques have been applied
Branch testing
Also known as Algorithm test or Arc testing. A white box test design technique in which test cases are designed to execute branches.
Exploratory Testing
Best test approach when there are poor specifications and time pressures?
Equivalence Partitioning, State Transition, Use Case Testing, and Decision Table are all
Black Box testing Techniques
Skill and staff shortages
Categorized as project risks
In any software development lifecycle model, what are characteristics of good testing?
Having corresponding testing activity for each development activity, testers should be involved in reviewing documents as soon as drafts are available, and each test level has test objectives specific to that level.
Reviews, static analysis, and dynamic testing have the same objective
Identifying defects
Which aspects of testing will establishing traceability help?
Impact analysis and requirements coverage
Which activitiy in the fundamental test process creates test suites for efficient test execution?
Implementation and execution