Api Testing Tool in Cloud: Volume 2, Issue 4, April 2013

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.

com Volume 2, Issue 4, April 2013 ISSN 2319 - 4847

API TESTING TOOL IN CLOUD


Abhaysinh Sathe1, Dr. Raj Kulkarni2
1,2

Walchand Institute Of Technology, Solapur

ABSTRACT
Testing becomes an important process not only in term of exposure but also in terms of performance, safety, usability. For software quality assurance, software testing is the basic activity. Locating the test environments is too expensive in terms of hardware, software licenses. Testing as service (TaaS) is new model to provide testing capabilities to end user. Users save the cost of complicated maintenance and upgrade effort, and service providers without impact on end users. Due to uneven volumes of concurrent request it is important to address the elasticity of TaaS platform in cloud environment. With the emergence of extreme programming, test-driven development and other agile methods, unit testing has become an important part of almost every development effort. At the same time, many applications provide application programming interfaces (APIs) to allow code-level access to the functionality. These APIs, just like any other interface into the product, must be tested for web services over cloud before they are released to the end-users. We develop a tool of TaaS over cloud, that toolkit shall provide a rich GUI to allow even a novice user to perform API testing with ease.

Keywords: Testing as a service (Taas), cloud testing, software testing

1. INTRODUCTION
Software testing is expensive and labor intensive. It requires 40%-70% of software development costs, and even more for mission-critical applications. One of the goals of software testing research is to automate as much as possible, thereby significantly reducing its cost, minimizing human error, and making regression testing easier. Conventionally, vendors of testing tools deliver a collection of testing products to their customers, who need to install, learn and maintain products. TaaS (Testing-as-a-service) provides users with testing services such as auto-generation of test cases and test auto-execution, and test result evaluation [1][2]. Small sized and medium sized business companies need to have high speed, safe and scalable IT infrastructure, in order to manage with their business requirements. But these companies do not have the capability to have this setup in their premise. The recent recession in the market made the organizations to review their approach towards IT investments. Now a days companies are paying attention towards improving efficiencies and return of investments engaged, CEOs need to review how they can reduce their investments in technology, or get high return on the same or addition investments[3]. Software testing can be stated as the process of validating and verifying that a software program/application/product: Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects). Software testing Does not contain defects; Does not behave in any undesirable way; Meets the requirements that guided its design and development; Works as expected Cloud computing is latest trend in the IT industry. More definitions for cloud computing exists [4,5,6]. Market analysis shows the worldwide expenditure on cloud computing would be around $42bn/year by 2012 [6].Moreover leading companies have a vested interest in cloud computing. Web API is a development in Web services (in a movement called Web 2.0) where emphasis has been moving away from SOAP based services towards Representational State Transfer (REST) based communications.[7] REST services do not require XML, SOAP, or WSDL service-API definitions. Web APIs allow the combination of multiple Web services into new applications known as mashups.[8] When used in the context of Web development, Web API is typically a defined set of Hypertext Transfer Protocol (HTTP) request messages along with a definition of the structure of response messages, usually expressed in an Extensible Markup Language (XML) or JavaScript Object Notation (JSON) format.

Volume 2, Issue 4, April 2013

Page 441

Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com Volume 2, Issue 4, April 2013 ISSN 2319 - 4847
When running composite Web services, each sub service can be considered autonomous. The user has no control over these services. Also the Web services themselves are not reliable; the service provider may remove, change or update their services without giving notice to users. The reliability and fault tolerance is not well supported; faults may happen during the execution. Exception handling in the context of Web services is still an open research issue, although this can still be handled by responding with an error object to the client. Very little attempts have been made in implementation and automation of API testing tool over cloud. We propose the development of a Generic API Testing Tool that will allow users to Define Test Cases Manage Test Cases Perform Individual Testing Perform Bulk Testing Manage Test Reports Benefits of a TaaS on Cloud Testing-as-a-Service has demonstrated significant improvements over traditional testing environments. A major advantage of using the Testing as a service, especially a Public Cloud is that it is a highly scalable model; a major improvement as compared to an internally managed model. Enterprises need space, servers etc. to handle any ondemand computing needs and a public cloud model ensures that the capacity needs can be immediately fulfilled. Also, when deploying testing configurations, the environment is created using certain specific tools. These testing tools can be easily deployed on a public cloud at a faster rate than in the enterprises own environment as it requires customized testing. A public cloud deployment is also much quicker compared to testing in an internal environment as it has a standardized hardware and computing power. In terms of costs, the TaaS model is beneficial since enterprises pay for the actual time utilised for testing a leading to controlled costs. Compare this to a situation where an enterprise manages its own infrastructure and has to incur capital expenditure and yearly depreciation costs on testing environments. The TAAS model also offers licensing benefits since test tools, hardware, application licensing or even operating platform (Unix, Linux etc) are managed by the cloud. Additionally, using standardized testing processing and tools can yield a 10%-20% cost reduction due to increased quality and Test Automation from cloud deployments show a 5%-10% revenue enhancement. Enterprises also witness productivity gains of 5%-10% year-over-year due to test method improvements. Leveraging a global talent pool through an extended cloud ecosystem can lead to a 10%-20% savings in personnel costs. By switching to TaaS, customers get access to a centralized test environment, with standardized software library and test suites. It also has a self service portal, which cuts down time required to provision test environments. A Role based access control (RBAC) provides access to different functionalities of TaaS, based on user roles. Challenges At times, testing environments are quite unique to clients and the biggest challenge faced when implementing TaaS on the Cloud is the involvement of certain legacy applications. This is because some of these systems software and hardware cannot be easily replicated on the cloud. So one needs to consider creating a hybrid model which deals with working on a public cloud, with a simultaneous connectivity to the enterprises own data centre. The legacy environment can then be connected to the public cloud in the same testing environment. The speed at which the test environment is created is another possible disadvantage.

