Kashif Wahaj's Blog

Module Level Test

By Kashif Wahaj on Mar 11, 2024
Image post 6

Checklist for Better Code Quality

Check below before PR

Use

  • Automation Testing
  • Cypress for E2E testing
  • API test Scripts

Admin Panel Module Testing Checklist

1. Basic CRUD Operations

  • Create Product: Test creating a product with all necessary fields.
  • Read/View Product: Ensure the product details display correctly.
  • Update Product: Verify that the product can be updated, and changes reflect correctly.
  • Delete Product: Check that the product is successfully deleted and confirm it’s removed from the list.

2. Form Validation

  • Required Fields: Test that all mandatory fields trigger validation errors if left blank.
  • Field Length Validation: Check validation for text inputs exceeding allowed character limits.
  • Data Type Validation: Ensure fields like price only accept numeric values.
  • Multi-language Validation: Confirm validation works correctly for all languages supported.

3. Multi-Language Support

  • Language Switching: Verify that the form displays correctly in all supported languages.
  • Field Translation: Ensure that translated content is saved and retrieved correctly.
  • Default Language: Check that the default language is applied when no specific language is selected.

4. Media Inputs

  • File Upload: Test uploading images, videos, and other media formats.
  • Media Validation: Ensure validation for file types, sizes, and dimensions.
  • Multiple Files: Verify that multiple media files can be uploaded simultaneously.
  • File Preview: Check that uploaded files can be previewed before saving.
  • File Deletion: Test the deletion of uploaded media files before and after saving the product.

5. User Interface

  • Responsive Design: Test the form on different screen sizes and devices.
  • Form Usability: Ensure that the form is intuitive and easy to use.
  • Loading States: Check loading indicators during media uploads or data submissions.

6. API and Backend Integration

  • API Responses: Verify that API responses are correct for all CRUD operations.
  • Error Handling: Test how the system handles errors like server downtime or invalid API requests.
  • Data Consistency: Ensure that data in the database remains consistent after all operations.

7. Security

  • Authentication: Ensure that only authorized users can access the admin panel.
  • Authorization: Test that users with different roles have appropriate access permissions.
  • Data Sanitization: Verify that inputs are sanitized to prevent SQL injection, XSS, and other security vulnerabilities.
  • CSRF Protection: Ensure that the form is protected against Cross-Site Request Forgery.

8. Performance

  • Load Testing: Test how the module performs under heavy load, especially during multiple file uploads.
  • Response Time: Measure the time taken for CRUD operations and media uploads.
  • Database Performance: Ensure efficient database queries and indexing.

9. Cross-Browser Compatibility

  • Different Browsers: Test the module on all major browsers (Chrome, Firefox, Safari, Edge).
  • Browser Versions: Check compatibility with different versions of the supported browsers.

10. Accessibility

  • Screen Reader Support: Verify that the form is accessible via screen readers.
  • Keyboard Navigation: Ensure that the form can be navigated using the keyboard.
  • Alt Text: Check that alt text is provided for images and media files.
Recent Posts
Image post 6

What is Action Class ?

Dec 26, 2024
A SRP implemenation for better code
Image post 6

CRUD Multi Pattern

Dec 11, 2024
Pattern to better code quality, testability, and reusability
Image post 6

Client Server Architecture

Mar 11, 2024
Checklist for better code quality of React / Javascript Code.