Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing Plan Strategy #19

Open
urbantech opened this issue Jun 13, 2024 · 0 comments
Open

Testing Plan Strategy #19

urbantech opened this issue Jun 13, 2024 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@urbantech
Copy link
Owner

urbantech commented Jun 13, 2024

Testing Plan Strategy

1. Set Up the Environment

  • Clone the Repository: Ensure that you clone the latest version of the repository from GitHub.
  • Install Dependencies: Run npm install to install all required dependencies.

2. Reproduce the Issue

  • Identify the Bug: Document the steps to reproduce the bug. Ensure that you can consistently reproduce the issue.
  • Create a Bug Report: Use GitHub Issues to create a bug story with detailed information:
    • Expected Behavior
    • Actual Behavior
    • Steps to Reproduce

3. Write Failing Test Cases

  • Create a New Branch: git checkout -b bug/{id}
  • BDD-Style Unit Tests: Use a BDD-style framework like Mocha or Jasmine to write failing tests that capture the bug.
    describe('Feature or Component', () => {
      it('should fail due to the identified bug', () => {
        // Arrange: Setup initial conditions
        // Act: Execute the functionality
        // Assert: Verify the bug condition
        expect(actual).to.not.equal(expected);
      });
    });
  • Commit the Failing Tests: git commit -m "WIP: Red Tests"

4. Isolate the Bug

  • Debug the Application: Use debugging tools (like console.log or Node.js debuggers) to trace the source of the bug.
  • Review Related Code: Examine the parts of the codebase that interact with the bug-prone functionality.

5. Fix the Bug

  • Implement the Fix: Modify the code to resolve the bug.
  • Run Tests: Ensure the previously failing tests now pass.
  • Commit the Fix: git commit -m "WIP: Green Tests"

6. Refactor the Code

  • Code Cleanup: Improve code readability and maintainability without altering functionality.
  • Run All Tests: Ensure all unit, integration, and functional tests pass.
  • Commit the Refactor: git commit -m "Refactor complete"

7. Integration Testing

  • Write Integration Tests: Validate that the components work together correctly.
  • Automate Tests: Include these tests in the CI/CD pipeline.

8. Functional Testing

  • API Testing: Validate that the application’s APIs work as expected.
  • Automate Functional Tests: Integrate these tests into the CI/CD pipeline.

9. Create a Pull Request

  • PR Creation: Push the branch to GitHub and create a pull request.
  • Code Review: Encourage timely feedback from peers, address any comments or requested changes.
  • Merge the PR: Once approved, merge the pull request into the main branch.
  • Mark Story Delivered: In GitHub Issues, mark the bug story as delivered for PM review.

10. Continuous Integration/Continuous Deployment (CI/CD)

  • Ensure CI/CD Pipeline: Verify that the CI/CD pipeline runs all tests before merging.
  • Monitor the Deployment: Confirm that the fix is deployed correctly and the issue is resolved in the production environment.

Coding Standards

Ensure that you adheres to the coding standards specified in the "Coding Standards (v1.4)" document:

  • Backlog Management: Use GitHub issues for tracking stories and bug fixes.
  • Coding Style Guidelines: Follow naming conventions, code formatting, and commenting practices.
  • Testing Practices: Use BDD-style frameworks for unit tests, and follow the Arrange, Act, and Assert (AAA) pattern.
  • Version Control: Use feature branches, submit small commits, create detailed PRs, and ensure all tests pass before merging.

Documentation and Feedback

  • Document the Process: Ensure that you document each step they take, including their debugging and testing process.
  • Provide Feedback: Regularly review their progress, provide constructive feedback, and encourage adherence to coding standards.
@urbantech urbantech added the documentation Improvements or additions to documentation label Jun 13, 2024
@urbantech urbantech pinned this issue Jun 13, 2024
@urbantech urbantech self-assigned this Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Development

No branches or pull requests

1 participant