Software Testing Fundamentals
Covers core concepts of software testing including test management, testing techniques (equivalence partitioning, boundary value analysis), test coverage criteria, testing stages, reliability, and test tools.
Questions
An employee has $4000 of salary tax free The next $1500 is taxed at 10% The next $28000 is taxed at 22% Any further amount is taxed at 40% To the nearest $ which of these is a valid Boundary Value Analysis test case?
- $ 1500
- $ 32001
- $ 28000
- $ 33501
An employee has $4000 of salary tax free The next $1500 is taxed at 10% The next $28000 is taxed at 22% Any further amount is taxed at 40% Which of these groups of numbers would fall into the same equivalence class?
- $5800; $28000; $32000
- $0; $200; $4200
- $5200; $5500; $28000
- $28001; $32000; $35000
Which of the following is NOT a characteristic of User Acceptance Testing?
- Use of automated test execution tools.
- Testing performed by users.
- Testing against acceptance test criteria.
- Integration of system with user documentation.
For software to be reliable it must:
- Be easy to maintain.
- Be unlikely to cause a failure.
- Never fail under any circumstances.
- Be written according to coding standards.
We split testing into distinct stages primarily because:
- Each test stage has a different purpose.
- It is easier to manage testing in stages.
- We can run different tests in different environments.
- The more stages we have, the better the testing.
Which of the following is likely to benefit most from the use of test tools providing test capture and replay facilities?
- Regression testing
- Integration testing
- System testing
- User acceptance testing
Which of the following statements is NOT correct?
- A minimal test set that achieves 100% LCSAJ coverage will also achieve 100% branch coverage.
- A minimal test set that achieves 100% path coverage will also achieve 100% statement coverage.
- A minimal test set that achieves 100% path coverage will generally detect more faults than one that achieves 100% statement coverage.
- A minimal test set that achieves 100% statement coverage will generally detect more faults than one that achieves 100% branch coverage.
Which of the following requirements is testable?
- The system shall be user friendly.
- The safety-critical parts of the system shall contain 0 faults.
- The response time shall be less than one second for the specified design load.
- The system shall be built to be portable.
Analyse the following highly simplified procedure: Ask: “What type of ticket do you require, single or return?” IF the customer wants ‘return’ Ask: “What rate, Standard or Cheap-day?” IF the customer replies ‘Cheap-day’ Say: “That will be £11:20” ELSE Say: “That will be £19:50” ENDIF ELSE Say: “That will be £9:75” ENDIF Now decide the minimum number of tests that are needed to ensure that all the questions have been asked, all combinations have occurred and all replies given.
- 3
- 4
- 5
- 6
Which of the following is NOT true of test coverage criteria?
- Test coverage criteria can be measured in terms of items exercised by a test suite.
- A measure of test coverage criteria is the percentage of user requirements covered.
- A measure of test coverage criteria is the percentage of faults found.
- Test coverage criteria are often used when specifying test completion criteria.
In prioritising what to test, the most important objective is to:
- find as many faults as possible.
- test high risk areas.
- obtain good test coverage.
- test whatever is easiest to test.
Given the following sets of test management terms (v-z), and activity descriptions (1-5), which one of the following best pairs the two sets? v – test control w – test monitoring x - test estimation y - incident management z - configuration control 1 - calculation of required test resources 2 - maintenance of record of test results 3 - re-allocation of resources when tests overrun 4 - report on deviation from test plan 5 - tracking of anomalous test results
- v-3,w-2,x-1,y-5,z-4
- v-2,w-5,x-1,y-4,z-3
- v-3,w-4,x-1,y-5,z-2
- v-2,w-1,x-4,y-3,z-5
Which one of the following statements about system testing is NOT true?
- System tests are often performed by independent teams.
- Functional testing is used more than structural testing.
- Faults found during system tests can be very expensive to fix.
- End-users should be involved in system tests.
Which of the following is false?
- Incidents should always be fixed.
- An incident occurs when expected and actual results differ.
- Incidents can be analysed to assist in test process improvement.
- An incident can be raised against documentation.
Enough testing has been performed when:
- time runs out.
- the required level of confidence has been achieved.
- no more faults are found.
- the users won’t find any serious faults.
Which of the following is NOT true of incidents?
- Incident resolution is the responsibility of the author of the software under test.
- Incidents may be raised against user requirements.
- Incidents require investigation and/or correction.
- Incidents are raised when expected and actual results differ.
Which of the following is not described in a unit test standard?
- syntax testing
- equivalence partitioning
- stress testing
- modified condition/decision coverage
Which of the following is false?
- In a system two different failures may have different severities.
- A system is necessarily more reliable after debugging for the removal of a fault.
- A fault need not affect the reliability of a system.
- Undetected errors may lead to faults and eventually to incorrect behaviour.
Which one of the following statements, about capture-replay tools, is NOT correct?
- They are used to support multi-user testing.
- They are used to capture and animate user requirements.
- They are the most frequently purchased types of CAST tool.
- They capture aspects of user behaviour.
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
- a & b