Perspectives in Science (2016) 8, 689—691
CORE Metadata, citation and similar papers at core.ac.uk
Available online at www.sciencedirect.com Provided by Elsevier - Publisher Connector
ScienceDirect
jo urnal homepage: www.elsevier.com/pisc
A review on software testing approaches
ଝ
for cloud applications
∗
Tamanna Siddiqui, Riaz Ahmad
Department of Computer Science, Aligarh Muslim University, India
Received 20 February 2016; received in revised form 9 June 2016; accepted 9 June 2016
Available online 4 July 2016
KEYWORDS Summary Cloud computing has actually been invented to be the latest computing standard
that will work several distinctive research areas, such as software testing. Testing cloud applica-
Cloud testing;
Clustering; tions will keep its unique characteristics that involve more recent testing techniques. Software
Prioritization; testing helps to reduce the need for hardware and software services and also provide adaptable
Privacy; and valuable cloud platform. Testing within the cloud platform is easily manageable based on
Security; new test models and criteria. Prioritization approach is made responsive to build much better
relationship between test cases. These test cases are clustered dependent on priority level.
Test cases
The resources can be used properly by applying load balancing algorithm. Cloud guarantees
maximum usage of existing resources. But, security defined as a primary problem in cloud. At
the present time, organizations are progressively moving excited about deploying and making
use of ready-prepared business applications, with particular short-term to the marketplace.
The possible lack of capital budgets for software planning and on principle deployments, along
with the swift progression of cloud these are the reasons why one should make the interest
on business application. However, these are the interests that help make the SaaS based busi-
ness application on-demand. In this paper different approaches has been discussed that will
help to extend the cloud environment. Also, the study of several well-known software testing
approaches.
© 2016 Published by Elsevier GmbH. This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/).
Introduction making use of virtual machines (VM) to do testing is not a
unique idea. The issue starts when those VM are unavailable
as needed. Some issues that faced like servers, data source
Software testing is used to find out the functionality and
as well as applications not representing virtualized environ-
validity of a program over performance and analysis. By
ments. To address this challenge migrate the tests way to
the cloud. Cloud computing provides you with other norms
ଝ of testing agility which gives a paradigm shift that a pay-
This article belongs to the special issue on Engineering and Mate-
per-use technique but not creating in-house data canters. rial Sciences.
∗
Corresponding author. Tel.: +91 9412273378. The users have the ability improve their computing choices
E-mail address: [email protected] (R. Ahmad). to fulfill their requirements on-demand (Prathibhan et al.,
http://dx.doi.org/10.1016/j.pisc.2016.06.060
2213-0209/© 2016 Published by Elsevier GmbH. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/ licenses/by-nc-nd/4.0/).
690 T. Siddiqui, R. Ahmad
Figure 1 Cloud computing testing techniques.
2014; Doss et al., 2012). It seen to apply virtualized hard- Clustering is a bottom-up clustering method each observa-
ware appropriately unrestricted storage also software vital tion starts in its own cluster (Liu et al., 2013). It utilized
for thin-client network right to use the infrastructure. By in several field because of it offers ability to use arbitrary
putting on prioritization strategies simply to make the most clustering dissimilarity or distance function. Clusters are
of the scope and plan the test cases in a sequential order to design by a couple of objects determined by the squared-
get the code coverage at the quick rate. Clustering models error objective functions because highly responsive to initial
are useful to software providers to find his services to the conditions when various size and non-globular state. Algo-
cloud users and helps the service expert to extend use of rithms design by using the part of the data in Partition-based
software service toward the cloud nature. Clustering. Once every cluster expands clustering elements
and minimizes the sum of squared distance from the mean
within every cluster. Moreover it used to minimize the clus-
Testing in cloud computing
tering criteria by iteratively moving the data between the
clusters till an ideal partition is seen.
The testing framework in cloud computing consists of four
most important techniques (Fig. 1).
Load distribution scenarios
Prioritization techniques
Load balancing aims to improve resource use, extend
throughput, eliminate response time and avoid overload
Prioritization techniques are used to improve the function of any single resource. Load balancing technique will
and give a direction to develop and run test cases. Test involve different levels of the cloud in load balancing deci-
cases priority assign by using graph coverage value. It is usu- sion. It mainly found in master slave form (Penmatsa and
ally defined as the amount of the complexities that involved Chronopoulos, 2011). The static load balancing algorithms
dependent test cases which is determined by total number helpful to defines the job to the node according to the
of dependents and greatest path of overall dependents of potential of the node to process new queries. The process is
the test case. Weight factors to be used for prioritization calculated on previously ability to use the nodes properties,
strategies that are customer priority, requirement complex- working power, space for storing capacity and functions. In
ness and volatility (Anitha and Srinath, 2014). High factor dynamic includes several features of nodes functions and
values show need for prioritization of test case relating to network capacity. It is also combos of prior gathered details
the requirement. Test coverage analysis is simply an amount about the nodes in the cloud. According to the attribute
applied in software testing named code coverage analysis gathered, Algorithm assigns and reassigns the task to the
(Indumathi and Selvamani, 2015). It deals only source codes nodes dynamically depending on the prior gathered details
of program that used within the testing process. The cov- about the nodes in cloud area. In Centralized Load Balanc-
erage prioritization practice prioritizes the test cases in ing (CLB) technique, the assigning and arranging actions are
decreasing order and determined by the sum of ReqSlice produced by one node that chargeable for keeping the infor-
(number of requirements declared by test case) and ReqEx- mation based upon entire cloud set-up. It is usually highly
ercise (number of requirements utilized by test case). The overloaded and low fault tolerant (Berander and Andrews,
exact time is checked for measuring the expense for every 2005).
test case because test case prioritization is performed based
on cost examination in cost based prioritization (Mohanty
Security mechanism
et al., 2011).
Diffie—Hellman algorithm offered a method to sharing keys
Clustering techniques between sender and receiver for encryption and decryption
of information and data. It arranges most group members in
Clustering can be considered the key unsupervised learn- a logic ring to sharing DH public keys Salzbrunn et al. (2008);
ing situation. So, the other issues it focuses on finding a Liao and Chao (2008). The arbitrary parameters produce new
structure in an amount of unlabelled data. Agglomerative shared keys for every message that is exchanged between
Software testing approaches for cloud applications 691
Table 1 Software testing techniques in cloud platform.
Techniques Sub techniques Quality measurement
Test case prioritization techniques DSPT IDT, MFD, CS, RT
RBPT RC, CC, TCL
CBPT Weight in each row using UWD & WD
CEBPT IFT, TST, Whole test case cost
Clustering algorithm AC CT, half distance matrix computation
K-MC Dataset sizes, overhead at the server side
PBC Hedgehog representation of the flow
Load balancing scenarios HLB Execution time and total performance
SLB Expected response time, fairness index, system utilization
DLB Power utilization expense, average response time, Usage rates
CLB Capability matrix, load matrix
Security mechanism DHA I.F., decryption, computation of point on the curve
DESA Profitable rate under toleration distance
AES Timing simulation
each other. Wang’s approach relates to the security and References
safety problems in cloud. It offers data access process that is
depending on owner—create user read case. DES algorithm
Anitha, M.V., Srinath, 2014. A review on software testing framework
needs a 56-bit key in execution and one bit used for odd in cloud computing. Int. J. Comput. Sci. Inf. Technol. 5.
parity on every octet. AES plays the role of a substitution- Berander, P. , Andrews, A., 2005. Requirements prioritization. In:
permutation network according to a design principle. The Engineering and Managing Software Requirements. Springer, pp.
finalized result of cipher text is received by several repeti- 69—94.
Doss, R., Kumar, R., Prakash, V. , Krishnan, S.G., 2012. Software as
tive transformations known as AES cipher. But it takes extra
a service (SaaS) testing challenges — an in-depth analysis. Int.
round of communication than shared key mechanism (Singh
J. Comput. Sci. 9 (May (3)), 506—510.
and Supriya, 2013; Tirthani and Ganesan, 2014).
Indumathi, Selvamani, K., 2015. Test cases prioritization using open
dependency structure algorithm. In: International Conference
Analysis and discussion on Intelligent Computing, Communication & Convergence (ICCC-
2015).
Liao, H.-C., Chao, Y.-H., 2008. A new data encryption algorithm
Over the last one decade, in the test case of prioritization
based on the location of mobile users. Inf. Technol. J. 7, 63—69.
techniques, DSP technique is better than other standard
Liu, R., Mordohai, P. , Wang, W.H., Xiong, H., Liu, R., Wang, H.W. prioritization techniques in terms of cost reduction. The AL>, 2013. Integrity verification of K-means clustering out- AC algorithm has less computational time, half distance sourced to infrastructure as a service (IaaS) providers. SDM, matrix computation with the comparison of other Cluster- 632—640. ing algorithm. The HLB algorithm is showing better results in Mohanty, S., Acharya, A.A., Mohapatra, D.P., 2011. A survey on terms of utilization resources from the other load balancing model based test case prioritization. Int. J. Comput. Sci. Inf. algorithm. The comparison of DHA with the other security Technol. 2, 1042—1047. algorithm is superior (Table 1). Penmatsa, S., Chronopoulos, A.T., 2011. Game-theoretic static load balancing for distributed systems. J. Parallel Distrib. Comput. Conclusion 71, 537—555. Prathibhan, C.M., Malini, A., Venkatesh, N., 2014. An automated testing framework for testing android mobile applications in the In this paper, the overviews of software methods in cloud cloud. In: International Conference Advanced Communication computing platform are shared. An improved testing frame- Control and Computing Technologies (ICACCCT), 8—10 May, 2014. work in cloud platform may be accomplished by making use Salzbrunn, T. , Jänicke, H., Wischgoll, T. , Scheuermann, G., 2008. The state of the art in flow visualization: partition-based tech- of the DSP, AC, HLB and DHA techniques. By using DSP tech- niques. SimVis, 75—92. nique the test cases can be prioritized in such manner the Singh, G., Supriya, A., 2013. Study of encryption algorithms (RSA, time consumption can be that decreased and fault rate pre- DES, 3DES and AES) for information security. Int. J. Comput. diction can be improved. High adaptability in the level of Appl. 67 (April (19)). granularity achieve through clustering technique. By the Tirthani, N., Ganesan, R., 2014. Data security in cloud architecture Diffie—Hellman algorithm security improved and resources based on Diffie—Hellman and Elliptical Curve Cryptography. IACR are well-utilized according to Hierarchical load balancing Cryptol. ePrint Arch. 2014, 49. algorithm.