Software Testing Fundamentals
A comprehensive quiz covering essential software testing concepts including black box and white box testing, test metrics, functional and non-functional testing, verification, regression testing, test strategies, and integration testing methodologies.
Questions
During which test activity could faults be found most cost effectively?
- Execution
- Design
- Planning
- Check Exit criteria completion
Verification is
- Checking that we are building the right system
- Checking that we are building the system right
- Performed by an independent test team
- Making sure that it is what the user really wants
Cyclomatic Complexity method comes under which testing method
- White box
- Black box
- Green box
- Yellow box
Which of the following is the odd one out?
- White box
- Glass box
- Structural
- Functional
What is the main difference between a walkthrough and an inspection?
- An inspection is lead by the author, whilst a walkthrough is lead by a trained moderator.
- An inspection has a trained leader, whilst a walkthrough has no leader.
- Authors are not present during inspections, whilst they are during walkthroughs.
- A walkthrough is lead by the author, whilst an inspection is lead by a trained moderator.
The cost of fixing a fault
- Is not important
- Increases as we move the product towards live use
- Decreases as we move the product towards live use
- Is more expensive if found in requirements than functional design
- Can never be determined
Error guessing is best used
- As the first approach to deriving test cases
- After more formal techniques have been applied
- By inexperienced testers
- After the system has gone live
- Only by end users
Why is incremental integration preferred over “big bang” integration?
- Because incremental integration has better early defects screening and isolation ability
- Because “big bang” integration is suitable only for real time applications
- Incremental integration is preferred over “Big Bang Integration” only for “bottom up” development model
- Because incremental integration can compensate for weak and inadequate component testing
Why is it necessary to define a Test Strategy?
- As there are many different ways to test software, thought must be given to decide what will be the most effective way to test the project on hand.
- Starting testing without prior planning leads to chaotic and inefficient test project
- A strategy is needed to inform the project management how the test team will schedule the test-cycles
- Software failure may cause loss of money, time, business reputation, and in extreme cases injury and death. It is therefore critical to have a proper test strategy in place.
Which of the following statements about component testing is not true?
- Component testing should be performed by development
- Component testing is also know as isolation or module testing
- Component testing should have completion criteria planned
- Component testing does not involve regression testing
Software testing activities should start
- As soon as the code is written
- During the design stage
- When the requirements have been formally documented
- As soon as possible in the development life cycle
Why is testing necessary?
- Because testing is good method to make there are not defects in the software
- Because verification and validation are not enough to get to know the quality of the software
- Because testing measures the quality of the software system and helps to increase the quality
- Because testing finds more defects than reviews and inspections.
What is difference between black box testing and white box testing?
- Black box testing is when we do not have knowledge of testing and in white box testing we have knowledge of testing.
- Black box testing is when we do not know the functionality and in white box testing we know the functionality.
- Black box testing is when we do not know code used and in white box testing we know the code used.
- Black box testing is when we test application randomly and in white box testing we test application using proper test strategy.
Functional system testing is
- Testing that the system functions with other systems
- Testing that the components that comprise the system function together
- Testing the end to end functionality of the system as a whole
- Testing the system performs functions within specified response times
The difference between re-testing and regression testing is
- Re-testing ensures the original fault has been removed; regression testing looks for unexpected side-effects
- Re-testing looks for unexpected side-effects; regression testing ensures the original fault has been removed
- Re-testing is done after faults are fixed; regression testing is done earlier
- Re-testing is done by developers; regression testing is done by independent testers
Testing should be stopped when
- All the planned tests have been run
- Time has run out
- All faults have been fixed correctly
- Both 1 and 3
- It depends on the risks for the system being tested
What is Parallel testing?
- Parallel testing is a type of testing where the tester reconciles the output of the new system to the output of the current system, in order to verify the new system operates correctly.
- Two people testing an application on same machine.
- Testing one functionality simultaneously on two different machine having same hardware configuration.
- Testing two different functionality simultaneously.
Which of the following list contains only non-functional tests?
- Interoperability (compatibility) testing, reliability testing, performance testing
- System testing, performance testing
- Load testing, stress testing, component testing, portability testing
- Testing various configurations, beta testing, load testing
Which set of metrics can be used for monitoring of the test execution?
- Number of detected defects, testing cost
- Number of residual defects in the test object.
- Percentage of completed tasks in the preparation of test environment; test cases prepared
- Number of test cases run / not run; test cases passed / failed
Which of the following techniques are black box techniques?
- State transition testing, code testing, agile testing
- Equivalence partitioning, state transition testing, decision table testing
- System testing, acceptance testing, equivalence partitioning
- System integration testing, system testing, decision table testing