The class diagram below denotes a management system. Based on the class diagram below, prepare a testing strategy that explains how unit, integration, acceptance, and end-to-end tests will be implemented for the system

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

The class diagram below denotes a management system. Based on the class diagram below, prepare a testing strategy that explains how unit, integration, acceptance, and end-to-end tests will be implemented for the system.

Note - Don't write definitions for the different testing types and what they mean, rather apply your knowledge of the different testing types and propose a testing strategy. 

A testing strategy is just a writing that proposes what needs to be tested and how the testing for the system will proceed. You don't need to generate a test or test cases

The diagram illustrates the class architecture of a parking management system, featuring key components and their interactions.

### Class Definitions:

1. **ParkingOffice:**
   - **Attributes:**
     - `parkingOfficeName: String`
     - `listOfCustomers: List<Customer>`
     - `listOfParkingLots: List<ParkingLot>`
     - `parkingOfficeAddress: Address`
   - **Operations:**
     - `getParkingOfficeName(): String`
     - `register(Customer): void`
     - `register(Car): ParkingPermit`
     - `park(Date, ParkingPermit, ParkingLot): ParkingTransaction`
     - `getParkingCharges(ParkingPermit): Money`
     - `getParkingCharges(Customer): Money`

2. **ParkingLot:**
   - **Attributes:**
     - `id: String`
     - `name: String`
     - `address: Address`
   - **Operations:**
     - `getDailyRate(CarType): Money`

3. **Customer:**
   - **Attributes:**
     - `id: String`
     - `firstName: String`
     - `lastName: String`
     - `phoneNumber: String`
     - `address: Address`
   - **Operations:**
     - `getCustomerName(): String`

4. **Car:**
   - **Attributes:**
     - `type: CarType`
     - `licensePlate: String`
     - `owner: Customer`
   - **Operations:**
     - `getType(): CarType`
     - `getLicensePlate(): String`
     - `getOwner(): Customer`

5. **ParkingPermit:**
   - **Attributes:**
     - `id: String`
     - `car: Car`
     - `expiration: Date`
   - **Operations:**
     - `getCar(): Car`

6. **ParkingTransaction:**
   - **Attributes:**
     - `date: Date`
     - `permit: ParkingPermit`
     - `parkingLot: ParkingLot`
     - `chargedAmount: Money`
   - **Operations:**
     - `getChargedAmount(): Money`
     - `getPermit(): ParkingPermit`

7. **PermitManager:**
   - **Attributes:**
     - `permits: List<ParkingPermit>`
   - **Operations:**
     - `register(Car): ParkingPermit`

8. **TransactionManager:**
   - **Attributes:**
Transcribed Image Text:The diagram illustrates the class architecture of a parking management system, featuring key components and their interactions. ### Class Definitions: 1. **ParkingOffice:** - **Attributes:** - `parkingOfficeName: String` - `listOfCustomers: List<Customer>` - `listOfParkingLots: List<ParkingLot>` - `parkingOfficeAddress: Address` - **Operations:** - `getParkingOfficeName(): String` - `register(Customer): void` - `register(Car): ParkingPermit` - `park(Date, ParkingPermit, ParkingLot): ParkingTransaction` - `getParkingCharges(ParkingPermit): Money` - `getParkingCharges(Customer): Money` 2. **ParkingLot:** - **Attributes:** - `id: String` - `name: String` - `address: Address` - **Operations:** - `getDailyRate(CarType): Money` 3. **Customer:** - **Attributes:** - `id: String` - `firstName: String` - `lastName: String` - `phoneNumber: String` - `address: Address` - **Operations:** - `getCustomerName(): String` 4. **Car:** - **Attributes:** - `type: CarType` - `licensePlate: String` - `owner: Customer` - **Operations:** - `getType(): CarType` - `getLicensePlate(): String` - `getOwner(): Customer` 5. **ParkingPermit:** - **Attributes:** - `id: String` - `car: Car` - `expiration: Date` - **Operations:** - `getCar(): Car` 6. **ParkingTransaction:** - **Attributes:** - `date: Date` - `permit: ParkingPermit` - `parkingLot: ParkingLot` - `chargedAmount: Money` - **Operations:** - `getChargedAmount(): Money` - `getPermit(): ParkingPermit` 7. **PermitManager:** - **Attributes:** - `permits: List<ParkingPermit>` - **Operations:** - `register(Car): ParkingPermit` 8. **TransactionManager:** - **Attributes:**
Expert Solution
Step 1

Answer - Integration Testing

steps

Step by step

Solved in 2 steps

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education