Creativa - Fotolia

How does event-driven computing change AWS app testing?

Our enterprise is excited about the possibilities with AWS Lambda, but concerned about complications with the new technology. How will Lambda affect application testing?

AWS offers an array of services designed to improve how applications perform certain tasks. And with the use of services like AWS Lambda, it's no longer just a matter of spinning up VMs and storage instances and paying for them on a monthly basis.

Event-driven computing runs code when triggered by external events, such as website clicks or Slack messages. When an event occurs, AWS loads, runs and then stops the Lambda function. Cloud resources are only used when an AWS Lambda event is handled, so the business only pays per event.

Because event-driven computing changes the way in which enterprises can build applications, it also potentially changes how IT teams must approach QA testing. The QA testing process may need to account for AWS availability and performance. For example, any disruptions in event-driven services, network glitches or excessive AWS traffic will negatively affect the overall application. Proper application architecture and design are necessary to handle such issues.

There are two general methods to QA test event-driven computing environments.

One method to test event-driven computing is to trigger events using people. Task-based labor pools, such as Amazon Mechanical Turk, can connect human workers with human intelligence tasks (HIT), allowing them to implement hundreds of thousands of clicks or other human responses. For example, a development team can create HIT that allow human contractors to answer surveys, evaluate user interface designs, check links and take a wide range of other actions within the application testing process. HIT workers find and take on as many of these tasks as instructed and are paid for completing them. For this type of testing, enterprises don't need to hire additional in-house staff to handle relatively straightforward goals.

Other test methods include the use of services like Zapier, which connects applications to automate repetitive tasks. Zapier compiles a trigger on one application with an action in another -- each combination is referred to as a "zap." The service can zap a Lambda function with a Web hook -- or Web event -- or through new messages on Slack and then push data to Lambda from integration testing services like Rainforest QA. It can also create custom zaps to test an AWS Lambda function. The AWS account and Lambda function must be in place for Zapier to work, but once a zap is in place, testing can generate large amounts of traffic to the Lambda function.

Next Steps

The QA tools and services available for AWS testing

How does AWS fit into the application testing process?

AWS Lambda takes servers out of the equation

Resource management in event-driven compute

Dig Deeper on AWS Lambda