AWS for Software Testing Professionals

Software testing professionals should know something about some services and facilities that AWS provides for the automation and integration of testing and quality control into continuous integration pipelines. This is where QA/QC has to work in hand with DevOps. Though it sounds complicated and scary, knowledge about certain items makes it wonderful and easy. Let us dig into those facilities and suggested practices.

  • AWS EC2
  • AWS Cloud Watch
  • AWS SNS
  • AWS Inspector
  • AWS Device Farm
  • AWS Cloud9
  • Script Suites by Third-party Vendors

AWS EC2 is the equivalent for selective desktops or servers, these are virtual machines on the cloud, which can be provisioned and started in minutes compared to traditional data centre’s time of 2 to 7 days, also there are no upfront or long-term commitments, if you need these for an hour or two start those required with a handful of clicks on the AWS Console or use a single command with the AWS ClI and stop them when not needed.

AWS Cloud Watch is a logging or monitoring service which has event reports and detailed monitoring of the services and resources. Also, cloud watch provides API and client agents to report and store custom events or metrics in addition to the multitude of available matrices.

AWS SNS is the defacto notification service which can be used to chain an event notification to reach another target and at scale without any complicated coding or headache. SNS can even send messages to email endpoints or other event-driven functions which can send these messages to social media channels like Microsoft Teams, Slack, Twitter etc to make monitoring much easier.

Amazon Inspector is a managed service that automates security assessments and network accessibility testing for AWS EC2 instances. It helps in the detection of vulnerabilities in your EC2 instances and apps. Furthermore, it enables you to make security testing a more frequent event as part of the Continuous Integrations and Continuous Delivery pipeline.

Amazon Inspector shows a full and detailed list of security and compliance issues that can be sorted out according to severity level. Additionally, these findings could be analyzed directly or as part of full evaluation records accessible through the API or the AWS Inspector UI. AWS Inspector security evaluations assist you in detecting unauthorized network access to EC2 instances as well as vulnerabilities on those EC2 instances.

It operates by first defining a target set of resources using tags, then configuring an assessment template that defines what we’re looking for (common vulnerabilities and exploits (CVEs), PCI requirements, and so on) and running an assessment against our target resources, examining the research results and reducing the issues discovered.

AWS Device Farm provides one with a testing environment for web and mobile apps using real devices. Its recent support for selenium automated testing also makes the reference worthwhile. This is made possible without having to procure, manage or provision any testing hardware. The service empower you to execute functional evaluations on multiple desktop browsers or real devices at the same time to reduce overall time consumed for your tests, also videos and logs are created as part of the final report for quick identification of issues with the app.

Pros of testing with real devices

  • Use the subset of the most popular devices
  • Select those devices used by the target audience
  • Revise and rectify any issues at the earliest
  • Run tests in the actual environment
  • Select from the vast scrips or frameworks
  • Integrate with the CI/CD pipeline
  • Enjoy using your own private device lab in the cloud

AWS Cloud9 is a cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a browser. It includes a code editor, debugger, and terminal. Cloud9 comes prepackaged with essential tools for popular programming languages, including JavaScript, Python, PHP, and more, so you don’t need to install files or configure your development machine to start new projects. Since your Cloud9 IDE is cloud-based, you can work on your projects from your office, home, or anywhere using an internet-connected machine. Cloud9 also provides a seamless experience for developing serverless applications enabling you to easily define resources, debug, and switch between local and remote execution of serverless applications. With Cloud9, you can quickly share your development environment with your team, enabling you to pair programs and track each other’s inputs in real-time.

The script suites by vendors which I could not let out are the bees with machine guns by Tribune News Applications Team, Chaos Monkey is a software tool that was developed by Netflix engineers to test the resiliency and recoverability of their Amazon Web Services (AWS). The software simulates failures of instances of services running within Auto Scaling Groups (ASG) by shutting down one or more of the virtual machines. There are more to these, but I am restricting my thoughts to these two.

As a Final Note an answer to a question many have asked me on several occasions. I would recommend Testing Professionals have a couple of certifications, the foundational one Certified Cloud Practitioner and or Certified Developer Associate. These could benefit them in the converging scenario of a reduced gap between developers, sysops and QA eventually benefitting the final outcome, that is the apps which will have continuous integration, and continuous delivery, with perfect automated testing and even manual approval cycles.