Search for Well Architected Advice
< All Topics
Print

Test functional requirements

After you have designed your workload to be resilient to production stresses, rigorous testing is essential. This ensures that your system operates as intended and meets the expected levels of resiliency, ultimately safeguarding against unexpected failures in real-world scenarios.

Best Practices

  • Implement Unit and Integration Tests: Utilize unit tests to evaluate individual components and integration tests to assess how well these components collaborate. This practice affirms that all functionalities work correctly within a controlled environment, enhancing the reliability of your application.

Supporting Questions

  • Are all critical components covered by unit and integration tests?

Roles and Responsibilities

  • QA Engineer: Responsible for designing test cases that validate functional requirements and ensuring that reliability tests are executed systematically throughout the development cycle.

Artifacts

  • Test Suite Documentation: Comprehensive documentation outlining all test cases implemented for functional requirements, including their design, execution results, and coverage metrics.

Cloud Services

AWS

  • AWS CodePipeline: A continuous integration and continuous delivery (CI/CD) service that automates the build, test, and release processes, allowing for efficient execution of automated tests.
  • AWS Lambda: Allows for executing backend functions in response to events, making it possible to run tests in a serverless environment as part of your reliability validation.

Question: How do you test reliability?
Pillar: Reliability (Code: REL)

Table of Contents