Sie sind auf Seite 1von 17

SUBJECT : SOFTWARE TESTING SUBJECT CODE : SAZ6C

CLASS : III BCA

UNIT 1

PART A:

1. Define software testing.


 Software testing is used to check the software.
 It is used to find the errors.
 Testing is used to verifying the program code is right or wrong.
 It is a part of quality assurance.
2. Define bugs.
 Bugs are errors in the codes.
 Bugs depend on frequency, correction cost, installation cost, and
consequences.
3. Define testing.
 Testing starts with known conditions.
 Testing should be planned, designed and scheduled.
 Testing is a demonstration of error or apparent correctness.
 Testing prove programmers failure.
 Testing as executed should strive to be predictable.
4. Define debugging.
 Debugging starts from unknown initial conditions.
 Procedure and duration cannot be constrained.
 Debugging is a deductive process.
 Debugging is the programmer’s vindication.
 Debugging demands experimentation and freedom.
5. What are the phases in tester’s mental life?
 Phase 0 – there is no difference between testing and debugging. Other
than in support of debugging, testing has no purpose.
 Phase 1 – the purpose of testing is to show that the software works.
 Phase 2 – the purpose of testing is to show that the software does not
work.
 Phase 3 – the purpose of testing is not providing anything, but to
reduce the perceived risk of not working to an acceptable value.
 Phase 4 – testing is not an act. It is a mental discipline that results in
low – risk software without much testing effort.
6. Define transaction flows.
 Transaction flows are part of the system’s specification.
 It is correct and effective sub flows analogous to subroutines in
control flow graphs.
 Detailed transaction flows are a mandatory prerequisite to the rational
design of a system’s functional test.
7. What to model in testing?
 The hardware and software can in principle be modeled by a
sufficiently complicated state graph.
 The state graph is a behavioral model.
 Creating the states are representing in order to get a state count.
 The state testing proves:
 The output is based on the occurrence of one or more sequence of
events.
 Most protocols between systems, between human and machines.
8. Define Tools.
 Good news and bad news.
 It uses several languages/systems to code state tables directly.
Good news:
 There are tools to do the same for hardware logic designs.

Bad news:

 Not applicable to the general use of software implementation of


finite state.
9. List out any two difference between testing and debugging.
S. NO. TESTING DEBUGGING
1 Testing starts with known Debugging starts from unknown
conditions initial conditions
2 Testing should be planned, Procedure and duration cannot
designed, scheduled be constrained
3 Testing is a demonstration of Debugging is a deductive
error or apparent correctness process
4 Testing proves programmers Debugging is the programmer’s
failure vindication
5 Testing as executed should Debugging demands
strive to be predictable experimentation and freedom
6 Much of the testing can be done Debugging is impossible without
without design knowledge detailed design knowledge
7 Testing can often done by an Debugging must be done by an
outsider insider
8 Much of the test execution and Debugging has only recently
design can be automated been attached by theorists
10. Write about software design styled?
Software testing design styles based on two patterns:
1. Good pattern (includes good design, schedule and schemes)
2. Bad pattern.

PART B:

11. Write about productivity and quality of the software.


12. Explain about debugging.
13. Explain about model for testing.
14. What is the purpose of testing?
15. Explain about testing ad design styles.

PART C:

16. Explain about phases in a tester’s mental life.


17. Differentiate testing and debugging.
18. Explain about bugs and its types.
19. Explain about software testing.
20. Explain about software quality.
UNIT 2
PART A:
1. Define flow graph.
Graphical representation of a program’s structure.
2. Define path testing.
 It is the structural model. It is the cornerstone of testing.
 Selecting a set of test path through the program.
 A path through a program is a sequence of instructions or
statements.
 A path segment is a succession of consecutive links that belongs to
some path.
 The length of a path is measured by the number of links in it.
3. Define process block.
A process block is a sequence of program statements uninterrupted
by either decisions or junctions.
4. Write about Decisions and Case statements.
 A decision is a program point at which the control flow can
diverge.
 Case statement is a multi – way branch or decision.
 A Junction is a point in the program where the control flow can
