Software Testing Fundamentals
A comprehensive quiz covering software testing concepts, techniques, management, and standards including static analysis, integration testing, regression testing, test planning, and various testing methodologies.
Questions
A piece of software has been given….what tests in the Following will you perform? 1) Test the areas most critical to business processes 2) Test the areas where faults will be maximum 3) Test the easiest functionalities
- 1&2 are true and 3 is false.
- 1,2&3 are true.
- 1 is true, 2&3 are false.
- 1&2 are false, 3 is true.
Amount of testing performed will not depend on
- Risks involved
- Contractual requirements
- Legal requirements
- Test data
Which of the following provides the biggest potential cost saving from use of CAST?
- Test management
- Test design
- Test planning
- Test execution
Testing is not done to:
- Find faults
- Improve quality
- Check user friendliness
- Improve software accuracy
Software quality is not relevant to
- Correctness
- Usability
- Viability
- Reusability
Which of the following are false?
- Incidents should always be investigated and resolved.
- Incidents occur when expected and actual results differ.
- Incidents can be analyzed to assist in test process improvement
- An incident can be raised against documentation
Which of the following is a type of non-functional testing?
- Usability testing.
- Statement Coverage.
- Dataflow testing.
- Cause-effect graphing.
To make a test effective it is most important that
- It is easy to execute.
- It is designed to detect faults if present.
- The expected outcome is specified before execution.
- It is unlikely to delay progress.
Error guessing is:
- An appropriate way of deriving system tests.
- Only used if good requirements are not available.
- Only used when good requirements are available.
- The most appropriate way of deriving system tests.
A standard for software testing terminology is:
- IEEE 802.11
- ISO 9001
- BS 7925-1
- BS 7925-2
Which of the following is true of V-model?
- It includes the verification of designs.
- It states that modules are tested against user requirements.
- It specifies the test techniques to be used.
- It only models the testing phase.
Which of the following is NOT part of a high level test plan?
- Functions not to be tested.
- Environmental requirements.
- Analysis of Specifications.
- Entry and Exit criteria.
When do you stop testing?
- When the specified number of faults are found.
- When the test completion criteria are met.
- When all high and medium priority tests are complete.
- When all statements have been executed.
Which of the following is least important in test management?
- Estimating test duration.
- Incident Management.
- Configuration Management.
- De-bugging.
How would you estimate the amount of re-testing likely to be required?
- Metrics from previous similar projects.
- Discussions with the development team.
- Time allocated for regression testing.
- Both A & B.
Which of the following statements is true of static analysis:
- Compiling code is not a form of static analysis.
- Static analysis need not be performed before imperative code is executed.
- Static analysis can find faults that are hard to find with
- Extensive statistic analysis will not be needed if white- Box testing is to be performed.
Regression testing always involves
- Testing whether a known software fault been fixed.
- Executing a large number of different tests.
- Testing whether modifications have introduced adverse side effects.
- Using a test automation tool.
A field failure occurs when multiple users access a system. Which of the following is true?
- This is an acceptable risk of a multi-user system.
- Insufficient functional testing has been performed.
- This indicates an important non-functional requirement was not specified and tested.
- It is not possible to test against such events prior to release.
Integration testing in the large involves:
- Testing the system when combined with other systems.
- Testing a sub-system using stubs and drivers.
- Testing a system with a large number of users.
- Combing software components and testing them in one go.
Data flow analysis studies:
- How rapidly data is transferred through a program.
- The rate of change of data values as a program executes.
- The use of data on paths through the code.
- The intrinsic complexity of the code.