next up previous contents index
Next: Conventions in this Thesis Up: Testing of a Computer Previous: Contents

Introduction

Software has been produced for over half a century now. It is kind of the soul of a computer, and basically all firms and institutions rely on their computers. They control atomic power plants, most countries defense systems, and our whole financial market would not work without them. This and the fact that more than one ``Pfennig'' of each ``Mark'' spent in Germany  is used for software development make it very surprising that the field of software quality  assuringgif and software testing  has basically been ignored by most universities  and similar educational institutions. This is slowly changing now, but unfortunately this process is still in its origin.

Furthermore, people tend to believe computers  more easily than other humans. This is especially true in fields of which they are afraid. One of those areas is people's health  or more scientific medicine . Since it is not possible to manage the huge amounts of data without the help of computers, it is absolutely necessary to reduce the chances for mistakes as far as possible.

At least the industry  has noticed those omissions and has started to spend bigger amounts of money in this area. This has not been done completely voluntarily. They have been forced to take this step by reasons like loss of image , higher expenditures for maintenance, disadvantages in the economic rivalry, negative publicity, contracts about error elimination, the change of liability   laws for software towards the initiator principle, and the customer's increasing quality  consciousness. The software developing industry has realized that the most efficient way to avoid those negative effects is to run a quality assuring program from the very beginning of the design  phase of a computer program. Most companies have established their own testing and quality management departments, and have determined that those divisions should be strictly separated from the developing divisions.

This helps to reduce the costs , especially when producing new programs. But what should be done with software that has been written without a good quality assuring program. In general, it is not possible to make major changes in the design  of such a product, but to increase its value, as many faults as possible have to be removed. However, those bugs  have to be found first, and normally testing  is one of the first things done in this location  process.

Those considerations can be summarized in the following necessary steps: quality control  during the whole process of software  development, schoolings of the people who use the computers, and testing  the software running on those systems. How can such a test be done?

Those considerations lead to the following structure of this thesis . For clarity reasons, and to make it easier to understand this paper, a definition of the most important terms out of the field of software testing will be given in the first part of chapter two. Problems, goals , and some strategies for testing  will be explained. The focus  will be on testing bigger programs.

Since the application DPVgif version 3.0  which will be tested in chapter five is a medical database  for monitoring the course of diabetes mellitus  illnesses, chapter three will be an introduction about this disease. The application itself will be described in chapter four.

This dBASE  application has been written to collect data about young patients who suffer from diabetes mellitus . It has extensive statistic functions which above all are used to show the treating physician  the quality   and success of his medications . This part of the program makes it also possible to export anonymous  data about the course of diabetes mellitus to ease research  in this area. In chapter five this statistic  part of the program DPV will be tested.

As all the modules which have been tested in chapter five have been rewritten in perl to make possible a more complete and saver test, some more detailed information about those programs, in addition to a crash-course in  perl, will be given in chapter six.

Finally, the faults  which have been found will be summarized in chapter seven. The dBASE  source code will be checked for some of those bugs , and an attempt to find typical locations of those faults will be made. 


next up previous contents index
Next: Conventions in this Thesis Up: Testing of a Computer Previous: Contents

Ingo Melzer
Mon Aug 5 15:12:01 MET DST 1996