0% found this document useful (0 votes)
18 views5 pages

Software Testing Techniques and Concepts

The document is an assignment for a Software Testing course at GLS Institute of Computer Application, containing fill-in-the-blank questions, true or false statements, and detailed questions regarding white box and grey box testing. It covers various testing techniques, definitions, and comparisons between different testing methodologies. The assignment aims to assess students' understanding of software testing concepts and practices.

Uploaded by

hellooworld3117
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views5 pages

Software Testing Techniques and Concepts

The document is an assignment for a Software Testing course at GLS Institute of Computer Application, containing fill-in-the-blank questions, true or false statements, and detailed questions regarding white box and grey box testing. It covers various testing techniques, definitions, and comparisons between different testing methodologies. The assignment aims to assess students' understanding of software testing concepts and practices.

Uploaded by

hellooworld3117
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

GLS Institute of Computer Application

221604603 - Software Testing


Assignment 2

Q-1 Fill in the Blanks.


1. ______________ testing is a software testing technique that
involves testing the internal structure and workings of a software
application.
2. ____________ testing is a type of software testing that involves
executing the software and evaluating its behavior during runtime.
3. White box testing is also known as ____________ because it is
used to test the software’s internal logic, flow, and structure.
4. Dynamic testing is also known as ___________ testing, as it
focuses on testing the software’s functionality and how it behaves
under different inputs and conditions.
5. ___________ testing is a white box testing method where you
check individual units of source code.
6. ____________ are primarily responsible for unit testing.
7. White box testing type - ___________ involves reviewing and
analyzing code without executing it.
8. ___________ is a white-box testing technique that examines the
data flow with respect to the variables used in the code.
9. ________ in Control Flow Graph is individual statements or blocks
of code.
10. The two types of data flow testing are
_____________________ and _____________________.
11. A __________ refers to a line of code in the software which
performs some action.
12. In the path testing method, _______________________ of a
program is designed to find a set of linearly independent paths of
execution
13. A decision is a statement which can have two
_____________.
14. ___________ Cyclomatic Complexity is used in path testing.
15. A __________ refers to the outcome of a decision.
16. ____________ is a white box testing technique and is used
to test loops in the program
17. A _____________ loop is the finite number of loops inside
another loop.
18. The ____________ loop is the combination of nested loops
and concatenated loops.
19. Condition Coverage is also called _____________ coverage.
20. The internal structure is partially known in ____________
Testing.
21. ___________ technique is a method in grey box testing that
is used to remove unused and uninitialized variables by identifying
used variables from the program.
22. In _____________ testing type of grey box testing, test
cases are designed in a way that can cover maximum code as well
as GUI functions with a smaller number of test cases.
23. ___________ testing is a technique that evaluates past
defects to identify patterns that lead to defects.
24. The ______________ technique of grey box testing tests the
input values on or within the boundary of a specific range for the
system’s input domain.
25. _________________ testing checks the behavior of an
application when it goes through different states and transitions.
26. ____________ testing is non-intrusive
27. ___________ testing avoids conflicts between a tester and a
developer.
28. Gray box testing is much more effective in __________
testing.
29. Gray box testing is usually not suitable for ______ systems.
Q-2 State True or False.
1. White Box Testing is also known as transparent testing or open
box testing.
2. The clear box or white box or transparent box name denote the
ability to see through the software's outer shell into its inner
workings
3. Path coverage refers to the percentage of statements covered by
white box testing out of the total statements.
4. JUnit is a Java framework that facilitates unit testing by allowing
developers to define test cases, execute them, and assert
expected outcomes, promoting code reliability through automated
testing practices.
5. Condition coverage testing is a type of white-box testing that test
all the conditional expressions in a program for all possible
outcomes of the conditions.
6. Decision coverage covers all possible outcomes of each and every
Boolean condition of the code by using control flow graph or chart
7. Decision testing examines the initialization of variables and checks
their values at each instance.
8. Path Testing is a method that is used to design the test cases.
9. A Control Flow Graph (CFG) is a graphical representation of all the
paths that might be traversed through a program during its
execution.
10. Edge is the flow of control from one node to another in
control flow graph.
11. The difference between nested and concatenated is that in
the nested loop one loop is inside the other loop and for
Concatenated loop is one loop after the other loop.
12. Direct flow from one statement to another without any
condition is shown by conditional edge in Control Flow Graph
13. A path represents the execution path inside a function.
14. Branch coverage refers to the percentage of branches
covered in a piece of code with respect to total number of available
branches.
15. Loops refer to piece of code which can execute multiple
times (up to infinite times) and only get terminated if a condition
becomes true.
16. Unstructured loop is basically a collection of loops that are in
no order.
17. White Box Testing require any GUI (Graphical User
Interface) for starting testing process.
18. White box testing can be easily started in Software
Development Life Cycle.
19. Testers need to have programming knowledge and access to
the source code to perform tests in grey box testing.
20. Gray Box Testing is named so because the software program
is like a semitransparent or gray box inside which the tester can
partially see
21. Regression testing is used to verify that modification in any
part of software has not caused any adverse or unintended side
effect in any other part of the software.
22. Orthogonal array testing is a technique you can use when
your application has only a few inputs that are too complex or large
for extensive testing.
23. For the outer boundary, you have to enter values within the
range and it will give a positive outcome.
24. A loan amortization table is a practical example of decision
table testing.
25. A state indicates a condition or set of conditions under which
you must perform the testing.
26. The transition indicates the change from one condition to
another condition.
27. White box testing is unbiased.
28. Gray box testing is not suitable for algorithm testing as
accessing the complete logic of the algorithms is not possible.

