Testing this statistical function was one of the most difficult parts, because several database fields out of four different tables were involved here. Due to this, the tests were done in an order which might look strange in the beginning, but parts that influence the rest, or are easy to test were inspected first.
First, only the field number of patients (anz_pat) in the
produced table therapie
was checked.
According to the manual [Holl96], this field has to contain the
number of patients who have been medicated in the appropriate period of
time. Due to the fact that neither a boundary value analysis nor a
volume test produced any evidence for a fault, the field number
of schoolings (anz_schul) was inspected next, because it could be
tested in the same way. The field has to contain the number of patients
who have an entry in the table schooling (schulung) for the
same periods of time. Again, it was not possible to find a
bug.
Thereafter the computation of the average number of stationary days per patient and year was inspected. Since it is necessary to join the tables stat1 and stat3 using the fields pat_nr and date of reception (auf_dat), this join was tested first. For each entry in the table stat1 which has a corresponding entry for the same patient with the same reception date in the table stat3, the highest day (tag) field in the second table had to be found, because this represents the length of the patients stationary stay. Error guessing, and volume testing were done to find a bug here. The advertence regarding to stays in outside hospitals which are indicated by a y in the field different stay (and_aufent) in the table stat1 was checked next. The according length of the stay is saved in the same table in the field different duration (and_dauer).
The average frequency of outpatient examinations was
tested next. To do this for each patient, all ambulant
entries in the table verlauf were sorted by date. Those lists
were passed through, and every time a new quarter or year was reached,
the number of examinations and the according number of days were saved.
The date of the last treatment before this new period of time was kept
to be able to use the first entry in that phase. The test of this
computation was separated in two parts. First, patients with only very
few entries
were tested using error
guessing and boundary value analyses. For the rest, a volume test
was executed.
After this, the calculation of the percentage of patients who have been
treated only once
was
inspected. For each patient, all ambulant medications were sorted by
date. The while between the last dates in each year was then
calculated. If this was longer than twelve months, the according
patient has been counted as if he was treated only once. The first
faults suspected were an offense against this time period,
the use of a date before the last one in a year, and the use of
stationary data, but neither a boundary value test nor a volume test
could detect one of them.
Next, the computed information about the quality of the patients' self-monitoring was inspected. As written in the documentation, the average number of checks has to be used if multiple fields have been filled out for the patient in the period of time. Volume testing was not able to falsify the produced output. Since the rest of the information computed here was simply a classification of those numeric averages into the given groups, only another volume test was done here .
The last piece of information left to check in the patients' therapy
statistic was the number of insulin injections. First, the use of the
correct database fields
was inspected. If the patient is not using an
insulin pump
, then --
according to the specification -- the fields about the recommended
therapy have to be used. Only if those are left empty, the old
therapy's values have to be used. This leads to the following four
situations:
Since an equivalence class testing could not provide any hints about the presence of a bug , the fulfillment of the commandment only to use the latest data in each quarter and each year was checked.
After this, some unsuccessful volume tests were executed, and testing this statistical feature was stopped afterwards.