Monday, 24 April 2017

Oniyosys Cloud Testing: providing testing and quality assurance services for projects

Cloud computing is an internet based platform that renders various computing services like hardware, software and other computer related services remotely. Cloud computing is opening up new vistas of opportunity for testing. Cloud testing is the process of testing the performance, scalability and reliability of Web applications in a cloud computing environment.

Type of Testing in Cloud

The whole cloud testing is segmented into four main categories

1. Testing of the whole cloud: The cloud is viewed as a whole entity and based on its features testing is carried out. Cloud and SaaS vendors as well as end users are interested in carrying out this type of testing

2. Testing within a cloud: By checking each of its internal features, testing is carried out. Only cloud vendors can perform this type of testing

3. Testing across cloud: Testing is carried out on different types of cloud like private, public and hybrid clouds

4. SaaS testing in cloud: Functional and non-functional testing is carried out on the basis of application requirements

Cloud testing focuses on the core components like

Application: It covers testing of functions, end-to-end business workflows, data security, browser compatibility, etc.

Network: It includes testing various network bandwidths, protocols and successful transfer of data through networks.

Infrastructure: It covers disaster recovery test, backups, secure connection and storage policies. The infrastructure needs to be validated for regulatory compliances

Other Testing types in Cloud includes

  • Performance
  • Availability
  • Compliance
  • Security
  • Scalability
  • Multi-tenancy
  • Live upgrade testing

Task performed in Cloud Testing:

          Types of Cloud Testing         

     Task Performed

       SaaS or Cloud oriented Testing:   

  This type of testing is usually performed by cloud or SaaS vendors. The primary objective is to assure the quality of the provided service functions offered in a cloud or a SaaS program. Testing performed in this environment is integration, functional, security, unit, system function validation and regression testing as well as performance and scalability evaluation.

    Online based application testing on a cloud:

   Online application vendors perform this testing that checks performance and functional testing of the cloud based services. When applications are connected with legacy systems, the quality of the connectivity between the legacy system and under test application on a cloud is validated.

    Cloud based application testing over clouds:
      To check the quality of a cloud-based application across different clouds this type of testing is performed.

Test cases for Cloud Testing

Test Scenarios

Test case

Performance Testing
  •            Failure due to one user action on cloud should not affect other users performance
  •            Manual or automatic scaling should not cause any disruption
  •            On all types of devices the performance of the application should remain same
  •            Overbooking at supplier end should not hamper the application performance

Security Testing
  • Only authorized customer should get access to data
  •            Data must be encrypted well
  •           Data must be deleted completely if it is not in use by client
  •           Data should be accessible with insufficient encryption
  •         Administration on suppliers end should not access the customers data
  •           Check for various security settings like firewall, VPN, Anti-virus etc.

Functional Testing         
  •            Valid input should give the expected results
  •             Service should integrate properly with other applications
  •           System should display customer account type when successfully login to the cloud
  •          When customer chose to switch to other service the running service should close automatically

Interoperability & Compatibility Testing             
  •             Validate the compatibility requirements of the application under test system
  •           Check browser compatibility on cloud environment
  •            Identify the defect that might arise while connecting to cloud
  •          Any incomplete data on cloud should not be transferred
  •           Verify that application works across different platform of cloud
  •           Test application on in-house environment and then deploy it on cloud environment

Network Testing
  •           Test protocol responsible for cloud connectivity
  •          Check for data integrity while transferring data
  •          Check for proper network connectivity
  •           Check if packets are being dropped by firewall on either side

Load and Stress Testing          

  •            Check for services when multiple users access the cloud services
  •            Identify the defect responsible for hardware or environment failure
  •          Check whether system fails under increasing specific load
  •          Check how system changes over time under a certain load

Best Practices:

1. Testing is a periodic activity and requires new environments to be set up for each project. Test labs in companies typically sit idle for longer periods, consuming capital, power and space. Approximately 50% to 70% of the technology infrastructure earmarked for testing is underutilized, according to both anecdotal and published reports.

2. Testing is considered an important but non business-critical activity. Moving testing to the cloud is seen as a safe bet because it doesn’t include sensitive corporate data and has minimal impact on the organization’s business-as-usual activities.

3. Applications are increasingly becoming dynamic, complex, distributed and component-based, creating a multiplicity of new challenges for testing teams. For instance, mobile and Web applications must be tested for multiple operating systems and updates, multiple browser platforms and versions, different types of hardware and a large number of concurrent users to understand their performance in real-time. The conventional approach of manually creating in-house testing environments that fully mirror these complexities and multiplicities consumes huge capital and resources.

At Oniyosys, we provide an end-to-end solution that transforms the way cloud testing is done and can help an organization boost its competitiveness by reducing the cost of testing without negatively impacting mission-critical production applications.

No comments:

Post a Comment