• No results found

The Application and Development of Software Testing in Cloud Computing Environment

N/A
N/A
Protected

Academic year: 2021

Share "The Application and Development of Software Testing in Cloud Computing Environment"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

The Application and Development of Software Testing in

Cloud Computing Environment

Peng Zhenlong Ou Yang Zhonghui

School of Business and Information Technology, Quanzhou

Normal University, Fujian, China Email: jxndpzl@163.com

Abstract--Software testing is an important part of software engineering and it’s very important to enhance software quality. In the cloud computing environment, it is an unchangeable trend that the traditional software testing turns to "cloud testing". The article discusses the advantagesˈprocesses and procedures of software testing and cloud computing . Based on those procedures discussed, the intersection between software testing and cloud computing is pointed out. At last, the advantages and development trend of cloud testing is analyzed. Keywords: cloud computing; software test; cloud testing; virtualization

I SUMMARY OF CLOUD COMPUTING

A. What is Cloud Computing

When we talk about the origin of cloud computing, we’ll first discuss the three evolution stages of the IT and data center[1]. The first stage is the time when the computer was born. Because the chips and other hardware resources were relatively expensive, the data and the data processing were concentrated in one computer, and the use terminals were only simple input and output terminals which did not have a computing power. The second stage is that with the development of large scale and very large scale integrated circuit technology, the hardware became popular. At this time, the single computer’s computing power and storage capacity became so powerful that the transaction processing and storage were finished over a single computer. Then it comes to the third stage. In order to meet the needs of supercomputing power and also for the purpose of convenient management and saving energy, data storage and computing power are concentrated and rented out in the form of business. This period is called "cloud computing" stage. Specific evolution

Huang Youlan

School of foreign language, Quanzhou Normal University , Fujian, China

B. Cloud Computing Concept.

Cloud computing is the aggregation of grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, load balance and so on. In the narrow sense, cloud computing refers to the delivery and using model of the IT infrastructure; it means the users have access to the required resources in an on-demand and easy-expanding way through network. However, in the broad sense, cloud computing refers to the service delivery and using mode. This service can be IT, internet software and other services. It means that computing power can also serve as a kind of commodity through the Internet. [2-3 ].

II CLOUD COMPUTING ARCHITECTURE Cloud computing is divided into three layers of framework. The first layer is IaaS (Infrastructure-as-a-Service) in which users can obtain the computer infrastructure through the Internet. The second layer is PaaS (Platform-as-a-Service). In PaaSˈsoftware development platform is submitted to the users as a service . The third layer is SaaS (Software-as-a-Service): the users don’t need to buy the software. They can manage the business activities of enterprises by renting the software based on web from Internet [4].See Figure 2.

dispersion

1960s-1970s 1980s-1990s 21st century

Fig.1 Evolution of Data Storage and Computing Ability cloud age concentration concentration

(2)

III ADVANTAGES OF CLOUD COMPUTING A. Obtaining Large Computing Power.

For a single machine, the computing power and storage space is very limited. Just like the urban water supply, it is impossible that every household dug a well. In fact, all the water is coordinated and scheduled by tap water factory, and then each user can get water he needs. Thus, the maximum degree of balance is achieved. Cloud computing is based on this idea: a professional cloud computing company supplies super computing power, super storage, and makes them assemble, decompose and coordinate freely through virtualization technology. The terminal users just "release task and wait for result" by network.

B. Professional Management, Security and Reliability. Cloud computing services providers have a professional management team in data security, virus protection, data sharing, hardware and software update and so on. They can rapidly respond and provide a safe and reliable service for users. See Figure 3.

C. Common Applications of Cloud Computing

The typical application of cloud computing in daily life is email service. The user registers an email address, and then they can send and receive emails and need not to know where the email server is, what the principle is and so on. At the

same time, based on cloud computing the mailbox capacity can get a big promotion. Other applications include such as search engine, online transactions, online videos and so on [5].

It is predicted that global cloud computing market scale will reach $40.7 billion in 2011, and by 2020 the data will have reached $241 billion. There will be a more than 5 times growth. According to Cisco's latest research results, the cloud computing services flow in the world market will grow to an amount 12 times in 2015 than that in 2010, with a compound growth rate 66% [6]. Google, Amazon, Oracle, Microsoft and SAP have or will have access to cloud computing by purchasing. Out of question, the cost and complexity of using cloud computing will be gradually reduced.

