Showing posts with label ISTQB/ISEB. Show all posts
Showing posts with label ISTQB/ISEB. Show all posts

Wednesday, 7 May 2008

Sample Paper 8

1. Deliverables of test design phase include all the following except (Testing
artifacts)
a) Test data
b) Test data plan
c) Test summary report
d) Test procedure plan

2. Which of the following is not decided in the test-planning phase? (Testing
artifacts)
a) Schedules and deliverables
b) Hardware and software
c) Entry and exit criteria
d) Types of test cases

3. Typical defects that are easier to find in reviews than in dynamic testing are:
A. deviations from standards,
B.requirement defects,
C.design defects,
D.insufficient maintainability and incorrect interface specifications.
E.All of the above.

4. Load Testing Tools (Per. Testing)
a) reduces the time spent by the testers
b) reduces the resources spent (hardware)
c) mostly used in web testing
d) all of the above

5. Reviews, static analysis and dynamic testing have the same objective –
A.identifying defects.
B. fixing defects.
C. 1 and 2
D. None

6. Defect arrival rate curve:
A. Shows the number of newly discovered defects per unit time
B. Shows the number of open defects per unit time.
C. Shows the cumulative total number of defects found up to this time.
D. Any of these, depending on the company.

7. What are the 2 major components taken into consideration with risk analysis?
(Test Mgmt)
a) The probability the negative event will occur
b) The potential loss or impact associated with the event
c) Both a and b
d) Neither a nor b

8. We can achieve complete statement coverage but still miss bugs because:
A. The failure occurs only if you reach a statement taking the TRUE branch of an IF
statement, and you got to the statement with a test that passed through the FALSE
branch.
B. The failure depends on the program's inability to handle specific data values,
rather than on the program's flow of control.
C. Both A and B
D. We are not required to test code that customers are unlikely to execute.


9. Who is responsible for conducting test readiness review? (Performing
Test)
a. Test manager
b. Test engineer
c. both A & B
d. Project Manager


10. What if the project isn't big enough to justify extensive testing? (Test Mgmt)
a) Use risk based analysis to find out which areas need to be tested
b) Use automation tool for testing
c) a and b
d) None of the above

11. What are the key features to be concentrated upon when doing a testing for
world wide web sites (Test Execution)
a) Interaction between html pages
b) Performance on the client side
c) Security aspects
d) All of the above

12. What can be done if requirements are changing continuously? (Test Mgmt)
a) Work with the project's stakeholders early on to understand how
requirements might change so that alternate test plans and strategies
can be worked out in advance, if possible.
b) Negotiate to allow only easily-implemented new requirements into the
project, while moving more difficult new requirements into future
versions of the application
c) Both a and b
d) None of the above

13. The selection of test cases for regression testing (Testing artifacts)
a) Requires knowledge on the bug fixes and how it affect the system
b) Includes the area of frequent defects
c) Includes the area which has undergone many/recent code changes
d) All of the above

14. Measurement dysfunction is a problem because:
A. Even though the numbers you look at appear better, to achieve these numbers, people are doing other aspects of their work much less well.B. We don't know how to measure a variable (our measurement is dysfunctional) and
so we don't know how to interpret the result.
C. You are measuring the wrong thing and thus reaching the wrong conclusions.
D. All of the above.

15. What do you mean by “Having to say NO” (test planning process)
a. No, the problem is not with testers
b. No, the software is not ready for production
c. Both a & b
d. none of the above

16. According to the lecture, there are several risks of managing your project's schedule
with a statistical reliability model. These include (choose one or more of the following):
A. 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
B. Managers might not realize that the testing effort is ineffective, late in the project,
because they expect a low rate of bug finding, so the low rate achieved doesn't
alarm them.
C. It can increase the end-of-project pressure on testers to not find bugs, or to not
report bugs.
D. All of the above

17. Operations testing is (Performing Test)
a. compliance testing
b. disaster testing
c. verifying compliance to rules
d. functional testing
e. ease of operations

18. Tools like change Man, Clear case are used as (test planning process)
a. functional automation tools
b. performance testing tools
c. configuration management tools
d. none of the above.


19. Important consequences of the impossibility of complete testing are (Choose one or more answers):
A. We can never be certain that the program is bug free.
B. We have no definite stopping point for testing, which makes it easier for some
managers to argue for very little testing.
C. We have no easy answer for what testing tasks should always be required,
because every task takes time that could be spent on other high importance tasks.
D. All of the above.

20. Which is not in sequence in 11 Step Software Testing process (Tester’s
Role SDLC)
a Assess development plan and status
b Develop the test plan
c Test software design
d Test software requirement

21. In the MASPAR case study:
A. Security failures were the result of untested parts of code.
B. The development team achieved complete statement and branch coverage but
missed a serious bug in the MASPAR operating system.
C. An error in the code was so obscure that you had to test the function with almost
every input value to find its two special-case failures.

D. All of the above.


22. Complete statement and branch coverage means:
A. That you have tested every statement in the program.
B. That you have tested every statement and every branch in the program.
C. That you have tested every IF statement in the program.
D. That you have tested every combination of values of IF statements in the program

23. What if the project isn't big enough to justify extensive testing? (Test Mgmt)
a) Use risk based analysis to find out which areas need to be tested
b) Use automation tool for testing
c) a and b
d) None of the above

24. Security falls under (Performing Test)
a. compliance testing
b. disaster testing
c. verifying compliance to rules
d. functional testing
e. ease of operations

25. Which is the best definition of complete testing:
A. You have discovered every bug in the program.
B. You have tested every statement, branch, and combination of branches in the
program.
C. You have completed every test in the test plan.
D. You have reached the scheduled ship date.

26. What is the concept of introducing a small change to the program and having the
effects of that change show up in some test? (Testing concepts)
a) Desk checking
b) Debugging a program
c) A mutation error
d) Performance testing
e) Introducing mutations

Saturday, 1 March 2008

Static Techniques : Reviews process

Review Process


> Reviews vary from very informal to very formal. (i.e well structured and regulated)
> The formality of a review process is related to such factors as:
*** The maturity of the development process
*** Any legal or regulatory requirements
*** The need for an audit trail
> The way a review is carred out depends on the agreed objective of the review.


If the formal development processis not followed, then it may be difficult to introduce a formal review process; work products may not be consistently produced from project to project, therefore we cannot always state that, for example, 'reviews will be carried out on functional specification'.
Some reviews are more formal than others; if reviews have not been carried in an organization before, it may not be sensible to introduce the most formal reviw type, which are inspections.
There may be legal or regulatory requirements that consider certain types of reviews to be carried out on certain work products. For rxample, standards relating to safety-critical software may deem it mandatory to carry out code inspections.

different reviews can have different objectives, forexample:
> To find defects
> To gain understanding
> To dicuss and reach decisions by consensus.

Phases of a formal review


A formal review consists of the following activities:
> Planning
> Kick-off meetings
> Individual checking/study (preparation)
> Inspection logging/review meetings
> Re-work/follow up
> Matrics/sign-off

> Planning :
*** Select personnel
*** Allocate roles
*** Define the entry an dexit criteria(for more formal review types)
*** Select which parts of the document to review

> Kick-off :
*** Distribute documents
*** Explain objectives, process and documents
*** Check entry criteia (for more formal reviews types)


It is extremely important that time is taken to plan the review activitites thoroughly - who is going to be involved, when the review meeting is going to take place, that everythign required to carryout the review (source documents, reference documents, for example) is available, and that participants are allocated sufficient time to carry out the activities assigned to them.

