Course Number / Course Title: CSC 415 / Software Engineering
Date of Submission: September 20, 2013
Software Quality Assurance and Testing Techniques
This memo delves into unit testing, integration testing, and other aspects of software quality assurance.
Software quality assurance is essential for any business that provides products that are to be used by others. This memo serves as a documentation of software testing methodologies that support a recommendation for GF Software Solutions approach to SQA. Addressed are various components of the software development lifecycle and the different techniques that exist for their implementation. Unit tests focus on the verification of the
…show more content…
However, drivers and stubs should be kept simple as to not add unnecessary overhead. Modules are tested using various test cases with different characteristics that analyze specific functions of the code. Test cases should be exhaustive and include assessment of all local data structures, boundary conditions, and independent data paths. An efficient method for testing various cases is by using parameterized unit tests (PUT). A PUT is a testing technique that takes parameters and performs a series of method calls so that several border conditions can be tested at once [Halleux et al 2010]. Well-defined test cases will encompass the characteristics that define a particular a module and can act as a form of documentation. When bugs are discovered in a program, specific test cases can be useful to expose the underlying problem. Unit testing can be performed manually, a process in which a programmer follows an instructional document to perform a particular test case, but they are more commonly run by automated framework that is developed to test for certain criteria. Tests should verify that any errors that may occur within the program are properly handled and well-defined error descriptions are delivered to the user. The overall purpose of unit testing is