Use case 10

  • Author: Jarno Huusko
  • Date / Version: 20/02/2024 / 1.0

User roles

  1. Developer (Actor1): Responsible for implementing and maintaining the automated tests for both frontend and backend code.
  2. Tester (Actor2): Collaborates with developers to define test cases and ensure the automated tests cover all critical paths and functionalities.
  3. Dev / Ops (Actor3): Integrates the automated tests into the continuous integration/continuous deployment (CI/CD) pipeline for regular execution.

Prerequisites / Conditions

  1. The development environment is set up with access to the necessary tools and frameworks for automated testing (e.g., Selenium for frontend, JUnit for backend).
  2. The CI/CD pipeline is in place to support the execution of automated tests during code integration and deployment processes.

Use Case Diagram

uml diagram

Description of use case -eg. Modify existing request

  1. Test Development: Developers, in collaboration with tester, develop automated tests based on predefined test cases that cover both expected behaviors and edge cases for frontend and backend functionalities.
  2. Test Integration: DevOps integrate these automated tests into the CI/CD pipeline, ensuring that tests are executed automatically every time code is pushed to the repository.
  3. Results Review: Developers and tester review test results after each run. Successes confirm correct behavior, while failures indicate issues that need to be addressed.
  4. Maintenance: Automated tests are regularly reviewed and updated to reflect changes in the application's functionality and requirements, ensuring that the test suite remains effective and relevant.
  5. Continuous Improvement: The team continuously refines and expands the test suite based on new features, changes to existing features, and lessons learned from past issues.

Exceptions

  • E1: If automated tests fail, the CI/CD pipeline halts deployment, and developers are notified to address the issue.

  • E2: If automated tests become outdated due to changes in the application, they are either updated or removed to maintain the relevance and efficiency of the test suite.

Result

  • The frontend and backend code of the web app are continuously validated through automated testing, ensuring reliability, correctness, and rapid feedback on issues.

Use frequency

  • Automated tests are executed with every code commit and pull request, providing continuous validation throughout the development lifecycle.

Additional information

  • Documentation should include a comprehensive list of test cases, testing frameworks and tools used, and guidelines for writing and maintaining automated tests.

Sources

  • The approach to test automation is informed by best practices in software development and quality assurance, leveraging widely adopted testing frameworks and methodologies.