Test Plan
Test Plan
Objective
The objective of this test plan is to ensure that all functionalities of the CRM module, as outlined
in the user stories, are implemented correctly and meet the specified acceptance criteria. This
includes both Manage Contacts and Manage Invoices features.
Scope
The test plan focuses on the following:
1. Functional Testing:
o Managing contacts (CRUD operations, balance adjustments).
o Managing invoices (creating, viewing, returning, paying).
2. Integration Testing:
o Interaction between contacts and invoices (e.g., balance updates after invoice
creation).
3. Non-Functional Testing:
o Performance, usability, and security.
Features to Be Tested
Manage Contacts
• View all contacts with optional pagination and search parameters.
• Retrieve a contact using its unique ID.
• Create, update, and delete contacts.
• Adjust contact balances by adding a specific amount.
Manage Invoices
• View a list of invoices associated with the account.
• Retrieve detailed information of any invoice.
• Create new invoices, associate them with contacts, calculate total profit, and adjust
balances.
• Return invoices and ensure they can no longer be paid while adjusting balances.
• Pay invoices, mark them as paid, and update the contact’s balance.
Test Objectives
1. Ensure all functional requirements are met.
2. Validate integration between contacts and invoices.
3. Identify and log defects for resolution.
4. Confirm the system’s performance, security, and usability.
Test Cases
A. Manage Contacts
Test Test Cases Input Expected Outcome
ID
TC1 View all contacts Request contact list with pagination Contact list displayed with
with pagination correct pagination.
TC2 Search for a contact Enter search criteria (e.g., name) Contacts matching the criteria
are displayed.
TC3 Retrieve a contact Provide valid contact ID Contact details are displayed
by unique ID correctly.
TC4 Create a new Enter valid contact details Contact is created successfully
contact and listed.
TC5 Update an existing Contact information is updated
contact
Modify contact details accurately.
TC6 Delete a contact Submit delete request for contact Contact is removed from the
system.
Testing Approach
1. Functional Testing: Validate all features against user story acceptance criteria.
2. Integration Testing: Test interactions between contacts and invoices to ensure data
consistency.
3. Regression Testing: Verify that new changes do not impact existing functionalities.
4. Non-Functional Testing:
o Performance: Validate system responsiveness with 1000+ contacts and invoices.
o Usability: Ensure user-friendly navigation and functionality.
o Security: Test authentication, authorization, and data protection mechanisms.
Testing Tools
• Functional Testing: Selenium, Postman for API validation.
• Performance Testing: Apache JMeter.
• Bug Tracking: Jira.
Traceability Matrix
User Story ID Test Case IDs
Manage Contacts TC1, TC2, TC3, TC4, TC5, TC6, TC7
Manage Invoices TC8, TC9, TC10, TC11, TC12, TC13
Test Environment
1. Software: CRM application in staging environment.
2. Hardware: System with minimum 8 GB RAM, 2.5 GHz CPU.
3. Browsers: Chrome, Firefox, and Edge (latest versions).
Deliverables
1. Detailed test cases document.
2. Bug reports with severity and priority levels.
3. Test execution report.
4. Final test summary report indicating pass/fail analysis.
Pass/Fail Criteria
• Pass: All test cases meet expected outcomes.
• Fail: Any deviation from expected results is logged as a defect