Software Testing
Our testing pipeline consists of four main stages:
Stage I: (Unit Testing)
- Will test individual components or functions in isolation.
- Will be conducted and evaluated by our Testing/QA team.
Stage II: (Integration Testing)
- Will test the interaction between each component and the system as a whole.
- Will be conducted by our Testing/QA team, and evaluated by the leads and the QA team.
Stage III: (Code Reviews)
- Ensures that the code meets company standards, conventions and best practices.
- Ensures that the code is bug free.
Stage IV: (End-to-End / Manual Testing)
- Test the features from the POV of an end user.
- Ensure that the feature meets the requirements stated in the issue.
Testing Tools
We use a variety of tools to ensure that our code is bug free and meets the performance requirements. Some of the tools we use are:
- Ava.js: For unit testing. Documentation
- PostHog: For tracking user interactions. Documentation
Testing Reports
Incorporating Huly's Test Management System into our workflow enhances our testing process by providing a structured approach to creating, organizing, and executing tests. This system allows us to track test statuses, link tests to issues, and generate work tickets efficiently.
Documenting Tests in Huly
All tests are documented through Huly's Test Management System. This platform enables us to create test suites and cases, run tests, and monitor their statuses seamlessly.
Key Features:
- Creating Test Suites and Cases: Organize tests systematically by grouping related test cases into suites.
- Running Tests: Execute selected test cases and document the outcomes.
- Tracking Statuses: Monitor the progress of each test case, updating statuses as needed.
- Linking to Issues: Associate test cases with specific issues in the tracker for comprehensive traceability.
- Generating Work Tickets: Automatically create tasks for assignees based on test results.
For detailed guidance on utilizing Huly's Test Management System, refer to their official documentation: Huly Test Management Documentation
Testing Documentation Basics
A Comprehensive test report should be generated for each test run. The test report should include the following information:
- Test Suite Name
- Test Case Name
- Test Case Description
- Test Case Status (Pass/Fail)
- Test Case Execution Time
- Test Case Result (Actual vs Expected)
- Test Case Error Message (if any)
Sample Test Report
The report should be in tabular format and should look like this:
| S.No | Test Suite Name | Test Case Name | Test Case Description | Test Case Status (Pass/Fail) | Test Case Execution Time | Test Case Result (Actual vs Expected) | Test Case Error Message (if any) |
|---|---|---|---|---|---|---|---|
| 1 | Suite 1 | Test Case 1 | Description 1 | Pass | 10ms | Actual: 200, Expected: 200 | - |
| 2 | Suite 1 | Test Case 2 | Description 2 | Fail | 20ms | Actual: 404, Expected: 200 | Expected status code 200 |
| 3 | Suite 2 | Test Case 3 | Description 3 | Pass | 15ms | Actual: 200, Expected: 200 | - |
Once the test report is generated, it should be exported in a PDF format and uploaded to the designated project space for the team leads and the QA team.
