ThoughtWorks
  • Contact
  • Español
  • Português
  • Deutsch
  • 中文
Go to overview
  • Engineering Culture, Delivery Mindset

    Embrace a modern approach to software development and deliver value faster

    Intelligence-Driven Decision Making

    Leverage your data assets to unlock new sources of value

  • Frictionless Operating Model

    Improve your organization's ability to respond to change

    Platform Strategy

    Create adaptable technology platforms that move with your business strategy

  • Experience Design and Product Capability

    Rapidly design, deliver and evolve exceptional products and experiences

    Partnerships

    Leveraging our network of trusted partners to amplify the outcomes we deliver for our clients

Go to overview
  • Automotive
  • Cleantech, Energy and Utilities
  • Financial Services and Insurance
  • Healthcare
  • Media and Publishing
  • Not-for-profit
  • Public Sector
  • Retail and E-commerce
  • Travel and Transport
Go to overview

Featured

  • Technology

    An in-depth exploration of enterprise technology and engineering excellence

  • Business

    Keep up to date with the latest business and industry insights for digital leaders

  • Culture

    The place for career-building content and tips, and our view on social justice and inclusivity

Digital Publications and Tools

  • Technology Radar

    An opinionated guide to technology frontiers

  • Perspectives

    A publication for digital leaders

  • Digital Fluency Model

    A model for prioritizing the digital capabilities needed to navigate uncertainty

  • Decoder

    The business execs' A-Z guide to technology

All Insights

  • Articles

    Expert insights to help your business grow

  • Blogs

    Personal perspectives from ThoughtWorkers around the globe

  • Books

    Explore our extensive library

  • Podcasts

    Captivating conversations on the latest in business and tech

Go to overview
  • Application process

    What to expect as you interview with us

  • Grads and career changers

    Start your tech career on the right foot

  • Search jobs

    Find open positions in your region

  • Stay connected

    Sign up for our monthly newsletter

Go to overview
  • Conferences and Events
  • Diversity and Inclusion
  • News
  • Open Source
  • Our Leaders
  • Social Change
  • Español
  • Português
  • Deutsch
  • 中文
ThoughtWorksMenu
  • Close   ✕
  • What we do
  • Who we work with
  • Insights
  • Careers
  • About
  • Contact
  • Back
  • Close   ✕
  • Go to overview
  • Engineering Culture, Delivery Mindset

    Embrace a modern approach to software development and deliver value faster

  • Experience Design and Product Capability

    Rapidly design, deliver and evolve exceptional products and experiences

  • Frictionless Operating Model

    Improve your organization's ability to respond to change

  • Intelligence-Driven Decision Making

    Leverage your data assets to unlock new sources of value

  • Partnerships

    Leveraging our network of trusted partners to amplify the outcomes we deliver for our clients

  • Platform Strategy

    Create adaptable technology platforms that move with your business strategy

  • Back
  • Close   ✕
  • Go to overview
  • Automotive
  • Cleantech, Energy and Utilities
  • Financial Services and Insurance
  • Healthcare
  • Media and Publishing
  • Not-for-profit
  • Public Sector
  • Retail and E-commerce
  • Travel and Transport
  • Back
  • Close   ✕
  • Go to overview
  • Featured

  • Technology

    An in-depth exploration of enterprise technology and engineering excellence

  • Business

    Keep up to date with the latest business and industry insights for digital leaders

  • Culture

    The place for career-building content and tips, and our view on social justice and inclusivity

  • Digital Publications and Tools

  • Technology Radar

    An opinionated guide to technology frontiers

  • Perspectives

    A publication for digital leaders

  • Digital Fluency Model

    A model for prioritizing the digital capabilities needed to navigate uncertainty

  • Decoder

    The business execs' A-Z guide to technology

  • All Insights

  • Articles

    Expert insights to help your business grow

  • Blogs

    Personal perspectives from ThoughtWorkers around the globe

  • Books

    Explore our extensive library

  • Podcasts

    Captivating conversations on the latest in business and tech

  • Back
  • Close   ✕
  • Go to overview
  • Application process

    What to expect as you interview with us

  • Grads and career changers

    Start your tech career on the right foot

  • Search jobs

    Find open positions in your region

  • Stay connected

    Sign up for our monthly newsletter

  • Back
  • Close   ✕
  • Go to overview
  • Conferences and Events
  • Diversity and Inclusion
  • News
  • Open Source
  • Our Leaders
  • Social Change
