Search for Well Architected Advice
< All Topics
Print

Test functional requirements

Testing is crucial to verify that your workload will perform reliably under real-world conditions. Through rigorous testing, you can uncover potential issues and ensure that your design meets the desired resiliency standards. Employing techniques like unit tests and integration tests helps validate that individual components and their interactions function as expected.

Best Practices

  • Implement Comprehensive Testing Strategies: Incorporate various testing methodologies such as unit tests, integration tests, and load tests to cover different aspects of your application. This practice is vital for identifying inconsistencies or failures before deployment. Utilize automated testing tools wherever possible to streamline the process and enhance coverage.

Supporting Questions

  • Are all functional requirements covered by automated tests?

Roles and Responsibilities

  • Developer: Responsible for writing and maintaining unit and integration tests to ensure the code meets functional requirements.
  • QA Engineer: Ensures that all tests are executed and validates that the application behaves as expected in various scenarios.

Artifacts

  • Testing Framework Documentation: Documentation that outlines the frameworks and tools used for testing, including setup instructions, usage examples, and best practices.
  • Test Cases and Scripts: Comprehensive lists of unit and integration test cases that define the functional requirements being tested.

Cloud Services

AWS

  • AWS CodeBuild: A fully managed continuous integration service that compiles source code, runs tests, and produces software packages ready for deployment.
  • AWS Device Farm: Allows you to test your web and mobile applications on real devices in the cloud, ensuring reliability across different platforms.

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

Table of Contents