Cyclomatic
complexity measures the amount of decision logic in a single software
module. It is used for two related purposes in the structured testing
methodology. First, it gives the number of recommended tests for software.
Second, it is used during all phases of the software lifecycle, beginning with
design, to keep software reliable, testable, and manageable. Cyclomatic
complexity is based entirely on the structure of software’s control flow graph.
The
sequence of testing is
a.
Unit testing: Unit
testing is undertaken after a module has been coded and successfully
reviewed. Unit testing (or module testing) is the testing of different units
(or modules) of a system in isolation.
b. Integration testing: The
primary objective of integration testing is to test the module interfaces,
i.e. there are no errors in the parameter passing, when one module invokes
another module. During integration testing, different modules of a system are
integrated in a planned manner using an integration plan. The integration plan
specifies the steps and the order in which modules are combined to realize the
full system. After each integration step, the partially integrated system is
tested.
c. System
testing: System tests are designed to validate a fully developed
system to assure that it meets its requirements.
There
are three main kinds of system testing
1. Alpha Testing: Alpha
testing refers to the system testing carried out by the test team within
the developing organization.
2. Beta testing: Beta
testing is the system testing performed by a select group of friendly customers.
3. Acceptance Testing: Acceptance
testing is the system testing performed by the customer to determine
whether he should accept the delivery of the system.
Software
testability is the degree to which a software artifact
(i.e. a software system, software module, requirements- or design
document) supports testing in a given test context.
Testability
is not an intrinsic property of a software artifact and cannot be measured
directly. Instead testability is an extrinsic property which results from
interdependency of the software to be tested and the test goals, test methods
used, and test resources.
A lower degree of testability results in increased test
effort. In extreme cases a lack of testability may hinder testing parts of the
software or software requirements at all.
No comments:
Post a Comment