A kickoff meeting is likely to take place to ensure that everybosy is involved in the review process understands what his/her specific roles amd responsibilities are.
Different roles can be assigned to perticipants in order to give the review process more focus-instead of everybody checking for everything, they look at certain aspects of the review item, for example, ensure that everybosy contained in the review item corectly reflects what is in the source document.

> Individual Preparaton :
*** Work dine by each participant on their own prior to the review meeting.
*** Potential defects should be noted
*** A proposed grading is given (according to agreed standards)-this will be re-evaluated at the review meeting
*** Questions and comments noted.


Once roles and responsibilities have been assigned, individual preparation can then commence.
Roles can be allocated to individuals where they check that the review items against company standards, or check that the document cna be used as a source for the next activities - this could be preparing an acceptance test plan from the user requirements documents, or creating test cases from the same document.

> Review Meeting :
*** Discussions and/or logging
*** Documents results or minutes(for more formal review types)
*** Parcipants may simply note handling the defects, or
*** Make recommendations for handling the defects, or
*** Make decisions about the defects.


The review meeting needs to be managed, time-boxed and organized. The person leading the review must make sure that there is not too much time spent on one topic to the detriment of others and that the meeting is not dominated by a few people - everyone must be given an opportunity to speak.
The person leading the review must also ensure that the meeting does not become unruly(lots of people talking at the same time about different things)and that the focus kept on the review item.
At the meeting someone should be given responsibility for taking the minutes of the meeting and documenting any remedial actions and any follow-up activities(further meetings, formal sign-off).

> Rework :
*** Fixing the defects found
*** Normally performed by the author

> Follow-up :
*** Checking the defects have been addressed
*** Gather metrics
*** Check on exit criteria(for more formal review types)


A report of the review meeting should be produced and distributed.
It is the author`s responsibility to carry out any changes required of the review item.
It is all participants responsibility to suggest any process improvements- to the review activity itself and the structure of the review item(could ti be made better in anyway?).

Friday, 23 November 2007

ISTQB Foundation Exam Preparation

Exam Preparation follows :

Each and every syllabus module contains :
> Description of the module.
> Content of the module.
> Module Regarding Document.
> A simple test on the module.

Fundamentals of testing :
This section looks at why testing is necessary, what testing is, explains general testing principles, the fundamental test process, and psychological aspects of testing.

1.0 Fundamentals (or) Principles of testing
1.1 Why is testing necessary
1.2 What is testing
1.3 General testing principles
1.4 Fundamental test process
1.5 Psychology of testing
Prepare a bit from here Chapter 1

Take a Small Test now :
1. Use numbers 1 to 5 to indicate which fundamental test process the following major tasks belong to:
1 for planning and control,
2 for analysis and design,
3 for implementation and execution,
4 for evaluating exit criteria and reporting, and
5 for test closure activities.

A. _____ Creating the test data
B. _____ Designing test cases
C. _____ Analyzing lessons learned
D. _____ Defining the testing objectives
E. _____ Assessing whether more tests are needed
F. _____ Identifying the required test data
G. _____ Comparing actual progress against the plan
H. _____ Preparing a test summary report
I. _____ Documenting the acceptance of the system
J. _____ Re-executing a test that previously failed

2. What should be taken into account to determine when to stop testing?
I. Technical risk
II. Business risk
III. Project constraints
IV. Product documentation

A. I and II are true; III and IV are false
B. III is true; I, II, and IV are false
C. I, II, and IV are true; III is false
D. I, II and III are true; IV is false

3. How can software defects in future projects be prevented from reoccurring?
A. Creating documentation procedures and allocating resource contingencies
B. Asking programmers to perform a thorough and independent testing
C. Combining levels of testing and mandating inspections of all documents
D. Documenting lessons learned and determining the root cause of problems

4.Use numbers 1 to 5 to indicate which fundamental test process the following major tasks belong to:

1 for planning and control,
2 for analysis and design,
3 for implementation and execution,
4 for evaluating exit criteria and reporting, and
5 for test closure activities.

K. _____ Reporting the status of testing
L. _____ Documenting the infrastructure for reuse later
M. _____ Checking the test logs against the exit criteria
N. _____ Identifying the required test environment
O. _____ Developing and prioritizing test procedures
P. _____ Comparing actual vs. expected results
Q. _____ Designing and prioritizing test cases
R. _____ Assessing whether the exit criteria should be changed
S. _____ Receiving feedback and monitoring test activities
T. _____ Handing over the testware to the operations team


Testing throughout the software lifecycle :
Explains the relationship between testing and life cycle development models, including the V-model and iterative development. Outlines four levels of testing:
• Component testing
• Integration testing
• System testing
• Acceptance testing
Describes four test types, the targets of testing:
• Functional
• Non-functional characteristics
• Structural
• Change-related
Outlines the role of testing in maintenance.

2.0 Testing throughout the life cycle
2.1 Software development models
2.2 Test levels
2.3 Test types: the targets of testing
2.4 Maintenance testing
Prepare a bit from here Chapter 2

Take a small test now :

1. What test can be conducted for off-the-shelf software to get market feedback?
A. Beta testing
B. Usability testing
C. Alpha testing
D. COTS testing

2. Fill in the Blanks now :

1. _____ are the capabilities that a component or system must perform.
2. Reliability, usability, and portability are examples of _____.
3. Hardware and instrumentation needed for testing are parts of a _____.
4. _____ is also known as structural testing.
5. _____ ignores the internal mechanisms of a system being tested.
6. Which test level tests individual components or a group of related units?
7. Which test level determines if the customer will accept the system?
8. _____ checks the interactions between components.
9. _____ is usually performed on a complete, integrated system.
10. _____ is another name for unit testing.

3. Which test levels are USUALLY included in the common type of V-model?

A. Integration testing, system testing, acceptance testing and regression testing
B. Component testing, integration testing, system testing and acceptance testing
C. Incremental testing, exhaustive testing, exploratory testing and data driven testing
D. Alpha testing, beta testing, black-box testing and white-box testing

Static techniques :
Explains the differences between the various types of review and outlines the characteristics of a formal review. Describes how static analysis can find defects.

3.0 Static techniques
3.1 Reviews and the test process
3.2 Review process
3.3 Static analysis by tools
Prepare a bit from here Chapter 3

Take a small test now :

1.Which typical defects are easier to find using static instead of dynamic testing?

L. Deviation from standards
M. Requirements defects
N. Insufficient maintainability
O. Incorrect interface specifications

A. L, M, N and O
B. L and N
C. L, N and O
D. L, M and N

2. In a formal review, who is primarily responsible for the documents to be reviewed?

A. Author
B. Manager
C. Moderator
D. Reviewers

3.What are the typical six main phases of a formal review?

Test Design Techniques :
Explains the differences between the various types of review and outlines the characteristics of a formal review. Describes how static analysis can find defects.

4.0 Test Design Techniques
4.1 Identifying test conditions and designing test cases
4.2 Categories of test design techniques
4.3 Specification-based or black box techniques
4.4 Structure-based or white box techniques
4.5 Experience-based techniques
4.6 Choosing test techniques
Prepare a bit from here Chapter 4

Take a small test now :

1. Features to be tested, approach, item pass/fail criteria and test deliverables should be specified in which document?
A. Test case specification
B. Test procedure specification
C. Test plan
D. Test design specification

Which aspects of testing will establishing traceability help?

A. Configuration management and test data generation
B. Test specification and change control
C. Test condition and test procedures specification
D. Impact analysis and requirements coverage

Test Management
This section explains how to identify test conditions (things to test) and how to design test cases and procedures. It also explains the difference between white and black box testing. The following techniques are described in some detail with practical exercises:
• Equivalence partitioning
• Boundary value analysis
• Decision tables
• State transition testing
• Statement and decision testing
In addition, use case testing and experience-based testing (such as exploratory testing) are described and advice is given on choosing techniques.

5.0 Test management
5.1 Test organisation
5.2 Test planning and estimation
5.3 Test progress monitoring and control
5.4 Configuration management
5.5 Risk and testing
5.6 Incident or bug management
Prepare a bit from here Chapter 5

Take a small test now :

1. Which of the following is a KEY task of a tester?
A. Reviewing tests developed by others
B. Writing a test strategy for the project
C. Deciding what should be automated
D. Writing test summary reports

2. Which of the following are test leader's vs. tester's tasks?
A. Adjust plans as needed
B. Analyze design documents
C. Analyze overall test progress
D. Assess user requirements
E. Automate tests as needed
F. Contribute to test plans
G. Coordinate configuration management
H. Coordinate the test strategy
I. Create test specifications
J. Decide what to automate

Tool support for testing :
Different types of tool support for testing are described throughout the course. This session summarises them, discusses how to use them effectively and how to best introduce a new tool.

6.0 Tool support for testing
6.1 Types of test tools
6.2 Effective use of tools, potential benefits and risks
6.3 Introducing a tool into an organisation
Prepare a bit from here Chapter 6


Take a small test now :

1) Match the test tool classifications to the test tools.

1. Test management—applies to all test activities
2. Static testing—facilitates static analysis in detecting problems early
3. Test specification—generates tests and prepares data
4. Test execution and logging—runs tests and provides framework
5. Performance and monitoring—observes systems behavior
6. Specialized—caters to specific environment or platform
7. Other—assists in other miscellaneous testing tasks

A. ___ Configuration management tools
B. ___ Coverage measurement tools
C. ___ Debugging tools
D. ___ Dynamic analysis tools
E. ___ Incident management tools
F. ___ Industry-specific tools
G. ___ Modeling tools
H. ___ Monitoring tools
I. ___ Performance testing tools
J. ___ Platform-specific tools

2. Which of the following are potential benefits of using test support tools?

A. Ensuring greater consistency and minimizing software project risks
B. Reducing repetitive work and gaining easy access to test information
C. Performing objective assessment and reducing the need for training
D. Allowing for greater reliance on the tool to automate the test process

Mail me for answers.
All the best :-)

Please follow this post often to see latest questions updated.

Note:- This is just for reference. Don`t not completely refer this for your exam.

