Page 55 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 55
Software Testing and Quality Assurance
(b) Check if the error condition has been handled
(c) Check if the software handles the situation of the external device being disconnected
(d) Check if all the exceptions are handled by some part of the code
(e) Check if all error messages have been checked for correctness, appropriateness, grammar,
and spelling
8. Other Checks: The ones which do not fit into the above mentioned categories fall under the other
checks. In this category of error checks, we will check for the following:
(a) Check if the code is portable to the other OS platforms
The GCC compiler warnings( GCC is the GNU Compiler Collection used to
compile C programs)
(b) Check whether the code handles ASCII and Unicode
Checking whether the software will work well with languages other than
English.
(c) Check whether your code passes the lint test
(d) Check issues related to internationalization
(e) Check whether the code relies on deprecated APIs
(f) Check whether the code ports to architectures with different byte orderings
4.2 Dynamic White Box Testing
Dynamic white box testing is a validation check which involves testing and running the test cases with
input values. The dynamic white box testing ensures that the application works according to the
specification throughout the execution. The results of the execution give proof about the actual behavior
of the code. A software tester collects ample information which enables the tester to analyze what the
code does, how it works, what to test, what not to test, and thus determines the approach of the testing
process.
Dynamic white box testing is also known as structural testing, as it enables the tester to
view the structure of the code and its design and run the tests.
The four prominent areas that dynamic white box testing encompasses are:
(a) Testing low-level functions, procedures, subroutines, or libraries directly.
The low-level functions, procedures, and subroutines are known as API’s
(Application Programming Interfaces) in Microsoft.
(b) Testing the software at the top level, as a completed program, by adjusting the test cases
based on what we know about the software operation.
(c) Gaining access to read variables and state information from the software and enabling the
tester to determine whether the tests are doing what they were designed to do. Forcing the
software to do things that would be difficult, if they are tested normally.
(d) Measuring how much of the code and which particular code a tester "hits” when he/she
runs the tests and also how he/she adjusts the tests to remove the redundant test cases and
add the missing ones.
48 LOVELY PROFESSIONAL UNIVERSITY