Blogs
Select a topic
View all topicsClose
Technology 
Agile Project Management Cloud Continuous Delivery  Data Science & Engineering Defending the Free Internet Evolutionary Architecture Experience Design IoT Languages, Tools & Frameworks Legacy Modernization Machine Learning & Artificial Intelligence Microservices Platforms Security Software Testing Technology Strategy 
Business 
Financial Services Global Health Innovation Retail  Transformation 
Careers 
Career Hacks Diversity & Inclusion Social Change 
Blogs

Topics

Choose a topic
  • Technology
    Technology
  • Technology Overview
  • Agile Project Management
  • Cloud
  • Continuous Delivery
  • Data Science & Engineering
  • Defending the Free Internet
  • Evolutionary Architecture
  • Experience Design
  • IoT
  • Languages, Tools & Frameworks
  • Legacy Modernization
  • Machine Learning & Artificial Intelligence
  • Microservices
  • Platforms
  • Security
  • Software Testing
  • Technology Strategy
  • Business
    Business
  • Business Overview
  • Financial Services
  • Global Health
  • Innovation
  • Retail
  • Transformation
  • Careers
    Careers
  • Careers Overview
  • Career Hacks
  • Diversity & Inclusion
  • Social Change
Software TestingBangaloreTechnology

Testify the Cloud

Hanika D Hanika D

Published: Dec 9, 2013

What’s your Test Strategy?

When I heard that the application my team was building was going to be hosted on the cloud, one of the first thoughts that crossed my mind was, “Is there anything particularly different about testing an application on the cloud?”

My instinct was that when you come right down to it, there is no particular difference in the way I would approach testing this application versus the others I had tested before, that were hosted on physical servers. I then did some research, spoke to other Testers, and googled. But while the lack of conversation around this topic on the web validated in part my original instinct that testing on the cloud isn’t fundamentally different, I came to realize that “cloud awareness” is a must.

So what is “Cloud awareness”?

When the team actually started testing the application, there were a number of different types of tests we ended up doing, that we had not actually paid much attention to in earlier projects. I’ll get into the details in a bit, but the main takeaway for me was "cloud awareness" -- the very fact that this application was hosted on the cloud meant that there were some cloud-specific checks and balances built into the application. And that obviously meant we had to test all of them to make sure they work as intended. This in turn, meant that I had to develop a basic understanding of Cloud Computing, especially with regard to the aspects outlined below:

Security

The application under test is basically a set of custom payment gateways for credit and debit cards.

Since that is pretty sensitive information, there were two levels of authentication. The application is deployed on a public network, but the database resides in a private network. In order to get into the private network, we had to be on the VPN and use a key generated on a registered mobile device to log in.

Additionally sensitive data such as credit card numbers was encrypted with a frequently updated encryption key.

Exploratory testing to verify that authentication and encryption works as expected needed to be done. This apart from the standard security tests for APIs such as SQL injection into the payload.

Deploy. Rinse. Repeat. And don’t forget to backup.

The main reason the application is hosted on the cloud is that this is expected to be a highly scalable, highly available system, ensuring that when the number of customers increase, more instances can be deployed quickly to meet the additional demand. This means that apart from the usual functional testing, we had to pay particular attention to issues around data integrity, data backup and exception handling. Some examples are:

  1. Populate the database so an alert is received when the limit is reached. Once the database size is increased, verify that the alert is not received.
  2. Bring down the Master database - verify that the Slave comes up. Verify an alert is received.
  3. Verify that the Master and Slave are in sync, also do operations on the Master while Slave is down and vice versa
  4. Setup cron jobs in the QA environment to verify that the scheduler is doing its job of backing up the data at the specified time
  5. When the database backup file has reached its limit, verify that a new one is created. Verify that the backup can be applied on the database to return it to the last known stable state.

And so on.

The Fun Part

In most other projects hosted in traditional environments, getting a QA environment can be a bit of a struggle. Here we were able to cloudify our tests, and run any number of experiments without having to wait in the queue for allocation of environments. QAs basically went trigger happy - building and deploying instances at will. The not so fun part? Getting a frantic email from the customer “Would you please tear down the QA instances? We just got a huge bill from Amazon!” Oops.

Just the beginning...

Is our testing by any means complete? Did we cover most of the high risk scenarios? I suspect that the more we deploy applications on the Cloud, the more we as a Software Community will understand the specific challenges and risks in doing so. And only then will we be able to incorporate that learning into Quality.

  • What we do
  • Who we work with
  • Insights
  • Careers
  • About
  • Contact

WeChat

×
QR code to ThoughtWorks China WeChat subscription account

Media and analyst relations | Privacy policy | Modern Slavery statement ThoughtWorks| Accessibility | © 2021 ThoughtWorks, Inc.