THE APPLICATION OF SOFTWARE TESTING IN CLOUD COMPUTING ENVIRONMENT A. What is Software Testing

Software testing is a key step to guarantee software quality. It is a process to test the function and performance of software product according to testing plan and flow by using test tools. Tester can design different test cases, make or use different test tools, and then do some destructive verification and validation. At last, the tester analyzes and evaluates the test results, track defects, and gradually optimizes to make sure that the software products meet users' needs [7-8]. B. Software Testing Steps

Firstly, draw up the test plan. Software testing should start with software development. Therefore, the software testing team or the engineer should get well acquaintance with the requirement specifications, analysis, design plan and other materials together with software developers, and thus draw up the software test plan. Test plan include the performance and function target clearly.

Secondly, construct the test environment. The testing team should construct the same test environment with actual environment based on the requirement specifications or systems instructions. This time two aspects should be considered: on the one hand, the hardware environment, such as the server, the client, the network bandwidth; on the other hand, software environment, such as the operating system, the database and so on.

Thirdly, execute the test. Test execution process must be determined according to the test plan target, such as the number of concurrent users, disaster recovery ability and so on. Manual or automatic test method are applied in the test Infrastructure-as-a-Service˄IaaS˅

˄Virtual servers, storage and network˅

Software as a service˄SaaS˅ ˄Profession applications, industrial

application˅ Users

Fig.2 Frame Diagram of Cloud Computing Platform as a service˄PaaS˅

(3)

environment, the testers survey the server's response time, the server’s memory, CPU occupancy rate, etc, and determine the performance of the server and software .

Fourthly, analyze the test result and optimize. The testers find and track software bugs, and analyze them, trying to find the problems which may hide in the modules, codes or the system configuration and then clear them. At last testers do some optimization to systems, modules or system configuration.

THE DEFICIENCY OF THE TRADITIONAL TESTING

A. It's Difficult to Obtain Large Scale Computing Power. Sometimes, millions of virtual users should be generated in performance test, which needs large hardware. It's almost impossible to finish the test especially for small and medium enterprise or individual,

B. It's Unaffordable to Purchase the Needed Test Software and Hardware to Create Test environment.

Some professional test software such as Microsoft Test Manager, Loadrunner, QTP, professional database, operating system, etc, are very expensive and update quickly. It's a waste to purchase the software and hardware for a certain Test.

C. It's Complex to Configure Test Environment. Now most of the software system adopts B/S structure. network configuration, enterprise firewall configuration, registry settings, the relationship with other applications and so on. The combination of configuration grows by geometric parameters. Configurations are extremely difficult.

D. It's Difficult to Construct the Test Cases.

Because of the lack of accumulation, traditional testing has to build different test cases for every test, especially in the field of fuzzy testing, safety testing, performance testing which need expert experience.

ADVANTAGES OF CLOUD TESTING Cloud testing [9] is a new type of test method based on cloud computing technology. Cloud testing provider prepares various test platform (software and hardware, operating system, database) and a variety of browser. The user can get the test results by merely presenting test goal and testing environment requirement. Cloud testing has the following advantages:

A. Rapid Response

Cloud testing provider can finish much work such as

hardware and software installation, environment configuration and maintenance, tools configuration, middleware

configuration and so on, It's quick and economical. Generally, through virtualization technology, the cloud testing providers can create a new test environment just in several hours. And if the environment the user required already exists, the user can immediately get it.

B. Saving Money

Users need not to buy expensive test software, operating system and database, etc. They only need to pay a little lease fee.

C. Easier Expansion

Through the virtualization technology, the cloud testing provider can integrate or disassemble the hardware resources and software resources very conveniently in order to adapt to the needs of users.

D. Improving Efficiency

Cloud testing can significantly reduce the time of creating test environment, and when some problems arise in test, the users can obtain the professional and quick services from the cloud testing provider. On the other hand, the accumulation of test cases in the cloud testing center can be easily reused, these greatly improve the efficiency of the cloud testing.