merge.
5. What are the kinds of loop?
 Single loop.
 Nested loop.
 Concatenated loop.
 Horrible loop.
6. What are the main classes of variation?
 Strategies between P2 and total path testing.
 Strategies weaker than P1 or P2.
7. Define Predicates.
 The logical function evaluated at a decision is called a Predicate.
 A predicate associated with a path is called a Path Predicate.
8. Define Inputs.
 Input includes all data objects referenced by the routine whose
values are fixed prior to entering it.
 Example : A calling sequence, objects in data structure, values left
in a register.
9. Define predicate interpretation.
 The act of symbolic substitution of operations along the path is
called predicate interpretation.
 The path predicates are the specific form of the predicates of the
decisions along the selected path after interpretation.
10. Define Predicate Expressions.

The result of mental exercise is a set of Boolean expressions, all of


which must be satisfied to achieve the selected path. This set is called the
path predicate expression.

11. Define Predicate Coverage.


 Predicate coverage has been achieved is all possible combination
of truth values corresponding to the selected path has been
explored under some test.
 Predicate coverage is stronger than branch coverage.
12. Define Testing Blindness and list out the types.
Testing blindness is a pathological situation in which the desired path
is achieved for the wrong reason.

TYPES:

1. Assignment blindness.
2. Equality blindness.
3. Self blindness.
13. Define link marker.
A simple and effective form of instrumentation is called traversal
marker or link marker.
14. Define link counters.
 A less disruptive instrumentation method is based on counters.
 Link markers also lead us to double link counters.
15. Write about rehosting.
 Path testing with c1+c2 coverage is a powerful tool for rehosting
old software.
 Using the conjunction with automatic or semiautomatic structural
test.
 Software is rehosted because it is no longer cost effective to
support the environment in which it runs.
16. Define Transaction.
A transaction consists of a sequence of operations, some of which are
performed by a system, persons, or devices that are outside of the system.
17. Define Transaction flow.
 Transaction flows are part of the system’s specification.
 It is correct and effective sub flow analogous to subroutines in
control flow graphs.
18. Define path selection.
Path selection for system testing based on transaction flows should
have a distinctly different from path selection.
19. Define Instrumentation.
 The information of the path taken for a transaction must be kept
with transaction.
 Instrumentation part of the system design.
 Instrumentation is typically small compared to the processing.
20. Define test databases.

The effort of transaction low test design is the design and maintenance
of the test databases. The design of the databases is no less important than
the design of the system data structure.

21. Define Execution.


 Transaction flow testing for a system of any size be committed to
test execution automation from the start.
 Capture/replay tools and other test drivers are essential for
execution.

PART B:

22. Explain about flow graphs.


23. Explain about more on testing Multi – entry/Multi – exit routines.
24. Write short notes on testing blindness.
25. Explain about predicate expressions.
26. Explain about link markers and link counters.
27. Explain about Application of path testing.
PART C:

28. Explain about path testing.


29. Write brief notes on predicates.
30. Write brief notes on path instrumentation.
31. Explain about transaction flow testing techniques.

UNIT 3

PART A:

1. Define domain testing.


The domain testing attempts to determine whether the classification is
or not correct. Application of domain testing to interface and integration,
domain design, software design for testability ad limitations.
2. Write about data flow testing strategies.
 Data – flow strategies are structural strategies.
 In contrast to path – testing strategies, data – flow strategies take into
account what happens to data objects on the links in addition to the
raw connectivity of the graph.
 Data flow testing strategies are based on selecting test path segments
also called sub paths that satisfy some characteristic of data flows for
all data objects.
3. Define clear path segment.
 A clear paths segment is a connected sequence of links defined on the
first link are not redefined or killed on any subsequent link of that
path segment.
 A definition clear path segment is a connected sequence of links
defined on the first link and not redefined or killed on any subsequent
link of that path segment.
4. Define slice.
A slice static program is a part of the program (selected set of
statements) defined with respect to a given variable X.
5. Define dice.
Dice is obtained from a slice by incorporating information obtained through
testing as experimentation (debugging).
6. Define dynamic slicing.
 It is a refinement of static slicing.
 Slicing methods have been supported by tools and tried
