Discussion on Balancing the Test Pyramid, the AWS Way by Min Xu | Testμ 2023

:mag: Dive into AWS’s holistic test coverage approach, blending hybrid UI and API testing with synthetic canary testing.

Discover “Balancing the Test Pyramid, the AWS Way!” with Min Xu at Testμ 2023! :rocket:

Learn to balance coverage and efficiency while ensuring top-notch quality. Don’t miss this insight-packed session.

Still not registered? Hurry up and grab your free tickets: Register Now!

If you have already registered and up for the session, feel free to post your questions in the thread below :point_down:

Check out some of the Q&As from the session!

Why is API less important than when the UI won’t work without it? The backend can work without the UI in a microservice architecture.

Min Xu: Depending on the testing scenario needed, you can use the AWS cloud for optimization.

What strategies or techniques does AWS use to ensure an optimal balance between integration and unit tests?

Min Xu: There can be two strategies for balancing integration and unit tests; one is Smart Building Blocks, where you create small yet very strong “blocks” of code that work well on their own. Second, you need to take care of early mix checks that ensure the block fits early on and match them before building.

How does AWS handle performance testing and optimization for applications hosted on its cloud infrastructure?

Min Xu: AWS uses scalable resources to match real-world conditions and employs various tools to fine-tune the application’s performance, ensuring it delivers a smooth experience to users.

Listed below are some of the unanswered questions from the session!

In the context of DevOps, AI, and CI/CD, how does the convergence of these transformative forces reshape traditional workflows and propel organizations towards more agile approaches?

Which tool(s) does AWS use for UI, API, performance testing?

How do you perceive the role of continuous learning and embracing emerging technologies in equipping professionals to remain at the forefront of the rapidly evolving tech landscape?

Is performance testing a type of API testing?

How do we track exploratory testing?

As per your experience with large-scale systems & microservices, what tests wrt test pyramid must be prioritized first?

How does MFA enhance the security of user logins to AWS services and resources?

What tools and frameworks does AWS recommend for automated testing and continuous integration/continuous deployment (CI/CD) in a cloud environment?

What strategies or best practices can be employed to encourage developers to write more unit tests and keep the pyramid balanced?

What challenges might arise when trying to maintain a balanced test pyramid? How can these challenges be addressed?

In the age of Single Page Applications (SPAs), how do you ensure thorough UI testing when user interactions often result in dynamic content changes without full page reloads?

Between the active role played by AWS in fostering quality, and dev’s pre-existing interest for quality, which one is a more deterministic factor for high quality software in your opinion?

What are commonly used open-source tools by Amazon test and validation organizations?

Hi there,

If you couldn’t catch the session live, don’t worry! You can watch the recording here:

Additionally, we’ve got you covered with a detailed session blog:

As a user of Amazon Web Services (AWS), let me first explain what AWS does. AWS offers a vast ecosystem of services, and while AWS itself doesn’t specifically provide tools dedicated solely to UI, API, or performance testing, it does offer services and integrations that can be leveraged for these purposes. Here’s a breakdown:

1. UI Testing:

  • AWS Device Farm: This is a service specifically designed for testing mobile apps on a variety of devices and operating systems. While it’s primarily used for mobile application testing, it can be used for UI testing to ensure the app functions correctly on different devices.

2. API Testing:

  • Amazon API Gateway: While the primary function of API Gateway is to create, publish, and manage APIs for applications, it integrates with other AWS services that can be used to monitor the performance and health of the APIs. However, for actual API testing (like sending requests and validating responses), you’d typically use external tools like Postman, SoapUI, or others in conjunction with AWS services.

3. Performance Testing:

  • AWS Lambda and Amazon EC2: Both services can be used to deploy performance testing tools or frameworks. For instance, you can deploy tools like JMeter or Locust on EC2 instances to conduct performance testing.
  • Amazon CloudWatch: While not a testing tool per se, CloudWatch is invaluable for monitoring and logging the performance of AWS resources. It can provide insights into how your application performs under load.

It’s important to note that while AWS provides foundational services that can support testing, many organizations also integrate third-party testing tools with their AWS infrastructure to achieve their specific testing needs. The choice of tool often depends on the specific requirements, existing toolchains, and the expertise of the testing team.

In summary, AWS offers a range of services that can be leveraged for UI, API, and performance testing, but often, a combination of AWS services and external testing tools provides the most comprehensive testing solution. I hope this answers your question. If you have any other questions related to this, please feel free to ask!

Performance testing is indeed a category of testing that can be applied to various systems, including APIs (Application Programming Interfaces). However, it is crucial to understand that performance testing is not exclusive to APIs but is a broader concept.

Performance testing is conducted to evaluate the system’s responsiveness, stability, and scalability under a particular workload. It aims to identify any performance bottlenecks and ensure that the system can handle expected traffic and transactions without degradation in user experience.

In the context of APIs, performance testing is essential. APIs are integral components in software development, serving as communication channels between different software systems. When performance testing is applied to APIs, the focus is on assessing how well the API handles various numbers of requests per second, its latency, and the reliability of the responses under different conditions.

Therefore, while performance testing is a crucial type of testing applied to APIs, it is not accurate to say that performance testing is a “type” of API testing. Instead, it would be more precise to state that API testing can include performance testing among other testing types, like functional testing, security testing, and reliability testing. Each of these testing types addresses different aspects and concerns related to the quality and functionality of APIs.

I hope this answers your question. Please feel free to ask any questions you may have.