Saturday, 17 November 2007

Statement Coverage & Decision Coverage

ISEB Foundation Certification Syllabus Covers three TEST DESIGN TECHNIQUES,
The 3 categories are :
1) Specification based or Black box testing.
2) Structured-based or White-Box Techniques.
3) Experienced Based Techniques.

As per the request of my blog readers I would like to post the "Structured-based or White-Box Techniques" first then later on continue with other design techniques.

TEST DESIGN TECHNIQUES for Structured-based (or) White-Box Techniques are:
-> Statement Testing Coverage
-> Decision Testing Coverage

{Statement Coverage & Decision Coverage : These 2 topics are covered in ISEB foundation Syllabus in 4th chapter "TEST DESIGN TECHNIQUES".}

Structured-based or White-Box Techniques :

White Box Testing :
-> Testing based on Knowledge of internal structure and logic.
-> Logic errors and incorrect assumptions are inversely proportional to a path’s execution probability.
-> We often believe that a path is not likely to be executed, but reality is often counter intuitive.
-> Measure Coverage.

Structured-based or White-Box Techniques is based on an identified structure of the software or system, as seen in the following examples:
Component level: The structure is that of the code itdelf, ie., statements, decisions or branches.
Integration level : The structure may be a call three (a diagram in which modules call other modules).
System level : the structure may be a menu structure, bussiness process or webpage structure.

Structure-based or white-box testing can be applied at different levels of testing. Here we will be focussing on white-box testing at the code level, but it can be applied wherever we want to test the structure of something - for example ensuring that all modules in a particular system have been executed.

** Further we will discuss about two code-related structural techniques for code coverage, based on statement and dicision, are discussed.

** For decision testing, a control flow diagram may be used to visualize the alternatives for each decision.

As said earlier, I focus main on code-related structural techniques. These techniques identify paths through the code tha need to be excercised in oredr to acheive the required level of code average.

These are methods that can be deployed that can make the identification of white-box test cases easier - one method is control-flow graphing, control flow graphing uses nodes, edges and regions.. I will show them in detail with examples here..

Now comming to the actual topic :

TEST DESIGN TECHNIQUES for Structured-based (or) White-Box Techniques are:
-> Statement Testing Coverage
-> Decision Testing Coverage

1. Statement testing & Coverage :
A Statement is:
>> 'An entity in a programming language, which is typically the smallest indivisible unit of execution' (ISTQB Def).
A Statement coverage is:
>> 'The percentage of executable statements that has been exercised by a test suite' (ISTQB Def)

Statement coverage:
-> Does not ensure coverage of all functionality
->
The objective if the statement testing is to show that the executable statements within a program have been executed at least once. An executable statement can be described as a line of program sourse code that will carry out some type of action. For example:


If all statements in a program have been executed by a set of tests then 100% statement coverage has been acheived. However, if only half of the statement have been executed by a set of tests then 50% statement coverage has been acheived.

The aim is to acheive the maximum amount of statement coverage with the mimimum number of test cases.

>>Statement testing test cases to execute specific statements, normally to increase statement coverage.
>>100% statement coverage for a component is acheived by executing all of the execuatbel statements in that component.

If we require to carry out statemtnt testing, the amount of statement coverage required for the component should be stated in the test coverage requirements in the test plan.We should aim to acheive atleast the minimim coverage requirements with our test cases. If 100% statement coverage is not required, then we need to determine which ares of the component are more important to test by this method.

>>Consider the following lines of code:

>> 1 test would be required to execute all three executable statements.

If our component consists of three lines of code we will execute all with one test case, thus acheiving 100% statement coverage. There is only one way we can execute the code - starting at line number 1 and finishing at line number 3.

>>statement testing is more complicated when there is logic in the code
>>For example..

>>Here there is one executable statement i.e., "Display error message"
>> hence 1 test is required to execute all executable statements.

Program code becomes tough when logic is introduced. It is likely what a component will have to carry out different actions depending upon circumstances at the time of execution. In the code examp,e shown, the component will do different things depending on whether the age input is less than 17 or if it is 17 and above. With the statement testing we have to determine the routes through the code we need to take in order to execute the statements and the input required to get us there!

In this example, the statement will be executed if the age is less than 17, so we would create a test case accordingly.

>> For more complex logic we could use control flow graphing
>> Control flow graphs consists of nodes, edges and regions

Control flow graphs describes the logic structure if the software programs - it is a method by which flows through the program logic are charted, usign the code itseld rather than the program specification. Each flow graph nodes and egdes The nodes represent computational statements or expressions, and the edges represent transfer of control between the nodes. Together the nodes and edges encompass an area known as a region.

In the diagram, the structure represents an 'If Then Else Endif' costurct. NOdes are shown for the 'If' and the 'Endif'. Edges are shown for the 'Then' ( the true path) and the 'Else ( the false path). The region is the area enclosed by the nodes and the edges.

>>All programs consists of these basic structures..