experimentally on a small scale.
7. Define domain closure.
Close: In set theory, a domain boundary is closed with respect to a domain if
the points on the boundary belong to the domain.
Open: If the boundary points belong to some other domain, the boundary is
said to be open.
8. Write about domain dimensionality.
 Every input variable adds one dimension to the domain.
 1 variable defined domain on a number line, 2 variables define planar
domains, 3 variables define solid domains and so on.
9. Write about interface testing mappings.
An interface test consists of exploring the correctness of the following
mappings:
Caller domain – caller range (caller unit test)
Caller range – called domain (integration test)
Called domain – called range (called unit test)
10. Define range.
The set of output values produced by a function is called the range of the
functions.
11. Define domain.
It is a set of input valued over in which the function is defined.
12. Define Closure Bug.
This is a possible bugs for a one – dimensional open domain boundary. The
closure can be wrong if it is assigned to the wrong domain or the boundary.
13. Define Missing Boundary/Extra Boundary.
A point which is shifted one way or the other is called the missing boundary
or extra boundary. To detect the extra boundary we have to look at two
domain boundaries.
14. Define a loop-free path segment.
It is a path segment for which every node is visited at most once.
15. Define a simple path segment.
It is a path segment in which at most one node is visited twice. A simple
path segment is either loop free or there is a loop only one node is involved.
16. Define du path.
It is a path segment from first node to the last node and the last node has a
computational use of variable X then the path is simple and definition clear.

PART B:

17. Explain about data flow testing strategies.


18. Explain about path segments and its types.
19. Explain about slices and dices.
20. Write about domain closure.
PART C:

21. Write brief notes on data flow testing.


22. Write about bug assumption.
23. Explain about domain testing.
24. Explain about domains and ranges.

UNIT 4

PART A:

1. What is the objective of linguistic metrics?


 Measuring software complexity.
 Metrics of complexity proved their worth is practice.
2. Define Linguistic metrics.
 Linguistic metrics measure property of text without interpreting what
is measured.
 A metric is linguistic if its value doesn’t change when rearrange the
text.
 Applied mostly to program text.
3. Define statement count.
 There’s no simple rule for defining “statement” across different
language.
 Subjectivity deciding what is and what is not to be called statement.
4. Define Halstead’s metrics.
 Halstead’s metrics are based on a combinations of arguments derived
from common sense, information theory, and psychology.
 Halstead defined a program’s vocabulary as the sum of the number of
distinct operators and operands.
5. Define token count.
 A token in a programming language is the basic syntactic unit from
which programs are constructed.
 Tokens include keywords, labels, constants, strings and variable
names.
6. Define structure metrics.
 Structure metrics take the opposite viewpoint of linguistic metrics.
 Linguistic complexity is ignored while attention is focused on control
– flow or data flow complexity.
7. Define Cyclomatic complexity (McCabe’s Metric)
McCabe’s cyclomatic complexity metric is defined as
𝑀 = 𝐿 − 𝑁 + 2𝑃
 L = The number of links in the graphs.
 N = The number of nodes in the graphs.
 P = The number of disconnected parts in the graphs.
8. Define refinement.
The refinement consists of accounting for each term of the predicate
expression separately.
9. Define Cyclomatic complexity.
Cyclomatic complexity over data flow graphs should be useful a
metrics as cyclomatic complexity over control flow graphs but corroboration
is still lacking.
10. Define Path Products.
The name of the path or path segment corresponds to those link is
expressed naturally by concatenating those link names. This path name is
called a path product.
11. Define path sum.
The path sum denoted in parallel between two nodes.
Rule 2 : 𝑋 + 𝑌 = 𝑌 + 𝑋
Rule 3 : (𝑋 + 𝑌) + 𝑍 = 𝑋(𝑌 + 𝑍) + 𝑋 + 𝑌 + 𝑍
12. Define loops.
Loops can be understood as an infinite set of parallel paths. The loop
consists as a single link.
Rule 6: 𝑋𝑛 + 𝑋𝑚 = 𝑋𝑛 𝑖𝑓 𝑛 𝑖𝑠 𝑏𝑖𝑔𝑔𝑒𝑟 𝑡ℎ𝑎𝑛 𝑚
= 𝑋𝑚 𝑖𝑓 𝑚 𝑖𝑠 𝑏𝑖𝑔𝑔𝑒𝑟 𝑡ℎ𝑎𝑛 𝑛

