STModule_1__Question_Answers
STModule_1__Question_Answers
Module 1
1 mark
A predicate whose truth value can change as a result of the processing is said
to be process dependent and one whose truth value does not change as a
result of the processing is process independent.
a. Waterfall Model
b. V Model
c. Agile Model
d. Spiral Model
e. Iterative Model
3. What is Control Flow Graph?
A control flow graph (or simply, flow graph) is a directed graph which represents the
control structure of a program or module. A control flow graph (V, E) has V number
of nodes/vertices and E number of edges in it. A control graph can also have
a. Junction Node – a node with more than one arrow entering it.
b. Decision Node – a node with more then one arrow leaving it.
c. Region – area bounded by edges and nodes (area outside the graph is also
counted as a region.).
4. What is Traversal Marker or Link Marker?
Testing Debugging
This is the most basic software development life cycle process which is followed broadly
in the industry. In this model, the developers follow a sequence of processes downwards
towards the ultimate goal. It is like a waterfall where there are various phases involved.
1. Requirement Analysis
2. Analysis
3. Design
4. Coding
5. Testing
6. Maintenance
Advantages
Disadvantages
Method-03
Cyclomatic Complexity = P + 1
Here,
Note
1. Predicate nodes are the conditional nodes.
2. They give rise to two branches in the control flow graph.
Method-01
Cyclomatic Complexity
= Total number of closed regions in the control flow graph + 1
=2+1
=3
Method-02
Cyclomatic Complexity
=E–N+2
=8–7+2
=3
Method-03
Cyclomatic Complexity
=P+1
=2+1
=3
5. What is TESTING BLINDNESS?
1. Assignment Blindness
Assignment blindness occurs when the buggy predicate appears to work correctly
because the specific value chosen for an assignment statement works with both the
correct and incorrect predicate.
For Example:
Correct Buggy
X=7 X=7
........ ........
if Y > 0 then ... if X+Y > 0 then ...
(Check for Y=1) the desired path is taken in either case, but there is still a bug.
2. Equality Blindness
Equality blindness occurs when the path selected by a prior predicate results in a
value that works both for the correct and buggy predicate.
For Example:
Correct Buggy
if Y = 2 then if Y = 2 then
........ ........
if X+Y > 3 then ... if X > 1 then ...
(Check for any X>1) , the path taken at the second predicate will be the same for
the correct and buggy version.
3. Self Blindness
Self blindness occurs when the buggy predicate is a multiple of the correct
predicate and as a result is indistinguishable along that path.
For Example:
Correct Buggy
X=A X=A
........ ........
if X-1 > 0 then ... if X+A-2 > 0 then ...
(Check for any X,A) The assignment (X=A) makes the predicates multiples of
each other, so the direction taken is the same for the correct and buggy version.
15 marks
1. Functional defects
Functional defects are the errors identified in case the behavior of software is not
compliant with the functional requirements. Such types of defects are discovered via
functional testing.
For example, a functional defect was found in an ecommerce website’s search engine. It
didn’t return any results when a user typed in a product ID, while it was stated in the
requirements that the search could be conducted by both a product’s name and ID.
2. Performance defects
Performance defects are those bound to software’s speed, stability, response time, and
resource consumption, and are discovered during performance testing.
3. Usability defects
Usability defects make an application inconvenient to use and, thus, hamper a user’s
experience with software. A content layout that is difficult to scan or navigate and an
overly complex signup procedure are the examples of usability defects. To identify such
defects, test engineers and business analysts validate software against usability
requirements and Web Content Accessibility Guidelines (WCAG) during usability
testing.
4. Compatibility defects
5. Security defects
Security defects are the weaknesses allowing for a potential security attack. The most
frequent security defects in projects we perform security testing for are encryption errors,
susceptibility to SQL injections, XSS vulnerabilities, buffer overflows, weak
authentication, and logical errors in role-based access.
A project manager, a product owner, or any business stakeholder identifies defect priority.
The priority levels are
1. Urgent defects need to be fixed within 24 hours after being reported. For
instance, a typo in a company’s name on an application’s home page doesn’t have
technical impact on software, but has a major business impact, hence, is classified
as urgent.
2. High-priority defects are the errors that must be fixed in an upcoming release in
order to meet the exit criteria. An example of a high-priority defect is an
application’s failing to navigate a user from the login page to the home page even
though a user has entered valid login data.
3. Medium-priority defects are the errors that may be fixed after an upcoming
release or in the subsequent release. An application returning the expected result,
which, however, formats incorrectly in a particular browser, is an example of a
medium-priority defect.
4. Low-priority defects are the errors that do not need to be fixed in order to meet
the exit criteria but require fixing before an application becomes generally
available. Typos, alignment and element size are usually included in this group.
3. Medium-severity defects are identified in case a minor function does not behave
in a way stated in the requirements. An example of such a defect is a broken link
in an application’s Terms and Requirements section.