Page 531 -
P. 531

530 Part Four  Building and Managing Systems


                                   Programming
                                   During the programming stage, system specifications that were prepared
                                   during the design stage are translated into software program code. Today, many
                                   organizations no longer do their own programming for new systems. Instead,
                                   they purchase the software that meets the requirements for a new system from
                                   external sources such as software packages from a commercial software vendor,
                                   software services from an application service provider, or outsourcing firms
                                   that develop custom application software for their clients (see Section 13.3).

                                   Testing
                                   Exhaustive and thorough testing must be conducted to ascertain whether the
                                   system produces the right results. Testing answers the question, “Will the system
                                   produce the desired results under known conditions?” As Chapter 5 noted, some
                                   companies are starting to use cloud computing services for this work.
                                     The amount of time needed to answer this question has been traditionally
                                   underrated in systems project planning (see Chapter 14). Testing is time-con-
                                   suming: Test data must be carefully prepared, results reviewed, and corrections
                                   made in the system. In some instances, parts of the system may have to be
                                   redesigned. The risks resulting from glossing over this step are enormous.
                                     Testing an information system can be broken down into three types of activi-
                                   ties: unit testing, system testing, and acceptance testing. Unit testing, or program
                                   testing, consists of testing each program separately in the system. It is widely
                                   believed that the purpose of such testing is to guarantee that programs are error-
                                   free, but this goal is realistically impossible. Testing should be viewed instead as a
                                   means of locating errors in programs, focusing on finding all the ways to make a
                                   program fail. Once they are pinpointed, problems can be corrected.
                                     System testing tests the functioning of the information system as a whole. It
                                   tries to determine whether discrete modules will function together as planned
                                   and whether discrepancies exist between the way the system actually works
                                   and the way it was conceived. Among the areas examined are performance
                                   time, capacity for file storage and handling peak loads, recovery and restart
                                   capabilities, and manual procedures.
                                     Acceptance testing provides the final certification that the system is ready
                                   to be used in a production setting. Systems tests are evaluated by users and
                                   reviewed by management. When all parties are satisfied that the new system
                                   meets their standards, the system is formally accepted for installation.
                                     The systems development team works with users to devise a systematic test
                                   plan. The test plan includes all of the preparations for the series of tests we
                                   have just described.
                                     Figure 13.5 shows an example of a test plan. The general condition being
                                   tested is a record change. The documentation consists of a series of test plan
                                   screens maintained on a database (perhaps a PC database) that is ideally suited
                                   to this kind of application.
                                     Conversion  is the process of changing from the old system to the new
                                   system. Four main conversion strategies can be employed: the parallel strategy,
                                   the direct cutover strategy, the pilot study strategy, and the phased approach
                                   strategy.
                                     In a parallel strategy, both the old system and its potential replacement
                                   are run together for a time until everyone is assured that the new one func-
                                   tions correctly. This is the safest conversion approach because, in the event of
                                   errors or processing disruptions, the old system can still be used as a backup.
                                   However, this approach is very expensive, and additional staff or resources may
                                   be required to run the extra system.







   MIS_13_Ch_13 global.indd   530                                                                             1/17/2013   2:31:22 PM
   526   527   528   529   530   531   532   533   534   535   536