This is hetzel notation that only shows logic flow.

There are 4 basic structures that are used withn control-flow graphong.

The 'DoWhile' structure will execute a section of code whilst a feild or indicator is set to a certain value. For example,


The 'Do until' structure will execute a section of code until a field or indicator is set to a certain value. Foe example,

The evaluation of the condition occurs after the code is executed.

The 'Go To' structure will divert the program execution to the program section in question. For example

>> SO the logic flow code could now be shown as follows:

If we applied control-flow graphing to our sample code, then 'if Then Else' structure is applicable.
However, while it shows us the structure of the code, it doesn`t show us where the executabel statements are, and so it doesn`t help us at the moment with determining the tests we required for statement coverage.

>> we can introduce extra nodes to indicate where the executable statements are

>> And we can see the path we need to travel to execute the statemen in the code.

What we can do is introduce extra nodes to indicate where the statements occur in the program code.
NOw in our example we can see that we need to answer 'yes' to the question being posed to traverse the code and execute the statement on line 2.

>> Now consider this code and control flow graph:

>> We will need 2 tests to acheive 100% statement coverage.

Program logic can be a lot more complicated than the examples I have given so far!
In the source code shown here, We have executable statements associated with each outcome of the question being asked. We have to dosplay an error message if the age is less than 17( answering 'yes' to the question), and we have display 'costomer OK' if we answer 'No'.
We can only traverse the code only once with a given test; therefore we require two tests to acheive 100% statement coverage.

>> And this example...

>> We will need 3 tests to acheive 100% statement coverage.

NOw it get even more complecated!
In this example, we have a supplementary question, or what is know as a 'nested if'. If we answer 'yes' to 'If fuel tank empty?' we then have a further question asked, and each outcome of this question has an associated statement.

Therefore we will need two tests that answer 'yes' to 'if fuel tank empty'
* Fuel tank empty AND petrol engine ( to execute line 3)
* Fuel tanl empty AND NOT petrol engine( to execute line 5)
one further test will be required where we anser 'no' to 'if fuel tank empty' to enable us to execute the statement at line 8.

>>And this will be the last example for statement coverage.. we will then go for decision coverage.

>> We will need 2 tests to acheive 100% statement coverage.

In this example,,, we ahve two saperate questions that are being asked.

The tests have shown are
* A coffee drinker who wants cream
* A non coffee drinker who doesn`t want cream

Our 2 tests acheive 100% statement coverage, but equally we could have had 2 tests with:
* A coffee drinker who doesn`t want cream
* A no-coffee drinker who wants cream

If we were being asked to acheive 100% statement coverage, and if all statements were of equal importance, it would n`t matter which set if tests we chooose.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Checking your calculation values:

Minimum tests required to acheive 100%

Decision coverage >= Statement coverage

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Decision testing & Coverage
A Decision is :
>> ' A program point at which the control flow has two or more alternative routes. A node with two or more links to saperate branches.'(ISTQB Def)
A Decision Coverageis :
>> ' The percentage if the decision outcomes that have been exercised by a test suite. 100% decision coverage implies both 100% branch coverage and 100% statement coverage.' (ISTQB Def)

Decision Coverage :
>>

The objective of decision coverage testing is to show all the decisions within a component have been executed at least once.
A decision can be described as a line of source code that asks a question.
For example:

If all decisions within a component have exercised by a given set of tests then 100% decision coverage has been achieved. However if only half of the decisions have been taken with a given set of tests then you have only achieved 50% decision coverage.
Again, as with statement testing, the aim is to achieve the maximum amount of coverage with the minimum number of tests.

>> Decision testing derives test cases to execute specific decision outcomes, normally to increase decision coverage.
>> Decision testing is a form of control flow testing as it generates a specific flow of control through the decision points.

If we are required to carry out decision testing, the amount of decision coverage required for a component should be stated in the test requirements in the test plan.
We should aim to achieve atleast the minimum coverage requirements with our test cases. If 100% decision coverage is not required, then we need to determine which areas of the component are more important to test by this method.

>> Decision coverage is stronger than statement coverage.
>> 100% decision coverage for a component is achieved by exercising all decision outcomes int he component.
>> 100% decision coverage guarantees 100% statement coverage, but not vice versa.

Decision testing can be considered as the next logical progression from statement testing in that we are not much concerned with testing every statement but the true and false outcomes from every decision.
As we saw in our earlier examples of the statement testing, not every decision outcome has a statement( or statements) to execute.
If we achieve 100% decision coverage, we would have executed every outcome of every decision, regardless of whether there were associated statements or not..

>>Lets take earlier example we had for statement testing:

>>This would require 2 tests to achieve 100% decision coverage, but only 1 test to achieve 100% statement coverage.

In this example there is one decision, and therefore 2 outcomes.
To achieve 100% decision coverage we could have two tests:
* Age less than 17(answer 'yes')
* Age equal to or greater than 17 (answer 'no')
This is a greater number of tests than would be required for statement testing as statements are only associated with one decision outcome(line 2).

>> Again, consider this earlier example :

>> we will need 2 tests to achieve 100% decision coverage & also 2 tests to achieve 100% statement coverage.

This example would still result in two tests, as there is one decision therefore 2 outcomes to tests.
However, we would need two tests to achieve 100% statement coverage, as there are statements with each outcome of the decision.
So,in this instance, statement and decision testing would give us the same number of tests. NOte that if 100% coverage is required, statement testing can give us the same number of tests as decision testing, BUT NEVER MORE!

>>Lets look at some more examples now..

>> We will need 3 tests to achieve 100% decision coverage, but only 1 test to achieve 100% statement coverage.

Here we have an example of a supplimentary question, or a 'nested if'.
We have 2 decisions, so you may think that 4 tests may be required to achieve 100% decision coverage( two for each decision).
This is NOT the case! We can achieve 100% decision coverage with three tests - we need to exercise the 'Yes' outcome from the first decision ( line 1) twice, in order to subsequently exercise the 'Yes' and then the 'No' outcome from the supplementary question(line 2).
We need a further third test to ensure we exercise the 'No' outcome of the first decision( line 1 ).
There is only one decision outcome that has an associated statement - this means that 100% statement coverage can be achieved with one test.

>> As more statements are added, the tests for decision coverage are the same:

>> 3 tests to achieve 100% decision coverage, and 2 tests to achieve 100% statement coverage.

We have now introduced a statement that is associated with 'No' outcome of the decision on line 2.
This change affects the number of tests required to achieve 100% statement coverage, but does NOT alter the number of tests required to achieved 100% decision coverage - it is still three!

>And again an example..

>> 3 tests to achieved both decision and statement coverage.

Finally, we have statements associated with each outcome of each decision - the number of tests to achieve 100% statement coverage and 100% decision coverage are now the same.

>> And Last Example..

>> We will need 2 tests to achieve 100% decision coverage and 100% statement coverage.

We looked at this example of the "if Then Else' structure when considering statement testing.
As the decisions are separate questions we only need two tests to achieve 100% decision coverage( the same as the number required for statement coverage).
You may have thought that four tests were required - exercising the four different routes through the code, but remember, with decision testing our concern is to exercise each outcome of each decision atleast once - as long as we have answered 'Yes' and 'No' to each decision we have satisfied the requirements of the techinique.
The tests we have illustrated would need the following input conditions:
* Coffee drinker wanting cream.
* Non Coffee drinker not wanting cream ( but milk).

Equally, we could have chosen the following input conditions:
* Coffee drinker not wanting cream( but milk).
* Non coffee drinker wanting cream.

>> Then What about loops?

>> If we choose an initial value of p=4, we only need 1 test to achieve 100% statement and 100% decision coverage.

The control-flow graphs we showed earlier depicted a 'Do While' construct.
To reiterate, thw 'Do While' structure will execute a section of code whist a field or indicator is set to a certain value. For example,

The evaluation of the condition occurs before the code is executed.

Unlike the 'If Then Else', we can loop around the 'Do While' structure, which means that we exercise different routes through the code with one test.
As in the above diagram, if we set 'p' with an initial value '4', the first time through the code will :
* Go from line 1 to line 2
* Answer 'Yes' to the 'If' on line 2 ( if p<5)
* Execute the statement in line 3 (p=p*2, so p now equals 8)
* Go from line 3, through line 4 to line 5
* Execute the statement on line 5 ( which adds 1 to 'p', making it`s value '9')
* Execute the statement on line 6, which takes it back up to line 1.

Again we execute the code, with the value of 'P' now '9'
* GO from line1 to line2
* Answer 'NO' to the 'if' on line 2 (If p>5)
* Go from line 4 to line 5
* Execute the statement on line 5( which adds 1 to 'p', making it`s value '10')
* Execute the statement on line 6, which takes it back up to line 1.

Once more we execute the code
* Line 1 - 'P' is not less than '10' ( it is equal to 10), therefore, we exit this structure.

1 test - it achieves 100% statement coverage and 100% decision coverage.

>> And it`s same for 'Do until' structure

>> IF we choose an initial value of A =15, we only need 1 test to achieve 100% Decision coverage and 100% statement coverage.

The control flow structures we showed earlier also depicted a 'Do Until' structure.
To reiterate, the 'Do Until' structure will execute a section of code until a field or indicator is set to a certain value. For example,

The evaluation of the condition occurs after the code is executed.
Unlike the 'If Then Else', we can loop around the 'Do Until' structure, which means that we exercise different routes through the code with one test.
In the example above, If we set 'A' with an initial value of '15', the first time through the code will:
* Go from line 1 to line 2
* Answer 'Yes' to the 'If' on line 2 (If A<20)
* Execute the statement on line 3 ( A=A*2,which makes A=30)
* GO from line 3, through the line 4 to line 5
* Execute the statement on line 5( which adds 1 to 'A', making its value '31'.
* Execute the statement on line 6, Which takes back to line 1

Again we execute the code, with the value of 'A' now '31'
* Go from line 1 to line 2
* Answer 'No' to the 'If' on line 2 (If A < 20)
* Go from line 2, through line 4 to line 5
* Execute the statement on line 5( which adds 1 to 'A', making it`s value '32')
* Execute the statement on line 6, which exits the structure('A' is greater than 31)

1 test - it achieves 100% statement coverage and 100% decision coverage.

END...

Wednesday, 7 November 2007

ISTQB TEST 7

ISTQB Foundation Level Mock Test 2

Duration: 1 hour

Instructions:
1. Pass criteria will be 60%
2. No negative marking


1. COTS is known as
A. Commercial off the shelf software
B. Compliance of the software
C. Change control of the software
D. Capable off the shelf software

2. From the below given choices, which one is the ‘Confidence testing’
A. Sanity testing
B. System testing
C. Smoke testing
D. Regression testing

3. ‘Defect Density’ calculated in terms of
A. The number of defects identified in a component or system divided by the size of the component or the system
B. The number of defects found by a test phase divided by the number found by that test phase and any other means after wards
C. The number of defects identified in the component or system divided by the number of defects found by a test phase
D. The number of defects found by a test phase divided by the number found by the size of the system

4. ‘Be bugging’ is known as
A. Preventing the defects by inspection
B. Fixing the defects by debugging
C. Adding known defects by seeding
D. A process of fixing the defects by tester

5. An expert based test estimation is also known as
A. Narrow band Delphi
B. Wide band Delphi
C. Bespoke Delphi
D. Robust Delphi

6. When testing a grade calculation system, a tester determines that all scores from 90 to 100 will yield a grade of A, but scores below 90 will not. This analysis is known as:

A. Equivalence partitioning
B. Boundary value analysis
C. Decision table
D. Hybrid analysis

7. All of the following might be done during unit testing except

A. Desk check
B. Manual support testing
C. Walkthrough
D. Compiler based testing

9. Which of the following characteristics is primarily associated with software reusability?

A. The extent to which the software can be used in other applications
B. The extent to which the software can be used by many different users
C. The capability of the software to be moved to a different platform
D. The capability of one system to be coupled with another system

10. Which of the following software change management activities is most vital to assessing the impact of proposed software modifications?
A. Baseline identification B. Configuration auditing
C. Change control D. Version control

11. Which of the following statements is true about a software verification and validation program?

I. It strives to ensure that quality is built into software.
II. It provides management with insights into the state of a software project.
III. It ensures that alpha, beta, and system tests are performed.
IV. It is executed in parallel with software development activities.

A. I, II&III B.II, III&IV C.I, II&IV D.I, III&IV

12. Which of the following is a requirement of an effective software environment?

I. Ease of use
II. Capacity for incremental implementation
III. Capability of evolving with the needs of a project
IV. Inclusion of advanced tools

A.I, II &III B.I, II &IV C.II, III&IV D.I, III&IV

13. A test manager wants to use the resources available for the automated testing of a web application. The best choice is

A. Test automater, web specialist, DBA, test lead
B. Tester, test automater, web specialist, DBA
C. Tester, test lead, test automater, DBA
D. Tester, web specialist, test lead, test automater

14. A project manager has been transferred to a major software development project that is in the implementation phase. The highest priority for this project manager should be to
B. Establish a relationship with the customer
C. Learn the project objectives and the existing project plan
D. Modify the project’ s organizational structure to meet the manager’ s management style
E. Ensure that the project proceeds at its current pace



15. Change X requires a higher level of authority than Change Y in which of the following pairs?

Change X Change Y
A. Code in development Code in production
B. Specifications during requirements analysis Specifications during systems test
C. Documents requested by the technical development group Documents requested by customers
D. A product distributed to several sites A product with a single user


16. Which of the following functions is typically supported by a software quality information system?
I. Record keeping
II. System design
III. Evaluation scheduling
IV. Error reporting

A.I, II&III B.II, III &IV C.I, III &IV D.I, II & IV

17. During the testing of a module tester ‘X’ finds a bug and assigned it to developer. But developer rejects the same, saying that it’s not a bug. What ‘X’ should do?

A. Report the issue to the test manager and try to settle with the developer.
B. Retest the module and confirm the bug
C. Assign the same bug to another developer
D. Send to the detailed information of the bug encountered and check the reproducibility

18. The primary goal of comparing a user manual with the actual behavior of the running program during system testing is to

A. Find bugs in the program
B. Check the technical accuracy of the document
C. Ensure the ease of use of the document
D. Ensure that the program is the latest version

19. A type of integration testing in which software elements, hardware elements, or both are combined all at once into a component or an overall system, rather than in stages.
A. System Testing B. Big-Bang Testing
C. Integration Testing D. Unit Testing

20. In practice, which Life Cycle model may have more, fewer or different levels of development and testing, depending on the project and the software product. For example, there may be component integration testing after component testing, and system integration testing after system testing.

A. Water Fall Model B.V-Model
C. Spiral Model D. RAD Model

21. Which technique can be used to achieve input and output coverage? It can be applied to human input, input via interfaces to a system, or interface parameters in integration testing.
A. Error Guessing B. Boundary Value Analysis
C. Decision Table testing D. Equivalence partitioning

22. There is one application, which runs on a single terminal. There is another application that works on multiple terminals. What are the test techniques you will use on the second application that you would not do on the first application?

A. Integrity, Response time B. Concurrency test, Scalability
C. Update & Rollback, Response time D. Concurrency test, Integrity

23. You are the test manager and you are about the start the system testing. The developer team says that due to change in requirements they will be able to deliver the system to you for testing 5 working days after the due date. You can not change the resources(work hours, test tools, etc.) What steps you will take to be able to finish the testing in time. (

A. Tell to the development team to deliver the system in time so that testing activity will be finish in time.
B. Extend the testing plan, so that you can accommodate the slip going to occur
C. Rank the functionality as per risk and concentrate more on critical functionality testing
D. Add more resources so that the slippage should be avoided

24. Item transmittal report is also known as

A. Incident report B. Release note
C. Review report D. Audit report

25. Testing of software used to convert data from existing systems for use in replacement systems
A. Data driven testing B. Migration testing
C. Configuration testing D. Back to back testing

26. Big bang approach is related to

A. Regression testing B. Inter system testing
C. Re-testing D. Integration testing

27. Cause effect graphing is related to the standard

A. BS7799 B. BS 7925/2 C. ISO/IEC 926/1 D. ISO/IEC 2382/1

28. “The tracing of requirements for a test level through the layers of a test documentation” done by

A. Horizontal tracebility B. Depth tracebility
C. Vertical tracebility D. Horizontal & Vertical tracebilities

29. A test harness is a
A. A high level document describing the principles, approach and major objectives of the organization regarding testing
B. A distance set of test activities collected into a manageable phase of a project
C. A test environment comprised of stubs and drives needed to conduct a test
D. A set of several test cases for a component or system under test


30. You are a tester for testing a large system. The system data model is very large with many attributes and there are a lot of inter dependencies with in the fields. What steps would you use to test the system and also what are the efforts of the test you have taken on the test plan

A. Improve super vision, More reviews of artifacts or program means stage containment of the defects.
B. Extend the test plan so that you can test all the inter dependencies
C. Divide the large system in to small modules and test the functionality
D. Test the interdependencies first, after that check the system as a whole

31. Change request should be submitted through development or program management. A change request must be written and should include the following criteria.
I. Definition of the change
II. Documentation to be updated
III. Name of the tester or developer
IV. Dependencies of the change request.

A. I, III and IV B. I, II and III C. II, III and IV D. I, II and IV


32. ‘Entry criteria’ should address questions such as

I. Are the necessary documentation, design and requirements information available that will allow testers to operate the system and judge correct behavior.
II. Is the test environment-lab, hardware, software and system administration support ready?
III. Those conditions and situations that must prevail in the testing process to allow testing to continue effectively and efficiently.
IV. Are the supporting utilities, accessories and prerequisites available in forms that testers can use

A. I, II and IV B. I, II and III C. I, II, III and IV D. II, III and IV.

33. “This life cycle model is basically driven by schedule and budget risks” This statement is best suited for
A. Water fall model B. Spiral model
C. Incremental model D. V-Model

34. The bug tracking system will need to capture these phases for each bug.

I. Phase injected
II. Phase detected
III. Phase fixed
IV. Phase removed

A. I, II and III B. I, II and IV C. II, III and IV D. I, III and IV

35. One of the more daunting challenges of managing a test project is that so many dependencies converge at test execution. One missing configuration file or hard ware device can render all your test results meaning less. You can end up with an entire platoon of testers sitting around for days.
Who is responsible for this incident?

A. Test managers faults only
B. Test lead faults only
C. Test manager and project manager faults
D. Testers faults only






36. System test can begin when?

I. The test team competes a three day smoke test and reports on the results to the system test phase entry meeting
II. The development team provides software to the test team 3 business days prior to starting of the system testing
III. All components are under formal, automated configuration and release management control

A. I and II only B. II and III only C. I and III only D. I, II and III

37. Test charters are used in ________ testing

A. Exploratory testing B. Usability testing
C. Component testing D. Maintainability testing



All The Best

ISTQB Foundation Level Mock Test 2 Key

Q.No Answer Q.No Answer
1 (A) 20 (B)
2 (C) 21 (D)
3 (A) 22 (C)
4 (C) 23 (C)
5 (B) 24 (B)
6 (A) 25 (B)
7 (B) 26 (D)
8 (B) 27 (B)
9 (A) 28 (A)
10 (C) 29 (C)
11 (C) 30 (A)
12 (A) 31 (D)
13 (B) 32 (A)
14 (B) 33 (D)
15 (D) 34 (B)
16 (C) 35 (A)
17 (D) 36 (D)
18 (B) 37 (A)
19 (B)

Monday, 5 November 2007

Istqb - Normative References

ISTQB - Normative references

At the time of publication, the edition indicated was valid. All standards are subject to revision, and parties to agreements based upon this Standard are encouraged to investigate the possibility of applying the most recent edition of the standards listed below. Members of IEC and ISO maintain registers of currently valid International Standards.


- BS 7925-2:1998. Software Component Testing.
- DO-178B:1992. Software Considerations in Airborne Systems and Equipment
Certification, Requirements and Technical Concepts for Aviation (RTCA SC167).
- IEEE 610.12:1990. Standard Glossary of Software Engineering Terminology.
- IEEE 829:1998. Standard for Software Test Documentation.
- IEEE 1008:1993. Standard for Software Unit Testing.
- IEEE 1012:1986. Standard for Verification and Validation Plans
- IEEE 1028:1997. Standard for Software Reviews and Audits.
- IEEE 1044:1993. Standard Classification for Software Anomalies.
- IEEE 1219:1998. Software Maintenance.
- ISO/IEC 2382-1:1993. Data processing - Vocabulary - Part 1: Fundamental terms.

- ISO 9000:2000. Quality Management Systems – Fundamentals and Vocabulary.
- ISO/IEC 9126-1:2001. Software Engineering – Software Product Quality – Part 1:
Quality characteristis and sub-characteristics.
- ISO/IEC 12207:1995. Information Technology – Software Life Cycle Processes.
- ISO/IEC 14598-1:1996. Information Technology – Software Product Evaluation - Part 1:
General Overview.

Monday, 29 October 2007

About ISTQB examination

I saw people asking lots of questions regarding testing examination.

ISTQB is the foundation level exam
CSTE is the advanced exam

Exam contains 40 question and should be completed in 1 hour.
Very tricky questions are asked.

Please click here. You will find old and new syllabus of the examination along with the Standard Glossary. Also you can book your exam.

Check out the dates available in India click here.

Click the link below to take a sample Mock test along with some information click here.


ISTQB syllabus and glossary.

Click here to download the latest copies.

The changes made in the syllabus include numbering the learning objectives, rephrasing certain terms, and removing repetitive terms. The following new terms were introduced: fault attack, incident management, retesting, error guessing, independence, iterative-incremental development model, static testing, and static technique. ISTQB also removed the following terms: software, testing, development (of software), test basis, independent testing, contractual acceptance testing, retirement, modification, migration, kick-off, review meeting, and review process.

Source: Click here

In the glossary, the following terms were added: action word driven testing, bug tracking tool, coverage measurement tools, modelling tool, monkey testing, scripted testing, specification-based technique, stress testing tool, structure-based technique, unit test framework, and white box technique. If you are preparing for the exam, keep an eye on the following changed terms: basic block, control flow graph, defect management tool, independence of testing, project risk, risk-based testing, test comparator, and test process.

Source: Glossary

Sunday, 16 September 2007

ISTQB Sample Paper # 4

1. An input field takes the year of birth between 1900 and 2004

The boundary values for testing this field are

a. 0,1900,2004,2005

b. 1900, 2004

c. 1899,1900,2004,2005

d. 1899, 1900, 1901,2003,2004,2005




2. Which one of the following are non-functional testing methods?

a. System testing

b. Usability testing

c. Performance testing

d. Both b & c



3. Which of the following tools would be involved in the automation of regression test?

a. Data tester

b. Boundary tester

c. Capture/Playback

d. Output comparator.



4. Incorrect form of Logic coverage is:

a. Statement Coverage

b. Pole Coverage

c. Condition Coverage

d. Path Coverage



5. Which of the following is not a quality characteristic listed in ISO 9126 Standard?

a. Functionality

b. Usability

c. Supportability

d. Maintainability



6. To test a function, the programmer has to write a _________, which calls the function to be tested and passes it test data.

a. Stub

b. Driver

c. Proxy

d. None of the above



7. Boundary value testing

a. Is the same as equivalence partitioning tests

b. Test boundary conditions on, below and above the edges of input and output equivalence classes

c. Tests combinations of input circumstances

d. Is used in white box testing strategy



8. Pick the best definition of quality

a. Quality is job one

b. Zero defects

c. Conformance to requirements

d. Work as designed



9. Fault Masking is

a. Error condition hiding another error condition

b. Creating a test case which does not reveal a fault

c. Masking a fault by developer

d. Masking a fault by a tester



10. One Key reason why developers have difficulty testing their own work is :

a. Lack of technical documentation

b. Lack of test tools on the market for developers

c. Lack of training

d. Lack of Objectivity



11. During the software development process, at what point can the test process start?

a. When the code is complete.

b. When the design is complete.

c. When the software requirements have been approved.

d. When the first code module is ready for unit testing



12. In a review meeting a moderator is a person who

a. Takes minutes of the meeting

b. Mediates between people

c. Takes telephone calls

d. Writes the documents to be reviewed



13. Given the Following program

IF X < Y

THEN Statement 1;

ELSE IF Y >= Z

THEN Statement 2;

END



McCabe’s Cyclomatic Complexity is :

a. 2

b. 3

c. 4

d. 5



14. How many test cases are necessary to cover all the possible sequences of statements (paths) for the following program fragment? Assume that the two conditions are independent of each other : -

…………

if (Condition 1)

then statement 1

else statement 2

fi

if (Condition 2)

then statement 3

fi

…………

a. 2 Test Cases

b. 3 Test Cases

c. 4 Test Cases

d. Not achievable



15. Acceptance test cases are based on what?

a. Requirements

b. Design

c. Code

d. Decision table



16. “How much testing is enough?”

a. This question is impossible to answer

b. This question is easy to answer

c. The answer depends on the risk for your industry, contract and special requirements

d. This answer depends on the maturity of your developers



17. A common test technique during component test is

a. Statement and branch testing

b. Usability testing

c. Security testing

d. Performance testing



18. Statement Coverage will not check for the following.

a. Missing Statements

b. Unused Branches

c. Dead Code

d. Unused Statement



19. Independent Verification & Validation is

a. Done by the Developer

b. Done by the Test Engineers

c. Done By Management

d. Done by an Entity Outside the Project’s sphere of influence



20. Code Coverage is used as a measure of what ?

a. Defects

b. Trends analysis

c. Test Effectiveness

d. Time Spent Testing

Answers


1 c

2 d

3 c

4 b

5 c

6 b

7 b

8 c

9 a

10 d

11 c

12 b

13 b

14 a
15 a

16 c

17 a

18 a

19 d

20 c

ISTQB Sample Paper # 1

1 When what is visible to end-users is a deviation from the specific or expected behavior, this is called:
a) an error
b) a fault
c) a failure
d) a defect
e) a mistake

2 Regression testing should be performed:
v) every week
w) after the software has changed
x) as often as possible
y) when the environment has changed
z) when the project manager says

a) v & w are true, x – z are false
b) w, x & y are true, v & z are false
c) w & y are true, v, x & z are false
d) w is true, v, x y and z are false
e) all of the above are true

3 IEEE 829 test plan documentation standard contains all of the following except:
a) test items
b) test deliverables
c) test tasks
d) test environment
e) test specification

4 Testing should be stopped when:
a) all the planned tests have been run
b) time has run out
c) all faults have been fixed correctly
d) both a) and c)
e) it depends on the risks for the system being tested

5 Order numbers on a stock control system can range between 10000 and 99999 inclusive. Which of the following inputs might be a result of designing tests for only valid equivalence classes and valid boundaries:
a) 1000, 5000, 99999
b) 9999, 50000, 100000
c) 10000, 50000, 99999
d) 10000, 99999
e) 9999, 10000, 50000, 99999, 10000

6 Consider the following statements about early test design:
i. early test design can prevent fault multiplication
ii. faults found during early test design are more expensive to fix
iii. early test design can find faults
iv. early test design can cause changes to the requirements
v. early test design takes more effort

a) i, iii & iv are true. Ii & v are false
b) iii is true, I, ii, iv & v are false
c) iii & iv are true. i, ii & v are false
d) i, iii, iv & v are true, ii us false
e) i & iii are true, ii, iv & v are false

7 Non-functional system testing includes:
a) testing to see where the system does not function properly
b) testing quality attributes of the system including performance and usability
c) testing a system feature using only the software required for that action
d) testing a system feature using only the software required for that function
e) testing for functions that should not exist

8 Which of the following is NOT part of configuration management:
a) status accounting of configuration items
b) auditing conformance to ISO9001
c) identification of test versions
d) record of changes to documentation over time
e) controlled library access

9 Which of the following is the main purpose of the integration strategy for integration testing in the small?
a) to ensure that all of the small modules are tested adequately
b) to ensure that the system interfaces to other systems and networks
c) to specify which modules to combine when and how many at once
d) to ensure that the integration testing can be performed by a small team
e) to specify how the software should be divided into modules

10 What is the purpose of test completion criteria in a test plan:
a) to know when a specific test has finished its execution
b) to ensure that the test case specification is complete
c) to set the criteria used in generating test inputs
d) to know when test planning is complete
e) to plan when to stop testing

11 Consider the following statements
i. an incident may be closed without being fixed
ii. incidents may not be raised against documentation
iii. the final stage of incident tracking is fixing
iv. the incident record does not include information on test environments
v. incidents should be raised when someone other than the author of the software performs the test

a) ii and v are true, I, iii and iv are false
b) i and v are true, ii, iii and iv are false
c) i, iv and v are true, ii and iii are false
d) i and ii are true, iii, iv and v are false
e) i is true, ii, iii, iv and v are false

12 Given the following code, which is true about the minimum number of test cases required for full statement and branch coverage:
Read P
Read Q
IF P+Q > 100 THEN
Print “Large”
ENDIF
If P > 50 THEN
Print “P Large”
ENDIF

a) 1 test for statement coverage, 3 for branch coverage
b) 1 test for statement coverage, 2 for branch coverage
c) 1 test for statement coverage, 1 for branch coverage
d) 2 tests for statement coverage, 3 for branch coverage
e) 2 tests for statement coverage, 2 for branch coverage

13 Given the following:
Switch PC on
Start “outlook”
IF outlook appears THEN
Send an email
Close outlook

a) 1 test for statement coverage, 1 for branch coverage
b) 1 test for statement coverage, 2 for branch coverage
c) 1 test for statement coverage. 3 for branch coverage
d) 2 tests for statement coverage, 2 for branch coverage
e) 2 tests for statement coverage, 3 for branch coverage

14 Given the following code, which is true:
IF A > B THEN
C = A – B
ELSE
C = A + B
ENDIF
Read D
IF C = D Then
Print “Error”
ENDIF

a) 1 test for statement coverage, 3 for branch coverage
b) 2 tests for statement coverage, 2 for branch coverage
c) 2 tests for statement coverage. 3 for branch coverage
d) 3 tests for statement coverage, 3 for branch coverage
e) 3 tests for statement coverage, 2 for branch coverage

15 Consider the following:
Pick up and read the newspaper
Look at what is on television
If there is a program that you are interested in watching then switch the the television on and watch the program
Otherwise
Continue reading the newspaper
If there is a crossword in the newspaper then try and complete the crossword

a) SC = 1 and DC = 1
b) SC = 1 and DC = 2
c) SC = 1 and DC = 3
d) SC = 2 and DC = 2
e) SC = 2 and DC = 3

16 The place to start if you want a (new) test tool is:
a) Attend a tool exhibition
b) Invite a vendor to give a demo
c) Analyse your needs and requirements
d) Find out what your budget would be for the tool
e) Search the internet

17 When a new testing tool is purchased, it should be used first by:
a) A small team to establish the best way to use the tool
b) Everyone who may eventually have some use for the tool
c) The independent testing team
d) The managers to see what projects it should be used in
e) The vendor contractor to write the initial scripts

18 What can static analysis NOT find?
a) The use of a variable before it has been defined
b) Unreachable (“dead”) code
c) Whether the value stored in a variable is correct
d) The re-definition of a variable before it has been used
e) Array bound violations

19 Which of the following is NOT a black box technique:
a) Equivalence partitioning
b) State transition testing
c) LCSAJ
d) Syntax testing
e) Boundary value analysis



20 Beta testing is:
a) Performed by customers at their own site
b) Performed by customers at their software developer’s site
c) Performed by an independent test team
d) Useful to test bespoke software
e) Performed as early as possible in the lifecycle

21 Given the following types of tool, which tools would typically be used by developers and which by an independent test team:
i. static analysis
ii. performance testing
iii. test management
iv. dynamic analysis
v. test running
vi. test data preparation

a) developers would typically use i, iv and vi; test team ii, iii and v
b) developers would typically use i and iv; test team ii, iii, v and vi
c) developers would typically use i, ii, iii and iv; test team v and vi
d) developers would typically use ii, iv and vi; test team I, ii and v
e) developers would typically use i, iii, iv and v; test team ii and vi

22 The main focus of acceptance testing is:
a) finding faults in the system
b) ensuring that the system is acceptable to all users
c) testing the system with other systems
d) testing for a business perspective
e) testing by an independent test team

23 Which of the following statements about the component testing standard is false:
a) black box design techniques all have an associated measurement technique
b) white box design techniques all have an associated measurement technique
c) cyclomatic complexity is not a test measurement technique
d) black box measurement techniques all have an associated test design technique
e) white box measurement techniques all have an associated test design technique

24 Which of the following statements is NOT true:
a) inspection is the most formal review process
b) inspections should be led by a trained leader
c) managers can perform inspections on management documents
d) inspection is appropriate even when there are no written documents
e) inspection compares documents with predecessor (source) documents

25 A typical commercial test execution tool would be able to perform all of the following EXCEPT:
a) generating expected outputs
b) replaying inputs according to a programmed script
c) comparison of expected outcomes with actual outcomes
d) recording test inputs
e) reading test values from a data file

26 The difference between re-testing and regression testing is
a) re-testing is running a test again; regression testing looks for unexpected side effects
b) re-testing looks for unexpected side effects; regression testing is repeating those tests
c) re-testing is done after faults are fixed; regression testing is done earlier
d) re-testing uses different environments, regression testing uses the same environment
e) re-testing is done by developers, regression testing is done by independent testers

27 Expected results are:
a) only important in system testing
b) only used in component testing
c) never specified in advance
d) most useful when specified in advance
e) derived from the code

28 Test managers should not:
a) report on deviations from the project plan
b) sign the system off for release
c) re-allocate resource to meet original plans
d) raise incidents on faults that they have found
e) provide information for risk analysis and quality improvement

29 Unreachable code would best be found using:
a) code reviews
b) code inspections
c) a coverage tool
d) a test management tool
e) a static analysis tool

30 A tool that supports traceability, recording of incidents or scheduling of tests is called:
a) a dynamic analysis tool
b) a test execution tool
c) a debugging tool
d) a test management tool
e) a configuration management tool

31 What information need not be included in a test incident report:
a) how to fix the fault
b) how to reproduce the fault
c) test environment details
d) severity, priority
e) the actual and expected outcomes

32 Which expression best matches the following characteristics or review processes:
1. led by author
2. undocumented
3. no management participation
4. led by a trained moderator or leader
5. uses entry exit criteria

s) inspection
t) peer review
u) informal review
v) walkthrough

a) s = 4, t = 3, u = 2 and 5, v = 1
b) s = 4 and 5, t = 3, u = 2, v = 1
c) s = 1 and 5, t = 3, u = 2, v = 4
d) s = 5, t = 4, u = 3, v = 1 and 2
e) s = 4 and 5, t = 1, u = 2, v = 3

33 Which of the following is NOT part of system testing:
a) business process-based testing
b) performance, load and stress testing
c) requirements-based testing
d) usability testing
e) top-down integration testing

34 What statement about expected outcomes is FALSE:
a) expected outcomes are defined by the software’s behaviour
b) expected outcomes are derived from a specification, not from the code
c) expected outcomes include outputs to a screen and changes to files and databases
d) expected outcomes should be predicted before a test is run
e) expected outcomes may include timing constraints such as response times

35 The standard that gives definitions of testing terms is:
a) ISO/IEC 12207
b) BS7925-1
c) BS7925-2
d) ANSI/IEEE 829
e) ANSI/IEEE 729

36 The cost of fixing a fault:
a) Is not important
b) Increases as we move the product towards live use
c) Decreases as we move the product towards live use
d) Is more expensive if found in requirements than functional design
e) Can never be determined

37 Which of the following is NOT included in the Test Plan document of the Test Documentation Standard:
a) Test items (i.e. software versions)
b) What is not to be tested
c) Test environments
d) Quality plans
e) Schedules and deadlines

38 Could reviews or inspections be considered part of testing:
a) No, because they apply to development documentation
b) No, because they are normally applied before testing
c) No, because they do not apply to the test documentation
d) Yes, because both help detect faults and improve quality
e) Yes, because testing includes all non-constructive activities

39 Which of the following is not part of performance testing:
a) Measuring response time
b) Measuring transaction rates
c) Recovery testing
d) Simulating many users
e) Generating many transactions

40 Error guessing is best used
a) As the first approach to deriving test cases
b) After more formal techniques have been applied
c) By inexperienced testers
d) After the system has gone live
e) Only by end users

Question number Correct answer
1 C
2 C
3 E
4 E
5 C
6 A
7 B
8 B
9 C
10 E
11 B
12 B
13 B
14 B
15 E
16 C
17 B
18 C
19 C
20 A
21 B
22 D
23 A
24 D
25 A
26 A
27 D
28 C
29 A
30 E
31 E
32 B
33 E
34 A
35 B
36 B
37 D
38 D
39 C
40 B