Advantages and disadvantages of the traditional test and cloud test, please see table 1.

Test method Traditional test Cloud test

Large computing power can’t easy

Efficiency low high

Cost(software and hardware) high low Environment configuration difficult low

Extensibility low high

Security and reliability high high

Table.1 Advantages and Disadvantages of the Traditional Test and Cloud test

WHAT TESTS ARE SUITABLE FOR CLOUD TESTING

According to the characteristics of cloud testing, we can see "cloud testing" is good at the following items:

A. Hardware environment test: test the performance of software system in different hardware environment conditions;

B. Automated function test: construct test cases for automatic testing by automated software test tools; C. Software environment test: test the performance of

(4)

software system in different operating system, database, different browsers, and their various versions;

D. The performance test: under a certain pressure, test the performance of software system (including the response time, error rate , memory and CPU consumption rate, etc.);

E. Adaptability test: test the performance of software system in different firewall and anti-virus software, test the reliability and disaster recovery capacity when disaster occurs.



Đ CLOUD TESTING SOFTWARE At present, cloud testing service providers are mainly foreign companies [10]. For example, cloud Testing is a cloud testing platform which can provide a variety of platform and different browsers according to user's demand; Developed by SOASTA company cloud testing features a typical B/S structure, which is able to test any Web applications, covering performance test, function test, regression test, etc.; the kite tools developed by Keynote company provides visual analysis report of server's performance. HP's load runner cloud test software can provide comprehensive test scheme. It can test the efficiency, strength and reliability. In China, some cloud testing service providers also appear in many provinces, such as the professional third party Test service provider----Banmo cloud which launched Allday Test platform for web software test.



THE DEVELOPMENT OF SOFTWARE TEST IN THE CLOUD COMPUTING ENVIRONMENT A. Professional.

"Let professional people do professional thing" is the inevitable trend of the society. Cloud testing platform can not only provide convenience in hardware and software but also provide expert services, including test cases, test data, test automation etc. For example, to test reading the disk data, one program reading different data in many places or many programs reading the same data in one place are easily realized in cloud testing. And the changes of hard disk, RAM, stack are recorded. And after a time, cloud testing center can report the whole test process to test workers without any personnel job.

B. Low Cost.

In cloud testing, users do not need to buy or to prepare many hardware resources, do not need to buy or install various types of test software, also do not need to make complex deployment for test system. What they need to do is submit the basic information of testing purpose, software and

hardware environmental requirements, the number of virtual machine and so on to the cloud testing organizations, and then pay for the rent. The upgrade and maintenance work is completely done by cloud testing providers.

C. Software and Hardware Platform Support

When all people consistently consider there is good prospect of the development of the cloud computing, a problem comes out, i.e. there are public cloud, private cloud, industry cloud, comprehensive cloud… How to select, construct and use cloud computing power effectively? The fast construction and support of soft and hardware is the natural advantage of cloud computing. Cloud testing provider must provide mature, secure renting solutions for clients. A report points out most of the cloud testing potential users are the medium and small enterprises and individual users. Some big companies often build their private cloud because they worry about cloud's elusiveness and security. But for small and medium-sized enterprises, using cloud testing can indeed leave out the construction of software and hardware platform, thus reduce information cost.

D. Bandwidth Promotion

Cloud testing’s success greatly depends on the network environment. So the deep development of cloud testing is restricted by the network bandwidth. Cloud testing center must have enough bandwidth to respond to more service, and to meet the demand of a strict time delay. With the development of society, the network bandwidth will become more and more powerful and its restrictive effect over the cloud testing development will also reduce gradually.

E. The Innovation and Diversification of Paying Method Cloud testing must enable the customers to pay for the needed test service in a flexible, convenient and measurable way. In IaaS, PaaS, SaaS structure, every layer can provide services by the virtualization technology, so the payment mode of the cloud testing must be various. Common payment mode include "according to the bandwidth, according to flow, according to the number of rent hardware, etc". In the future, for the test which only rent the hardware, software or test cases of the cloud testing, payment may be "according to the content of the quantity and difficulty". For the fully outsourcing cloud testing, the payment mode "according to the function point, testing time length, the number of bugs, bandwidth requirements, analysis reports, etc" can be added. Of course, the combination of a variety of payment mode is feasible.