2. Methodology
SaaS Architecture: Software as a service (SaaS, typically pronounced [ss]), sometimes referred to as "on-demand software," is a software delivery model in which software and its associated data are hosted centrally (typically in the (Internet) cloud) and are typically accessed by users using a thin client, normally using a web browser over the Internet. The SaaS architecture is shown as bellow. We are going to design a TaaS which shall be dedicated testing service over SaaS architecture. So it is basically SaaS in core.

Volume 2, Issue 4, April 2013

Page 442

Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com Volume 2, Issue 4, April 2013 ISSN 2319 - 4847

Fig 1: The SaaS architecture We have developed an API testing tool through JAVA which can deploy on web to facillitate user ondemand testing services. The block diagram for API testing tool over cloud is shown as follows. A GENERIC & SCALABLE APPROACH TO API TESTING

Our API testing tool provide following facilities Register test classes globaly or local. Register class method globaly or localy Register test case. Write and compile java program. Perform individual and bulk testing We have developed an API testing tool through JAVA which can deploy on web to facillitate user ondemand testing services. Activity diagram of API testing tool is shown as follow:

Volume 2, Issue 4, April 2013

Page 443

Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com Volume 2, Issue 4, April 2013 ISSN 2319 - 4847

Fig 2: Activity diagram

3. Conclusion
The complexities of the future are changing. It is becoming demanding, consumer oriented and the number of devices/ user interfaces that the organization has to support is becoming much more versatile. In such an environment, it is imperative to assess and implement the right methodologies to achieve scale, minimize costs and offer improved services. This project proposes an automated testing platform TaaS on a cloud. This platform adapts cloud computing technique to build the elastic resources infrastructure and provide various kinds of testing services to the test users. Thus the proposed system which is to be built would be very much useful software that can make the web API testing related task very much simpler over cloud, thereby making a lot of profit into the business that do not have the capability to have this setup in their premise .

References:
[1] Lian Yu, Le Zhang, Huiru Xiang, Yu Su, Wei Zhao, Jun Zhu, "A Framework of Testing as a Service", Proceedings of the Conference of Information System Management 2009. [2] Lian Yu, Shuang Su, Jing Zhao, et al, Performing Unit Testing Based on Testing as a Service (TaaS) Approach, Proceedings of International Conference on Service Science (ICSS) 2008, pp. 127-131. [3] K. Priyadarsini* cloud testing as service/ (IJAEST) INTERNATIONAL JOURNAL OF ADVANCED ENGINEERING SCIENCES AND TECHNOLOGIES Vol No. 6, Issue No. 2, 173 - 177 [4] J. Geelan, Twenty one experts define cloud computing, Virtualization, Aug. 2008. Electronic Magazine, Available at http://virtualization.sys-con.com/node/612375 [Last accessed October 6, 2010]. [5] R. Buyya, C. Yeo, S. Venugopal, J. Broberg, and I. Brandic, Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility, Future Generation Computer Systems, Elsevier, 25(6), June 2009, doi:10.1016/j.future.2008.12.001. [6] E. Knorr and G. Gruman, What cloud computing really means,InfoWorld, April 2008. Electronic Magazine, Available at http://www.infoworld.com/d/cloudcomputing/whatcloudcomputing- really-means-031 [Last accessed October 6, 2010]

Volume 2, Issue 4, April 2013

Page 444

Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com Volume 2, Issue 4, April 2013 ISSN 2319 - 4847
[7] Benslimane, Djamal; Schahram Dustdar, and Amit Sheth (2008). "Services Mashups: The New Generation of Web Applications" (http:/ /dsonline. computer. org/ portal/ site/ dsonline/ menuitem. 9ed3d9924aeb0dcd82ccc6716bbe36ec/ index. jsp?& pName=dso_level1& Path=dsonline/ 2008/ 09& file=w5gei. xml& xsl=article. xsl). IEEE Internet Computing, vol. 12, no. 5. Institute of Electrical and Electronics Engineers. pp. 1315. . [8] "Mashup Dashboard" (http:/ / www. programmableweb. com/ mashups). ProgrammableWeb.com. 2009. . [9] Lian Yu, Wei-Tek Tsai, Xiangji Chen, Linqing Liu, Yan Zhao, Liangjie Tang, Wei Zhao 2010 Fifth IEEE International Symposium on Service Oriented System Engineering [10] http://www.innominds.com/index.php?option=com_content&view=article&id=102& Itemid=124

Volume 2, Issue 4, April 2013

Page 445

You might also like