Information Technology Reference
In-Depth Information
Deployment Testing and Monitoring
Testing is a critical part of the software development life cycle, perhaps even more so for
cloud applications. During the cloud application development process, it is best to do as much
testing as possible by using local compute instances and storage. The developers should run
unit and ad hoc tests to ensure that the components perform as they are intended. Although
the local unit testing environment might not represent the challenges of the cloud environ-
ment, it does help to eliminate most of the errors and bugs and introduces the practice of
clean production provisioning.
Once done with the unit and ad hoc testing, the development team should deploy
the application only to the cloud test environment. The cloud test environment can be a
pseudo-cloud setup. The testing is necessary to check the behavior of the final test version
of the application. If the application performs as expected and passes the quality control
(QC) checks, the administration team can then approve deployment to the production
environment.
During the testing phase, the application connects to a test database running in the
test environment. This helps the developers and testers to develop and test according to a
managed data set that depends on different types of data that can be accepted and their
size and repetition. The following sections describe some features for safe and effective
cloud application testing.
Test Deployment in a Staging Environment
Organizations can have separate deployments of the test and production environments in
the cloud. This helps in maintaining segregation between the two because test environments
tend to change quickly. This also helps to manage costs and leverage instances as and when
needed. With a separate test environment, the organization can choose to minimize the costs
by cutting down on the instances. This can be a fast process because the organization does
not need to worry about the consequences on performance of the production cloud.
Functional Testing
Functional testing is a quality assurance (QA) process that tests the specifications of the
application.
Black-Box Testing The idea is to check what the application does, its functionality,
without peeking into its internal implementation (white-box testing). The testing can be
applied to any level of software testing: unit, integration, system, and acceptance. Usually
input is provided to the test subject, which gives an output. The output is then matched
against the expected output.
White-Box Testing This type of testing tests an application for its internal workings
and structures as opposed to its functionality (black-box testing). The tests are designed
to exercise paths through the code and determine appropriate outputs. White-box testing
designs include control flow testing, data flow testing, branch testing, path testing, state-
ment coverage, and decision coverage.
Search WWH ::




Custom Search