-
Notifications
You must be signed in to change notification settings - Fork 7
Closed
Labels
Milestone
Description
Copy-and-Paste: 7. Comprehensive Testing and Validation
⚠️ Important: Use the/feature/copy-and-pastebranch as the base branch for this feature.
Covers Development Plan Point: 9
Description:
This task focuses on thorough testing of the entire copy-and-paste feature across various scenarios to ensure reliability, correctness, and a smooth user experience. While individual components will have unit tests, this task emphasizes integration and end-to-end testing.
Requirements:
- Diverse Dataset Testing:
- Test with collections of varying sizes (small, medium).
- Test with documents of different structures and data types.
- Test with empty collections.
- Scenario Testing:
- Cross-cluster/server migrations: Copying between different MongoDB instances/servers.
- Same-cluster migrations: Copying between different databases or collections within the same server.
- Document Conflicts:
- Test all configured
WriteConflictStrategyoptions (Abort,SkipAndLog,Overwriteas defined in "Copy-and-Paste: 4. Implement Conflict Resolution Options (UI and Task Update)").
- Test all configured
- General Write Errors (including Schema Validation Errors if applicable):
- Test behavior with
WriteConflictStrategy(Abort,SkipAndLog, and howOverwritefalls back for these errors).
- Test behavior with
- Index Copying:
- Verify indexes are copied correctly when
IndexCopyOption.Yesis selected (enum from "Copy-and-Paste: 4. Implement Conflict Resolution Options (UI and Task Update)"). - Verify indexes are not copied when the option is deselected.
- Verify indexes are copied correctly when
- Error Handling and Abort Validation:
- Induce errors (e.g., network interruption briefly, invalid credentials for target during setup) to test error reporting and task failure states.
- Test the abort functionality at various stages of the copy process. Verify that data copied up to the abort point is preserved on the target.
- Performance Validation (for smaller datasets):
- Ensure the feature performs adequately for its intended use case (smaller datasets).
- Monitor for any excessive memory usage or UI freezes.
- Edge Case Handling:
- Test with unusual collection or database names (e.g., containing special characters, if supported by the DB).
- Test rapidly starting multiple copy tasks.
- Test UI interactions like canceling dialogs at various points.
Acceptance Criteria:
- The copy-and-paste feature functions correctly across a wide range of defined test scenarios and datasets.
- Conflict resolution, error handling, progress reporting, and abort mechanisms work as expected.
- The feature is stable and does not introduce regressions or negatively impact VS Code performance significantly for its intended scope.
- A test plan document or checklist is created and executed, with results documented.
Dependencies:
- Copy-and-Paste: 2. Implement Basic Copy-and-Paste Task
- Copy-and-Paste: 3. Implement Copy-and-Paste Workflow UX Logic
- Copy-and-Paste: 4. Implement Conflict Resolution Options (UI and Task Update)
- Copy-and-Paste: 5. Implement Progress Monitoring and Abort Option
- Copy-and-Paste: 6. Implement Error Logging and Review Tools
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done