Use case 10
- Author: Jarno Huusko
- Date / Version: 20/02/2024 / 1.0
User roles
- Developer (Actor1): Responsible for implementing and maintaining the automated tests for both frontend and backend code.
- Tester (Actor2): Collaborates with developers to define test cases and ensure the automated tests cover all critical paths and functionalities.
- Dev / Ops (Actor3): Integrates the automated tests into the continuous integration/continuous deployment (CI/CD) pipeline for regular execution.
Prerequisites / Conditions
- 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).
- The CI/CD pipeline is in place to support the execution of automated tests during code integration and deployment processes.
Use Case Diagram
Description of use case -eg. Modify existing request
- 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.
- 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.
- Results Review: Developers and tester review test results after each run. Successes confirm correct behavior, while failures indicate issues that need to be addressed.
- 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.
- 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.