“Testing of Cloud based Mobile Applications”
1Haris
Muhammad*- 2Noaman Ashraf Muhammad*
Department
of Software Engineering, Foundation University Islamabad,
Rawalpindi
Campus, New Lalazar Rawalpindi, Punjab, Pakistan
1-aka.habibi666@gmail.com
2-noamaan125@gmail.com
Abstract— Cloud computing is used to obtain the computing
resources like computer infrastructures, data storage and application services
and act as application servers, by changing the way of delivering computing
services and solutions. Cloud computing uses TaaS (testing as a service) for
clouds. This paper is about the cloud testing and cloud based application
testing, to answer the questions raised by engineers and managers and satisfies
the needs in cloud testing via offering
a clear view between web-based software testing and cloud based application
testing.
Keywords— Cloud testing, TaaS, testing the cloud
services (IaaS, PaaS, SaaS), Performance testing and evaluation and scalability
testing.
1. INTRODUCTION
1.1
Cloud Computing
[1]
Cloud Computing, cloud (also formulated as "the cloud") is used as a representation for "the Internet," so the phrase cloud computing means "a type of Internet-based computing," where different services — such as servers, storage and applications —are delivered to an organization's computers and devices through the Internet.
Cloud Computing, cloud (also formulated as "the cloud") is used as a representation for "the Internet," so the phrase cloud computing means "a type of Internet-based computing," where different services — such as servers, storage and applications —are delivered to an organization's computers and devices through the Internet.
To us ever changing
business needs, organization’s need to invest time and budget to scale up their
IT infrastructure. Such as hardware, software and services. How-ever in the IT
infrastructure the scaling process can be slow. The organizations are frequently
unable to achieve optimal utilization of the IT infrastructure. A cloud
computing provides computing over the internet. A cloud computing service
consists of highly optimized data centers. That provides various hardware,
software and information resources for use when needed. Organizations can
simply connect to the cloud and use various available resources on a pay per
use basis. This helps companies avoid capital expenditure that instantly can
scale up and scale down according to the business requirements.
A cloud computing service
can be deployed by following means:
i.
Private Cloud-
Works for only one
organization on a private network and is very highly secured.
ii.
Public Cloud-
Owned by the cloud service provider and
offers the highest level of efficiency.
iii.
Hybrid Cloud-
Combination of both private and public
deployment models.
1.1.1 Private Cloud
[2]Private cloud is a type of cloud computing
that provides related benefits to public cloud, including scalability and
self-service, but through an exclusive architecture. Unlike public clouds,
which deliver services to multiple organizations, a private cloud is dedicated
to a single organization.
As a result, private cloud is best for businesses with vibrant or impulsive
computing needs that require direct control over their environments.
1.1.2 Public Cloud
[3]A public cloud is one centered on the
standard cloud computing model, in which a service provider makes assets, such
as applications and storage, available to the general public over the Internet.
Public cloud services may be free or offered on a pay-per-usage model.
The
main benefits of using a public cloud service are:
a)
Easy and low-cost
set-up because hardware, application and bandwidth
costs are covered by the provider.
b)
Scalability to meet
needs.
c)
No wasted
resources because you pay for what you use.
costs are covered by the provider.
1.1.3 Hybrid Cloud
[4]Hybrid cloud is a cloud computing atmosphere which
uses a mix of on-premises, private cloud and third-party, public cloud services
with arrangement between the two platforms. By allowing jobs to move between
private and public clouds as computing needs and costs change, hybrid cloud
gives businesses greater flexibility and more data placement options.
Hybrid cloud is particularly valuable for dynamic or
highly variable workloads. For example, a transactional order entry system that
experiences significant demand points around the holiday season is a good
hybrid cloud candidate. The application could run in private cloud, but use
cloud bursting to access additional computing resources from a public cloud
when computing demands point.
[5]Cloud computing is the delivery of on-demand computing
resources everything from applications to data centers over the Internet on a
pay-for-use basis.
i.
Elastic resources —Scale up or down quickly
and easily to meet demand.
ii.
Metered service so you only pay for what you
use.
iii.
Self Service — All the IT resources you need
with self-service access.
Cloud computing applies
high performance computing power and perform tens of trillions of
computations per second. In consumer-oriented applications it delivers the
personalized information to provide data storage. To do this, cloud computing uses networks of large groups of servers with
specialized connections to spread data-processing chores across them. This
shared IT infrastructure
contains large pools of systems that are linked together.
Cloud computing consists of the following service models:
i.
IaaS - Infrastructure as a service
ii.
PaaS - Platform as a service
iii.
SaaS - software as a service
2. Testing
[6]Cloud computing does
not only bring new business opportunities but also causes some major impacts on
software testing and maintenance. Among different impacts one of them is known
as TaaS (testing as a service) in clouds. It is considered as a new service
model which a provider undertakes software testing activities of a given
application system for customers on their demands.
As cloud computing provides accost-effective and flexible means through
which computer hardware and software resources are delivered as a service to
large scale global users when and whenever needed by them.
Cloud computing could be
the next stage of the internet evolution. A cloud must be having several
properties including scalability, multi-tenancy, self-managed functional
capabilities and connectivity interfaces.2.1 Cloud Based Testing
[7]Cloud based software testing refers
to testing and measurement activities on a cloud-based environment and
infrastructure by leveraging cloud technologies and solutions.
Cloud testing is basically aligned with the concept
of cloud and SaaS (software as a service). It is done by leveraging the cloud,
the same benefits that the cloud brings to customers.
2.2 Needs of cloud based testing
[7]Testing new software often requires
costly servers, storage and network devices only for a limited time .These
computing resources are either not used or underutilized after testing, thus
result in waste of precious resources. Mobile application providers have to
maintain the quality of their services over various combinations of platforms.
The computing platforms may encompass various browser technologies with
different backend support running on various mobile OS. To ensure a reliable
service, providers have to test their services on all these platforms. In
addition to this testing of mobile applications, software’s also need test
automation tools which can also be easily migrated to cloud.
[4]One
more reason for the adoption of cloud computing is an economy of scale i.e. it
provides a pay-per-use type of service, thus reducing the upfront investment in
some cases; for example, using testing tools when needed and using various
platforms for running any application without investing into every platform.
2.3 Objectives of cloud testing
I. [3]To assure the quality of cloud-based applications deployed in
a cloud, including their functional services, business processes, and system
performance as well as scalability based on a set of application-based system requirements
in a cloud.
II.
To
validate software as a service (SaaS) in a cloud environment, including
software performance, scalability, security and measurement based on certain
economic scales and pre-defined SLAs.
III. To check the provided automatic cloud-based
functional services, for example auto-provisioned functions.
IV.
To test cloud compatibility and inter-operation
capability between SaaS and applications in a cloud infrastructure, e.g.
checking the APIs of SaaS and their cloud connectivity to other.
3. Architecture of TaaS platform
User become the cloud
beneficiary by many means i.e. at first user can upload the application on TaaS
platform and can request their own tester to test the application and can pay
for the tools because the first layer is combined
view so that they can directly reach out to TaaS platform through online or
through help desk. It has both commercial an open source tools. Where the
services and the tools are bundled and the customer can use any of them by
first getting registered with TaaS platform in the second scenario the customer
can upload the application on the cloud and ask the other testing company to
test the application and pay for the usage. For that in the second layer is the
customer need to sign in SLA (Service Level Agreement) which is an agreement
between customer and the company. In the third layer virtualization takes place
which is like managing our physical system virtually and the fourth layer is
cloud adapter as TaaS platform is integrated in the cloud with these adapters
so that TaaS platforms can be integrated by other providers also.
4. LITERATURE VIEW
[8]Mobile Testing as a Service (known as
Mobile TaaS) provides static and dynamic on- demand testing services for mobile
applications and SaaS to support software validation and quality engineering
processes by leveraging a cloud-based scalable mobile testing environment to
assure pre-defined given service-level- agreements (SLAs). Mobile TaaS on
clouds offers a new business model for diverse mobile software validation
services using the pay-as-you-test model to achieve cost-sharing and
cost-reduction in mobile computing resources, networks, cloud computing and
storage infrastructures. Various types of testing levels provided by the cloud
covers, unit testing, integration testing, User interface testing, regression
testing, system testing and acceptance testing as shown in figure3. It also
briefs the test scope based on test levels i.e. functional testing,
performance, security, usability, Stress/load testing, localization testing and
synchronization testing. The test environment shown in figure3 covers either testing
on real device or testing on device Emulators. Testing on real device can
further be either an in- house physical device testing or the focused remote
device connectivity which is cost effective and less time consuming for example
Device Anywhere and Perfecto Mobile Test Cloud. Secondly the testing can be
done using emulators again it is cost effective and covers a large range of
devices. But the limitation with the previous is that all the activities cannot
be realistically emulated like taking a picture or a video and the device
cannot be tested on different networks i.e. geo-location capability testing.
5. Conclusion
[9][10][11]Mobile cloud computing
architecture and applications and also various issues related to the cloud
environment, security and the privacy of the data and the performance.
According to cloud environment for software testing there are number of clouds
having different testing techniques. So it is the responsibility of service
manager to supervise and co-ordinate between the core activities of respective
layered entities of overall cloud environment and define the set of required
clouds depending on the testing techniques required by any product of the
client.
Testing of software’s on cloud is influenced by
conditions such as level of domain knowledge needed to test an application,
flexible and cost effective, security and economy of scale and cloud computing
as a booming paradigm and the software testers to polish their skills.
6. References
- https://www.webopedia.com
- https://www.ibm.com/cloud-computing/what-is-cloud-
- http://searchcloudcomputing.techtarget.com/definition/private-cloud
- http://searchcloudcomputing.techtarget.com/definition/public-cloud
- http://searchcloudcomputing.techtarget.com/definition/hybrid-cloud
- https://www.ibm.com/cloud-computing/what-is-cloud-computing.
- A Survey Report on Cloud Computing Testing Environment.
- International Journal of Computer Applications (0975 – 8887) Volume 7-No 14, 4 October 2013.
- Hoang T. Dinh & Chonho Lee & Dusit Niyato & Ping Wang. A Survey of Mobile Cloud Computing: Architecture, Applications, and Approaches. Wireless Communications and Mobile Computing – Wiley.
- Leah Muthoni Riungu, Ossi Taipale, Kari Smolander. (2010).” Software testing as an Online Service: observations from Practice”. Third international conference on software testing, Verification, and Validation Workshop.
- T. Vengattaraman, P. Dhavachelvan and R. Baskaran (2010). “A Model of Cloud Based Application Environment for Software Testing”. (IJCSIS) International Journal of Computer Science and Information Security, Vol. 7, No.
No comments:
Post a Comment