(5)

Ē SUMMARY

Cloud computing is the next key point of information technology in the cloud environment and the applications of information technology will be changed greatly. The effective combination of the software testing and cloud computing technology is not only the innovation of software testing model, but also extension of the cloud computing in the application field. This paper introduces some knowledge of the cloud computing and software testing , expounds the advantages and developing trend of software testing in the cloud computing environment, and provides certain reference for diversifying the software testing method and developing the cloud computing applications.

ACKNOWLEDGMENT This research was supported by the funds from:

Foundation item1˖Construction Funds of Master Degree Awarded Unit of Quanzhou Normal University;

Foundation item2: Fujian university key project construction service routines "The port logistics information platform construction, Haixi prefecture”, Project Number: A103.

Fundation item3: Quanzhou Science and Technology Bureau item fund "The application and research of software testing in quanzhou software industry structure adjustment and upgrade" (item Numbers: 2011 G12);

Fundjation item4: 2011 annual scientific research item of Quanzhou normal university: "data mining of e-government based on data warehouse " (item Numbers: 2011 KJ12);

REFERENCES

[1] Peng Zhenlong, The Top-Level Design Research of E-government Data Center, Journal of Quanzhou Normal University (Natural Science Edition ) 2011, (7), pp. 15-19. [2] Cloud Computing [EB/OL]. [6th Mar,2012].

http://baike.baidu.com/view/1316082.htm

[3] YanGe, A Network Architecture of Laboratory Based on Cloud Computing. Journal of Zhangzhou Normal University (Natural Science Edition), 2011, (3), PP. 25-29. [4] ZhangMiao, Cloud Computing Thrusting a New

Generation Construction of Data Center, Financial Computer of Huanan 2009, (6) : 1.

[5] The Interpretation of Common Seven "Cloud Computing" Application [EB/OL]. [Apr 4th,2010].

http://labs.chinamobile.com/groups/10312_56829 [6] The Global Market Scale of Cloud Computing in 2020

will increases to $241 billion [EB/OL]. [7th Dec,2011]. http://www.askci.com/news/201112/07/163012_24.shtml [7] ZhaoBin. Use only for senior software test

engineer--classic tutorial of software testing technology [M] science press, 2007, (5), 29-46

[8] Mladen A Vouk. Cloud computing-issues, research and implementations [J]. Journal of computing and Information Technology-CIT 16, 2008, (4) : 235-246. [9] cloud test [EB/OL].

[2011-12-23].http://baike.baidu.com/view/2810525.htm [10] Lian YU, Wei-Tek Tsai1, Xiang-ji CHEN, Lin-qing LIU,

Yan ZHAO, Liang-jie TANG, Wei ZHAO. Testing as a Serviceover Cloud [C]. Proceedings of Fifth IEEE International Symposium on Service Oriented System Engineering, 2010:181-188

References

Related documents

109 Meas ure of prostag landin E 2 (PG E 2 ) prod uction by CCD-18 colon fibro blast ce lls stimulated with IL-1 b 3-Hy droxybe nzoic acid ; 4 - hydro xybenoz oic acid; protoc

For different sub-samples of respondents, we estimated binary probit models using trade opinion as the dependent variable, testing for the effects of schooling or the

OPV is no longer being used in routine immunization anywhere, the greatest risks to a polio-free world will be the inadvertent re- introduction of a wild, vaccine-derived or

However, Inukai (1968) documented a massive harvest of about 20,000 sea lions killed with dynamite for skins and food during WWII.. Fre- quently, the author would determine the

Based on the above, the AAR ruled that the capital gains arising on sale of shares of the Indian listed company is not taxable in India as the conditions of Limitation of

A comparison of the two rankings (literacy levels with economic development) indicates that in general districts with higher literacy levels are also among the economically

Constituents: Glycerides of;  Palmitic acid  Stearic acid  Arachidic acid  Oleic acid  Linoleic acid  Linolenic acid Uses:  Nutritive SUNFLOWER OIL

While things may look different this year, NYSSO is committed to making everyone’s experience as safe as possible.With tackle football,flag and cheerleading practices beginning