Assignment#5 Clo1: Software Quality Engineering Wednesday, May 27, 2020
Assignment#5 Clo1: Software Quality Engineering Wednesday, May 27, 2020
Assignment#5 Clo1: Software Quality Engineering Wednesday, May 27, 2020
CLO1
Contents
Q.1. Answer the following questions, defining and highlighting difference
between:.....................................................................................................................2
a) White-box and black box testing?.........................................................................2
Test cases Generated for white box testing have three distinct advantages:..........2
A set of Black Box test cases is relatively small with respect to the full set of
programmed behaviors...........................................................................................2
Testing can be commenced at an earlier stage. One need not wait for the GUI
to be available.........................................................................................................2
b) Control-flow and dataflow-based testing..............................................................3
c) Quality control and Quality assurance..................................................................3
d) Top-down integration and bottom-up integration.................................................4
e) Fault and Error......................................................................................................5
Q.2. what is an MM-Path? What are the various observable behavior criteria that
can put endpoints on MM-Path?...............................................................................5
Q.3. Please use category-partitioning method considering function definition given
below and answer the following questions:..............................................................5
Input spaces and partitions/value classes:.......................................................6
Strong Robust Test case:.....................................................................................7
Q.4.............................................................................................................................8
Introduction.........................................................................................................8
Checklist:.............................................................................................................8
Cleared Checklist:...............................................................................................8
Resulting Faults:..................................................................................................9
Conclusion:...............................................................................................................9
References:...............................................................................................................9
01-131172-005 Assignment#5 1
Aymal khalid Khan BSE_VI SQE
01-131172-005 Assignment#5 2
Aymal khalid Khan BSE_VI SQE
01-131172-005 Assignment#5 3
Aymal khalid Khan BSE_VI SQE
01-131172-005 Assignment#5 4
Aymal khalid Khan BSE_VI SQE
There are three observable behavioral criteria that put endpoints on MM Paths:
Event quiescence:
Occurs when a system is nearly idle, waiting for a port input event to trigger further processing.
•This is a system level property with an analog at the integration level: message quiescence.
Message quiescence
Occurs when a unit that sends no messages is reached
Data quiescence
Occurs when a sequence of processing culminates in the creation of stored data that is not
immediately used
.
Function Definition:
In mathematics, the factorial of a non-negative integer n, denoted by n! Is the product of all
positive integers less than or equal to n. For example,
The value of 0! is 1, according to the convention for an empty product. The students of MS-SE
were we're asked to test a function which calculates the factorial (n!) of a number n, returning 0
for negative inputs and -1 when the result is out of range (with size of int as 16 bits):
01-131172-005 Assignment#5 5
Aymal khalid Khan BSE_VI SQE
1. This function does only one thing, so we identify one Independently Testable
Feature: that is that the method or factorial (INT n) correctly computes and returns the
factorial of its parameter, n, or returns an appropriate error code.
2. Parameters and environment: The parameters here are pretty obvious — there's only
one, n. the environment, which is that INT has a limited range:
1. On a 32-bit computer system, INT has a range from -231 to 231-1.
2. On 64-bit computers the range is from -263 to 263-1. Those are big numbers, but
factorials are big as well: 14! Is too big for a 32-bit INT, and 22! Too big for a 64-
bit INT.
3. Identify the capacity of the system's INT as an environment factor, and an INT
might be one of several different sizes depending on the platform.
1. 16-bit
2. 32-bit
3. 64-bit
Test Case:
We have three different environments and seven different value classes, so this means 3 × 7 = 21
tests.
01-131172-005 Assignment#5 6
Aymal khalid Khan BSE_VI SQE
9 32-bit 13 -1 MAX = 12
01-131172-005 Assignment#5 7
Aymal khalid Khan BSE_VI SQE
Q.4. Please make use of a good checklist for code review and please review the
following code, report issues and highlight how you have selected and
implemented a particular software verification technique such that you first share
the checklist and then the resulting faults.
Introduction
Competing tasks manipulating the same resource, we can easily get a race condition as the
resources are not in step-lock or utilizes a token based system such as semaphores. There many
problems which can arise:
Checklist:
Checklist For the Code Review
Threading
1.
Interlocking
2.
Memory leak
3.
User and Kernel Mode Switching
4.
Multi-Tasking
5.
Multi-Threading
6.
Check Thread Pool
7.
List Reason
Thread Synchronization
8.
1. Threading sem_init(for threads) Initialization (Thread)
Cleared Checklist:
Resulting Faults:
Resulting Faults
1. Multi-Tasking
2. Multi-Threading
3. Thread Pool
4. Thread Synchronization
01-131172-005 Assignment#5 8
Aymal khalid Khan BSE_VI SQE
Conclusion:
In this assignment we covered from basic of testing to an extent of practical in the first question
we covered the major and basic differences from glossary of basic testing then moved on mm
paths of a function did categorical partitioning based testing and final made a review code
checklist for a common operation in Operating System called semaphore.
References:
Software Reading Techniques Twenty Techniques for More Effective Software Review and Inspection —
Yang-Ming Zhu
Software-testing-concepts-and-tools-oozy
01-131172-005 Assignment#5 9