Rule 7: 𝑋𝑛 𝑋𝑚 = 𝑋𝑛+𝑚

Rule 8: 𝑋𝑛 𝑋 ∗ = 𝑋 ∗ 𝑋𝑛 = 𝑋 ∗

Rule 9: 𝑋𝑛 𝑋+= 𝑋 + 𝑋𝑛 = 𝑋 +

Rule 10: 𝑋 ∗ 𝑋+= 𝑋 + 𝑋 ∗ = 𝑋 +

13. Define Distribute laws


The product and sum operation are distribute, and the ordinary rules of
multiplication (i.e.)
Rule 4: 𝐴(𝐵 + 𝐶) = 𝐴𝐵 + 𝐴𝐶
And
(𝐵 + 𝐶)𝐷 = 𝐵𝐶 + 𝐵𝐷
14. Define absorption rule.
If X and Y denote the same set of paths then the union of these sets is
unchanged, consequently.
Rule 5: 𝑋 + 𝑋 = 𝑋
PART B:

15. Explain about Lines of code, statements counts and Related Metrics.
16. Explain about statement count.
17. Explain about Halstead’s metrics.
18. Write short notes on the hidden assumption and weakness.
19. Explain about token count.

PART C:

20. Explain about Linguistic Metrics.


21. Write brief notes on structural Metrics.
22. Explain about path products and path expressions.

UNIT 5

PART A:

1. What are the contents in decision table?


The functional requirements of specified by decision tables.
It consists of four areas.
 Condition stub
 Condition entry
 Action stub
 Action entry
2. Define state graph.
 It’s more convenient to represent the state graph as a table.
 The state graph represents the total behavior.
 State codes and state – symbol products. The term state – symbol
product is used to mean the value obtained by any scheme used to
convert the combined state and input code into a pointer to a compact
table without holes.
 The state graph is a behavioral model.
3. Define state testing.
 State testing used for path testing flow graph.
 The notion of coverage is identical used for flow graphs, pass through
each link.
 State graph are strongly connected.
4. Define states.
 A combination of circumstances or attributes belonging for the time
being to a person or hiding.
 States are represented by nodes.
 States are numbered or may by identified by words.
5. Define finite state machine.
A finite state machine is an abstract device that can be represented by
a state graph having a finite number of states and a finite number of states
and a finite number of transitions between states.
6. Define state table.
It’s more convenient to represent the state graph as a table (the state table or
state – transition table) that specified the states, the inputs, the transitions,
and the output.
1. Each row of the table corresponds to a state.
2. Each column corresponds to an input condition.
3. The box at the intersection of a row and column.
7. Write about impact of bugs.
 Program code or tables or a combination of both must still be
implemented.
 A bug can manifest itself as one or more of the following symptoms:
 Wrong number of states.
8. Define transition.
As a result of inputs, the state changes, or is said to have made a transition.
9. Define software implementation.
The state graph represents the total behaviour consisting of the transport, the
software, the executive, the status returns and interrupts.
10. Define Input encoding and input alphabet.
 Input encoding is a huge state graph and table because there must be
one out link in every possible input.
 The set of different encoded input value is called the input alphabet.
11. Define Output encoding and output alphabet.
The word “OUTPUT” as used in the context of finite state machines means a
“CHARACTER” from the output alphabet.

PART B:

12. Explain about state table.


13. Explain about Limitations and Extensions.
14. Explain about Decision table.
15. Write brief notes on states.
16. Explain about software implementation.

PART C:

17. Write brief notes on state testing.


18. Explain about path products.
19. Explain about decision table concept.
20. Explain about state graph.
21. Explain about transition testing.

Das könnte Ihnen auch gefallen