Skip to content













University of the People

Software Engineering 2

Written Assignment, Unit 6

12, October 2022

























Implementation and Maintenance, Testing and Quality Assurance

Statement

  • Develop a test strategy for testing the entire application chosen in unit 3 for analysis and design.
  • Keep in mind that testing that involves users should minimize their time commitment while obtaining essential information from their involvement.
  • Specifically define for each level of testing:
    • roles,
    • responsibilities,
    • timing,
    • test strategy.

Introduction

  • This text will use DR. Patel’s Dental Practice System as our main project.
  • This text will start by giving a brief introduction to the system and the problem that system is trying to solve.
  • Later we are following the Questions listed in the statement above, one by one.

DR. Patel’s Dental Practice System

  • The dental practice uses a manual patient and billing system to serve approximately 1,100 patients. The primary components of the manual system are scheduling patient appointments, maintaining patient dental records, and recording financial information.
  • Due to increased competitive pressure, Dr. Patel desires to automate his customer records and billing.
  • New patients must complete the patient history form. The data elements are listed in Table 1.
  • Then, at the first visit, the dentist evaluates the patient and completes the second half of the patient history information with standard dental codes (there are 2,000 codes) to record recommended treatments.
  • The data elements completed by the dentist are listed as Table 2.
  • The patient history form is filed in a manila folder, with the name of the patient as identification, along with any other documents from subsequent visits.
  • A calendar of appointments is kept by the secretary, who schedules follow-up visits before the patient leaves the office. The calendar data elements are shown as Table 3.
  • Also, before the patient leaves, any bills, insurance forms, and amounts due are computed.
  • The client may pay at that time, or may opt for a monthly summary bill. The secretary maintains bill, insurance, and payment information with the patient history.
  • Financial data elements are shown in Table 4.
  • Every week, the secretary types mailing labels that are attached to appointment reminder cards and mailed.
  • Once per month, the secretary types and sends bills to clients with outstanding balances.

Note: this chapter is continued from the previous assignment, According to Conger, 2008.









System summary

  1. The primary components of the manual system are scheduling patient appointments, maintaining patient dental records, and recording financial information.
  2. New patients must complete the patient history form.
  3. During the first visit, the dentist evaluates the patient and completes the second half of the patient history information with standard dental codes to record recommended treatments.
  4. The patient history form is filed in a manila folder, with the name of the patient as identification, along with any other documents from subsequent visits.
  5. A calendar of appointments is kept by the secretary, who schedules follow-up visits before the patient leaves the office.
  6. Before the patient leaves, any bills, insurance forms, and amounts due are computed.
  7. The client may pay at that time, or may opt for a monthly summary bill.
  8. The secretary maintains bill, insurance, and payment information with the patient history.
  9. Every week, the secretary types mailing labels that are attached to appointment reminder cards and mailed.
  10. Once per month, the secretary types and sends bills to clients with outstanding balances.

Note: this chapter is continued from the previous assignment.













System’s Class Hierarchy Diagram

Class Hierarchy Diagram









Test Strategy

  • This text will use bottom-up and white box testing strategy.
  • According to the class hierarchy diagram, we can see that the system is divided into 8 main parts:
    • Patient class
    • Dentist class
    • Secretary class
    • Appointment class
    • PatientHistory class
    • Address class
    • Payment class
    • ProcedureCode class
  • Each of these classes will be tested separately, then the communications between them will be tested.
  • Integration of the program into the environment will be tested as well (eg. installation, compatibility with the network and operating systems, compatibility with physical hardware).
  • Lastly, the running program will be tested in action in a trial period for 2 weeks, any bugs will be reported by the clinic staff and the program will be updated.
  • After that, the contract will be marked as completed, and the program will be handed over to the clinic staff to use.
  • Any changes or bugs reported after that will need a new contract to be signed.









Roles and Responsibilities

  • There will be different types of people involved in the testing process, each of them will have a different role and responsibility.
  • Developer:
    • The developer will be responsible for the development of the program.
    • The developer will conduct all types of tests during all stages of the development process.
  • Tester:
    • The team will contract with a third party testing agency to conduct the tests.
    • Tester will be responsible for integration tests and some of the acceptance tests according to the signed contract.
  • Customer:
    • Customers are the clinic staff.
    • The customer will be responsible for the acceptance of the program.
    • The clinic staff will conduct acceptance tests, then will try the program along with their manual daily work for the trial period and report to the developers.
  • Any bugs reported by the customer will be fixed by the developers and the program will be updated, then All tests will be repeated.









