International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org Volume 4, Issue 3, March 2015 ISSN 2319 - 4847 CLOUD TESTING- AN ADVANCEMENT IN SOFTWARE TESTING Shraddha D. Mungekar1, Dhanashree K. Toradmalle2 1 Shraddha Mungekar 2 Dhanashree Toradmalle Assistant Professor, Shah and Anchor Kutchhi Engineering College ABSTRACT Software testing is an ongoing activity in a Software Development Life Cycle (SDLC). Depending on the SDLC method, testing will be implemented at any stage. Traditional testing requires dedicated infrastructure and resources which will be used periodically. Cloud computing is the next stage of internet, leads an opportunity in offering cloud-testing for SaaS application. This paper provides a comprehensive study on objectives of cloud-testing, traditional testing techniques being adapted for cloud-testing and advantages of cloud-testing. Keywords: cloud-based application, software testing, cloud testing, functional testing 1. INTRODUCTION Software testing is one of the significant activities in SDLC. It is performed to validate the functionality of software package according to the expectation of user/ customer. In general, software testing is performed within the organization using an internal infrastructure. Due to the growing complexity of business applications, it is harder to build and maintain in-house testing facilities that mimic real-time environment [1]. Creation of new test environment for every single project becomes timeconsuming and delay-prone. Another restriction in traditional test environment is, for some application domains, that extensive resources are required for testing it. Let us consider some realistic scenario. For eg. In online result checking process, system accepts millions of requests within a short time interval. Creating such test scenarios requires large test harness with millions of users. Similarly mobile application providers have to deal with various combinations of platforms. To ensure reliable service, providers have to test their services on all platforms. Cloud computing has gained significant attention in last few years. Cloud computing is a set of hardware, network, storage services and interfaces, which combine to deliver aspects of computing as a service. Cloud computing not only brings new business opportunities but also causes some major impacts on software testing and maintenance. A major impact is known as “Cloud Testing” [2] 2. CLOUD TESTING Cloud testing is a software testing using cloud computing. According to Wikipedia, "cloud testing is a form of software testing in which Web applications that leverage Cloud computing environments ("cloud") seek to simulate real-world user traffic as a means of load testing and stress testing web sites. The ability and costs to simulate Web traffic for software testing purposes has been an inhibitor to overall Web reliability."[3] Cloud testing is a combination of cloud and Software as a Service (SaaS). It is an application which provides Testing as a Service(TaaS) through the cloud. The application which is going to be tested can be located either on cloud or on premise. 3. CLOUD TESTING OVERVIEW 3.1 Objectives of Cloud Testing Cloud testing has following objectives:1. To check if system meets the requirement and be executed successfully in required environment. 2. To assure the quality of cloud-based application. It includes applications functionality, performance as well as scalability in the cloud. 3. To check if the tested application is fit for the purpose in a cloud environment 4. To check the automatic cloud-based functionality which is also called as auto-provisioned functions. 5. To check the interconnection between application deployed and cloud infrastructure. Volume 4, Issue 3, March 2015 Page 61 International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org Volume 4, Issue 3, March 2015 ISSN 2319 - 4847 3.2 Cloud-Testing Life Cycle Figure 1 Cloud-Testing Life Cycle Cloud-testing life cycle includes following activities. Test manager/ Project manager/Test leader plays the role of Test admin. Test admin creates the test scenarios and designs test cases. Based on the scenarios and test cases, automated script will be generated either by test admin or professional tester. Once cloud-service provider is available to test admin, he creates the users to give an access to testers. Cloud-service provider set-up the infrastructure. Test users/ Testers use the credentials to login into the portal and can use all the assets available. Cloud testing process starts here. Testers perform the testing. After completion of the process, cloud testing providers delivers the result. 4. CLOUD-TESTING TYPES According to the reviews gathered,[4] following are the main testing types provided by cloud testing providers:Unit testing:- Unit testing is also known as component, module and program testing. It can be described as testing of a function, module or object in isolation from rest of the program. Integration testing:- Integration testing checks the interfaces between components, interactions with different parts of a system. In cloud testing, additional integration testing required to check the interconnection between a) Cloud-based connectivity protocols and API’s crossing clouds. b) End-to-end application integration which is crossing clouds. System testing:- System testing techniques is used to prove the systems behaviour within its own boundaries. Acceptance testing:- Acceptance testing is performed to check the validation and verification of the system Functional Testing: - Functional testing of both internet and non-internet applications can be performed using cloud testing. The process of verification against specifications or system requirements is carried out in the cloud, instead of on-site software testing. [5] Availability testing:- Cloud testing can check for availability of web-based applications. Web-based application provider has to ensure that there are no abrupt downtimes. Non-Functional Testing: - Non-functional testing is done to ensure that an application meets the specified performance requirements. Performance Testing:- Performance testing measure response times and isolate issues related to specific steps or actions while system is subjected to increasing load from different locations and multi user operations. Load testing: - Load testing is one of the important testing type of cloud testing. Load testing is conducted to understand the behaviour of the application under a specific expected load. In on-premise automation testing the load gets generated by the same system.Whereas in cloud-testing, load gets generated by multiple systems which is closer to the real-time situation. Stress testing:- Stress test is used to determine ability of application to maintain a certain level of effectiveness beyond breaking point or maximum expected capacity or beyond the expected usage. It is essential for any application to work under excessive stress and maintain stability. Stress testing assures this by creating peak loads using simulators. But the cost of creating such scenarios is enormous in on-premise environment. Security testing:- Security testing is done to check whether the application is secured or not. It checks to see if the application is vulnerable to attacks. 5. CLOUD-TESTING ADVANTAGES Cloud based testing gives following advantages:1. In cloud-based testing, test resources are virtualised hence it provides efficient implementation independent infrastructure. 2. Test resources will be available on-demand which reduces set-up efforts and cost required for it. 3. Test environment can be scale up or down which helps to optimise the total environment. 4. Testing can be performed on various platforms which give the assurance on product service. 5. Test environment will be readily available and can be easily controlled. Volume 4, Issue 3, March 2015 Page 62 International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org Volume 4, Issue 3, March 2015 ISSN 2319 - 4847 6. FUTURE SCOPE Since we are in the early days of cloud testing, many new testing challenges have yet not been identified. More innovative techniques are needed to be defined in Cloud-testing. Cloud-testing models need to be derived. QoS standards need to be defined in cloud-testing. 7. CONCLUSION Software testing and cloud computing both are likely to be popular fields in near future. Traditional software testing techniques are being adopted for the cloud. Cloud- testing offers functional as well as non-functional type of testing. Functional testing considers specified behaviour whereas non-functional testing considers scale of measurement i.e. Time, Speed etc. An increasing number of organizations are accepting cloud computing as a model to test the application. With improved interaction between developer and tester teams, we can also expect the applications to improve in quality. 8. ACKNOWLEDGEMENT I would like to sincerely thank Assistant Prof. Dhanashree Toradmalle, Shah and Anchor Kutchhi Engineering College, Mumbai for her advice and guidance at the start of this article. Her hard work and passion for research also has set an example that I would like to follow. I really appreciate her interest and enthusiasm during this article. REFERENCES [1] Katherine, A. V. & Alagarsamy, K. Conventional Software Testing Vs . Cloud Testing. 3, 1–5 (2012) [2] Gao, J., Bai, X. & Tsai, W. Cloud Testing- Issues , Challenges , Needs and Practice. 1, (2015). [3] Mohata, V. B., Dakhane, D. M. & Pardhi, R. L. Cloud Based Testing : Need of Testing in Cloud Platforms. 2, 369–373 (2013). [4] Inki, K., Ari, I. & Sozer, H. A Survey of Software Testing in the Cloud. 2012 IEEE Sixth International Conference on Software Security and Reliability Companion 18–23 (2012).doi:10.1109/SERE-C.2012.32 [5] Chandane, S. H. New Computing Paradigm: Software Testing in Cloud , Issues , Challenges and Need of Cloud Testing in today s World. 68–75 (2013). [6] College, P. R. P. ER ER. 2, 1–7 (2013). [7] Riungu-kalliosaari, L., Taipale, O. & Smolander, K. Testing in the Cloud : Exploring the Practice. 46–51 [8] Cohen, C. Software Testing as a Service ( STaaS ). 1–14. [9] Prakash, V. & Bhavani, R. CLOUD TESTING – MYTHS FACTS AND CHALLENGES. 9, (2012) [10] International, A. & Testing, S. Cloud-Testing vs . Testing a Cloud - 10th Annual International Software Testing Conference. (2010). AUTHOR Shraddha Mungekar received the B.E. degree in Biomedical Engineering from Watumall Institute of Electronics Engineering and Computer Technology in 2011 Currently she is pursuing M.E. in Information Technology from Shah and Anchor Kutchhi Engineering College. Dhanashree Toradmalle received the B.E.degree in Computer Engineering from Padmabhushan Vasantdada Patil Pratishthan’s College of Engineering in 2002. She received the M.E. degree in Computer Engineering from Mahatma Gandhi Mission’s College of Engineering and Technology in 2008. Currently she is working as an Assistant Professor at Shah & Anchor Kutchhi Engineering College ,Mumbai. Volume 4, Issue 3, March 2015 Page 63