Q-2 Answer the following in detail


1. What is white box testing? Explain its types.
2. Explain white box testing techniques.
3. List down the advantages and disadvantages of white box testing.
4. What is grey box testing? Explain its types.
5. Explain grey box testing techniques.
6. List down the advantages and disadvantages of grey box testing.
7. Write difference between White Box testing and Grey Box testing.
8. List difference between Condition Coverage and Branch
Coverage.

Common questions

Powered by AI

Cyclomatic complexity is used in path testing to measure the number of linearly independent paths within a program. It is calculated using the control flow graph by determining the number of conditional branches. This metric is significant as it provides a quantitative measure of the program's complexity, helping in designing test cases that ensure comprehensive path coverage and identify potential testing points for optimizing software testing .

Decision testing covers all possible outcomes of Boolean conditions in the code, ensuring every branch of a control structure executes during testing. Condition testing, while similar, focuses on testing all possible outcomes of individual conditions within the control structures. This involves checking the conditions themselves in isolation rather than the overall decision paths that include those conditions. Thus, condition testing is more granular compared to decision testing, which is broader in scope .

Path testing plays a crucial role in ensuring software reliability by designing test cases that explore different paths of execution within a program to ensure all possible paths are tested for errors or logical issues. Techniques involved include using a control flow graph to visualize all executable paths and applying path coverage strategies to test the linear independent paths of execution .

Dynamic testing differs from static testing in that it involves executing the software and evaluating its behavior during runtime, focusing on the software’s functionality and how it behaves under different inputs and conditions. On the other hand, static testing involves reviewing and analyzing the code without executing it, focusing on detecting potential errors or weaknesses before software execution .

Regression testing is most beneficial in scenarios where software undergoes frequent updates or modifications, ensuring that new changes do not adversely impact the existing functionality of the application. Its primary objective is to verify that previously developed and tested software still performs correctly after a change, preventing unintended side effects in any part of the software .

The limitations of grey box testing when applied to algorithm-intensive systems stem from its partial visibility into the code, which restricts comprehensive insight into algorithm execution and logic. This partial view can hinder identifying logical nuances or errors in algorithms. In such cases, a more suitable testing method would be white box testing, which provides full access to the code, allowing for detailed inspection and evaluation of the algorithm’s logic and flow .

State transitions in state transition testing are used to validate software behavior by verifying that transitions from one state to another—under different conditions—occur correctly. Each state transition represents a condition change, and testing these transitions ensures that the software can handle state changes reliably and that incorrect transitions, which could lead to errors or undesirable states, are identified and rectified .

The primary difference between white box testing and grey box testing regarding access to the source code is that white box testing requires complete access to the source code, allowing the tester to test the internal logic, flow, and structure of the code. In contrast, grey box testing offers partial visibility, as the tester has access to some but not all of the source code, allowing for a more limited review .

Condition coverage and branch coverage focus on different aspects of software testing. Condition coverage tests all the conditions in a piece of code such that each condition is tested for all possible outcomes. This can be more comprehensive as it ensures that every logical outcome is verified. Branch coverage, on the other hand, focuses on ensuring that every possible branch (e.g., true or false conditions) is executed. While condition coverage provides finer details of testing the logical conditions, branch coverage ensures that all branches within the control flow are tested. Depending on the aim and resources, one might choose condition coverage for more detail-oriented testing and branch coverage for a broader approach .

Orthogonal array testing is a systematic and statistically-based technique used to design test cases in such a way that it covers all pairwise combinations of input parameters. This testing is particularly useful when dealing with applications that have a limited number of inputs but with combinations too complex or large for exhaustive testing, thus efficiently covering the necessary input space with minimal test cases .

You might also like