Unit Testing

  • All Unit testings are done by the developer.
  • These tests follow no timing and can happen at any time during the development process.
  • When the development team is happy with the results of the project, they can pass it to the Testers to do the integration tests.
Role Responsibility Timing Strategy Details
Developer CRUD on Patient any time Logic tests Create, Update, Delete, Get, GetAll on Patient must be performed correctly
CRUD on Dentist Create, Update, Delete, Get, GetAll on Dentist must be performed correctly
CRUD on Secretary Create, Update, Delete, Get, GetAll on Secretary must be performed correctly
CRUD on Appointment Create, Update, Delete, Get, GetAll on Appointment must be performed correctly
CRUD on PatientHistory Create, Update, Delete, Get, GetAll on PatientHistory must be performed correctly
CRUD on Address Create, Update, Delete, Get, GetAll on Address must be performed correctly
CRUD on Payment Create, Update, Delete, Get, GetAll on Payment must be performed correctly
CRUD on ProcedureCode Create, Update, Delete, Get, GetAll on ProcedureCode must be performed correctly
Authentication The program must be able to authenticate the clinic staff and allow them to access the program
Authorization The program must only allow authorized users to perform operations, eg. secretaries can only be added by the HeadDentist









Integration Testing

  • Integration tests are done by the testers.
  • The Developers will always do all integration tests during the development process, but theses tests are done in a mock environment.
  • Integration tests are done in a real environment, on a similar hardware to the one the program will be installed on.
Role Responsibility Timing strategy Details
Tester Installation Upon installation Reality Test The program must correctly be installed on the staff computers
Compatibility with the network / OS The program must be compatible with the network and operating systems of the clinic staff computers
Connection To the DB The program must be able to connect to the DB and perform CRUD operations on it
UI must loads correctly The program must be able to load the UI correctly, all buttons form inputs must be functional and perform the correct action
validate user Experience The program must be easy to use, and the UI must be intuitive and easy to understand
Connection to the Printer The program must be able to connect to the printer and print the appointment reminder cards and the bills
Calender The Calender UI must correctly show the date (Daily), and all scheduled appointments on this day









System Testing

  • Once the integration tests are done, the program will be handed over to the clinic staff to use.
  • System tests are done by the Clinic staff.
  • Developers, and Testers may do some or all of these tests, but the clinic staff will do the final acceptance tests and be responsible for them.
Role Responsibility Timing Test strategy Details
Developer create the HeadDentist after installation Reality Test Create, Update, Delete, Get, GetAll on Patient must be performed correctly
HeadDentist create a Dentist any time The HeadDentist must be allowed to add more dentists through a dedicated form that only authorizes the HeadDentist
create a Secretary any time The HeadDentist must be allowed to add more secretaries through a dedicated form that only authorizes the HeadDentist
edit procedure codes any time The HeadDentist must be allowed to change proc
Secretary CreatePatient, CreatePatientHistory when new patient signs up Filing the New Patient Form in the UI must create a Patient and initialize their PatientHistory
Dentist finalize patient form on first visit Filling the Patient Details of the patient form must correctly update the Patient and their PatientHistory
Secretary Schedule an appointment any time Filling the Appointment Form must correctly create an Appointment and update the Calender,
Dentist Create a PatientHistory after appointment attended Filling session details and ProcedureCode (selected from the saved ones), must create UserHistory, initialize a Payment depending on the price of the selected Procedure
Secretary Handle bill after appointment attended, and payment initialized The Secretary must be able to view the payment, give the patient the ability to pay now or through insurance or pay later.
If the patient paid, the Payment should be marked as completed and receipt should be printed. If insurance chosen, the Payment should be updated correctly and the required papers must be printed and sent to the insurance company.
If the patient chooses to pay later,the bill should be printed and the reminder card should be prepared.
Secretary Print appointment reminders every monday The Secretary must be able to print the appointment reminder cards for the week.
Secretary Print payment reminders every month The Secretary must be able to print monthly payment reminders for all outstanding payments









References