Develop a testing plan for the new system that addresses unit, integration, and system testing. Design the test data, and explain the design.
What will be an ideal response?
Test plan:
A test plan must address unit, integration, and system testing. The first step is unit testing, which involves a test of each data entry program or function using both valid and invalid data, as well as a test of each report generated by the system.
The next step is integration testing. Programs or functions that create or modify files used by other programs must be link tested with those other programs. In a database environment, this would involve testing all relationships and multi-table queries. Finally, all programs must be tested together in a system test, along with all system utility functions, including backup and recovery procedures.
All New Century users should participate in the testing, especially if Anita Davenport, the office manager, wants them to be cross-trained on all system functions.
Test data:
The test data described in this section includes all categories of testing. You can use this detailed test data as a basis for measuring the effectiveness of your students' test plans.
Sample solutions for the New Century information system are provided, including test data and procedures for the menu control program, one of the master file update programs, two of the main processing programs, and one of the report programs. The material is presented in a form that supports a file processing system architecture, but the test data and procedures also could be used in a relational database environment. First, unit testing would be performed for each program or function. Integration testing, or tests that involve related tables in a database environment, are performed next. Finally, the entire system is tested, online, using test data as described below.
a. Testing for the Menu Control program (or the main switchboard, if a graphical interface is used) must include the following types of test data:
? Select each menu option, icon, or command button and immediately follow with the processing of the selected option to ensure that control later can be returned successfully to the main menu.
? Select each menu option, icon, or command button, followed by an immediate return to the main menu without processing the selected option.
? Request a variety of Help, including context-sensitive Help.
? Verify that the Menu Control program can be terminated successfully.
b. Testing for the Modify Patient program must include the following types of test data:
? Attempt to add a new patient using invalid data for each field: a blank PATIENT NUMBER, a nonnumeric PATIENT NUMBER, a PATIENT NUMBER value that matches a PATIENT NUMBER already in the Patient file, a blank LAST NAME, a blank FIRST NAME, a blank HOUSEHOLD NUMBER, a nonnumeric HOUSEHOLD NUMBER, a HOUSEHOLD NUMBER that does not match a HOUSEHOLD NUMBER in the Households file, a blank RELATIONSHIP, and an invalid RELATIONSHIP code.
? Add new records to the Patient file using valid data for each field. At least four records must be added — one record for each type of RELATIONSHIP. Some of these new patients should have HOUSEHOLD NUMBERs that already exist in the Households file, and some should require the addition of a new household record to the Households file. For these latter records, see the Modify Household program for further required testing.
? Attempt to change a record and delete a record that does not exist already in the Patient file.
? Add a new patient, change that same patient, attempt to add a second patient with the same PATIENT NUMBER (this should be an error situation), delete that patient, attempt to change the patient who was just deleted (an error situation), attempt to delete that same patient again (an error situation), add that same patient again with different data values for the other fields, and so on.
c. Testing for the Modify CPT Code program must include the following types of test data:
? Attempt to add a new CPT code using invalid data for each field: a blank CPT CODE, a nonnumeric CPT CODE, a CPT CODE value that matches a CPT CODE already in the CPT and Fee Schedule file, a blank CPT DESCRIPTION, a blank STANDARD FEE, and a nonnumeric STANDARD FEE.
? Add new records to the CPT and Fee Schedule file using valid data for each field.
? Attempt to change a record and delete a record that does not exist already in the CPT and Fee Schedule file.
? Add a new CPT code, change that same CPT code, attempt to add a second CPT code with the same CPT code (this should be an error situation), delete that CPT code, attempt to change the CPT code that was just deleted (an error situation), attempt to delete that same CPT code again (an error situation), add that same CPT code again with different data values for the other fields, and so on.
d. Testing for the Make Appointment program must include the following types of test data:
? Attempt to add a new appointment using invalid data for each field: a blank APPT NUMBER, a nonnumeric APPT NUMBER, an APPT NUMBER that matches an APPT NUMBER already in the Appointment file, a blank APPOINTMENT DATE, a nonnumeric APPOINTMENT DATE, various numeric but invalid APPOINTMENT DATEs, a blank APPOINTMENT TIME, nonnumeric first two or last two characters of the five-character APPOINTMENT TIME field, an unreasonable APPOINTMENT TIME, a blank PATIENT NUMBER, a nonnumeric PATIENT NUMBER, a PATIENT NUMBER value that does not match a PATIENT NUMBER in the Patient file, a blank CPT code, a nonnumeric CPT code, and a CPT code value that does not match a CPT code in the CPT code file.
? Add new records to the Appointment file and the Appt Service file using valid data for each field. Some appointments should have one service, and other appointments should have multiple services.
? Attempt to change records and delete records that do not exist already on the Appointment file and the Appt Service file.
? Add a new appointment and appointment service, attempt to add a second appointment and appointment service with the same APPOINTMENT NUMBER and CPT code (this should be an error situation), delete that appointment and appointment service, attempt to change the appointment and appointment service that were just deleted (an error situation), attempt to delete that same appointment and appointment service again (an error situation), add that same appointment and appointment service again with different data values for the other fields, and so on.
e. Testing for the Process Patient Payment program must include the following types of test data:
? Attempt to apply a patient payment using invalid data for each field: a blank HOUSEHOLD NUMBER, a nonnumeric HOUSEHOLD NUMBER, a HOUSEHOLD NUMBER value that does not match a HOUSEHOLD NUMBER in the Households file, a blank PAYMENT DATE, a nonnumeric PAYMENT DATE, various numeric but invalid PAYMENT DATEs, a blank PAYMENT AMOUNT, a nonnumeric PAYMENT AMOUNT, and an invalid PAYMENT SOURCE.
? Enter patient payments using valid data for each field. Make sure that patient payments result in some records in the Households file to (after the Create Statement program runs) have zero PRIOR BALANCE values eventually and others to have positive PRIOR BALANCE values. Some Household records with positive PRIOR BALANCE field values should have zero patient payments entered, others should have one patient payment entered, and the rest should have multiple patient payments entered. Finally, some patient payments should represent adjustments to their household balances.
f. Testing for the Create Statement program must include the following types of test data:
? Produce statements for some households and none for other households. There should be at least one household that has a statement produced for these conditions: a positive PRIOR BALANCE from the Households file, no MTD Charge file records, and no MTD Payment file records; a positive PRIOR BALANCE, one or more MTD Charge file records, and no MTD Payment file records; a positive PRIOR BALANCE, no MTD Charge file records, and one or more MTD Payment file records; a positive PRIOR BALANCE, one or more MTD Charge file records, and one or more MTD Payment file records; a zero PRIOR BALANCE for each of the four previous MTD Charge file and MTD Payment file combinations; a statement that requires two or more pages; one patient for a household; and two or more patients for a household.
You might also like to view...
Which of the following statements is false?
a. Java makes concurrency available to you through the language and APIs. b. Concurrency is a subset of parallelism. c. Today’s multi-core computers have multiple processors that can perform tasks in parallel. d. Java programs can have multiple threads of execution, where each thread has its own method-call stack and program counter, allowing it to execute concurrently with other threads. This capability is called multithreading.
A(n) ____ contains electrical pathways that allow data to travel between chips.
A. circuit board B. integrated circuit C. chip carrier D. memory module
One of the biggest strengths of Perl is its ____-manipulation abilities.
A. script B. numeric C. string D. text
A database table is a set of related data containing records arranged in rows and columns, called fields
Indicate whether the statement is true or false