Information Technology Reference
In-Depth Information
Nonfunctional Testing
Nonfunctional testing is an important part of the overall testing policy as an organiza-
tion moves into the cloud. The main aim of nonfunctional testing is to test software and
applications against a set of nonfunctional requirements such as performance, reliability,
and scalability. Most of the risks associated with the cloud emanate from nonfunctional
requirements not being met or even not being articulated. The areas of proven vulnerability
include performance, security, and disaster recovery.
A plan must be in place to ensure Quality of Service (QoS) for performance and security
and to manage possible disasters. For performance testing, traditional tools and techniques
can be used, and other factors can also be considered, such as, for example, addressing the
surge of sudden loads for an e-commerce website. Similarly, security testing can encompass
checking each layer of the architecture—from presentation to data layer—to plug holes and
mitigate risks.
Cloud service testing must be carried out at multiple levels to ensure that a service
performs the way it is expected when it is stressed:
Performance Testing Isolates issues when the system is tested by increasing the load from
different locations and multiple user operations.
Scalability Testing Tests an application for its capability to scale up or scale out; that is,
what improvement does an application show if resources such as compute power and mem-
ory are added to one node (scale up) or when more nodes are added to the whole system
(scale out)? Scaling up usually tests an application's ability to utilize hardware, and scaling
out tests the ability to parallelize and distribute tasks performed by its processes.
Load Testing Tests application stability when the user count is increased dramatically.
Stress Testing Pushes the system to its limits by introducing two or three times the
expected stress.
Fail-Over testing Tests are conducted under anticipated load with component failure to
check what happens if an already loaded group of machines experiences failure of one of
the nodes.
Latency Testing Measures the latency or delay between issuing a request (action) and
receiving a response.
Browser Testing Tests client browser software applications to list recommended browsers
with minimal issues. This can expose browsers with weak security mechanisms, security
vulnerabilities, and platform incompatibilities.
Security Testing This type of testing is done to check whether it is appropriate to migrate
or design an application to run in the cloud. Application dependencies must also be taken
into consideration because they can deviate from the actual security policy requirements.
Compatibility Testing Tests are conducted on the application to evaluate its compatibility
with the computing environment. This includes hardware and other applications (e.g., browser
compatibility, OS compatibility, database compatibility).
Search WWH ::




Custom Search