Software certification is an endorsement of the correctness of the program, an issue that is rising in importance for information systems applications. There is an increasing dependence on the purchase or lease of commercial software rather than on its in-house development. However, before analysts are willing to approve the acquisition of a package, they often require certification of the software by the developer or an unbiased third party. For example, selected accounting firms are now certifying that a software package in fact does what the vendor claims it does and in a proper manner.
To so certify the software, the agency appoints a team of specialists who of specialists who carefully examine the documentation for the system to determine what the vendor claims the system does and how it is accomplished. Then they test the software against those claims. If no serious discrepancies or failures are encountered, they will certify that the software does what the documentation claims. They do not, however, certify that the software is the right package fora certain organization. That responsibility remains with the organization and its team of analysts.
8.7 Testing Plans The philosophy behind testing is to find errors. Test cases are devised with this purpose in mind. A test case is a set of data that the system will process as normal input. However, the data are created with the express intent of determining whether the system will process them correctly. For example, test cases for inventory handling should include situations in which the quantities to be withdrawn form inventory exceed, equal, and are less than the actual quantities on hand. Each test case is designed with the intent of finding errors in the way the system will process it. There are two general plans for testing software The strategies of code testing ad specification testing.
8.7.1 Code Testing The code-testing strategy examines the logic of the program. To follow this testing method, the analyst develops test cases that result in executing every instruction in the program or module that is, every path through the program is tested. A path is a specific combination of conditions that is handled by the program. For example, in
the accounting systems example, one path through the system is to change the account
balances. The correct request is submitted,
then the proper passwords, data, and command entries. On the surface, code testing seems to bean ideal method for testing software. However, the rationale that all software errors can be uncovered by checking every path in a program is faulty. First of all, in even moderately large programs of the size used
in typical business situations, it is virtually impossible to do exhaustive testing of this nature. Financial considerations and time limitations alone will usually preclude executing every path through a program, since there maybe several thousand. However, even if code testing can be performed in its entirety, it does not guarantee against software failures. This testing strategy does not indicate whether the code meets its specifications nor does it determine whether all aspects are even implemented. Code testing also does not check the range of data
that the program will accept, even though, when software failures occur in actual use, it is frequently because users submitted data outside of expected ranges.
Share with your friends: