Вы находитесь на странице: 1из 10

VERIFICATION & VALIDATION

Verification - typically involves reviews and meeting to


evaluate documents, plans, code, requirements, and
specifications. This can be done with checklists, issues
lists, walkthroughs, and inspection meeting.
Validation - typically involves actual testing and takes
place after verifications are completed.

Validation and Verification process continue in a


cycle till the software becomes defects free.

Unit Testing is testing process where individual units/components of a


software/system are tested. The purpose is to validate that each unit of the
software performs as designed.
Integration Testing is a level of the software testing process where individual
units are combined and tested as a group. The purpose of this level of testing is
to expose faults in the interaction between integrated units.
System Testing is a level of the software testing process where a complete,
integrated system/software is tested. The purpose of this test is to evaluate the
systems compliance with the specified requirements.
Acceptance Testing is a level of the software testing process where a system is
tested for acceptability. The purpose of this test is to evaluate the systems
compliance with the business requirements and assess whether it is acceptable
for delivery.

Incremental testing:Another extreme is that all


programmers are integrated one by one, and a
test is carried out after each step.
The incremental approach has the advantage
that the defects are found early in a smaller
assembly when it is relatively easy to detect
the cause.
Top down: Testing takes place from top to
bottom, following the control flow or
architectural structure (e.g. starting from the
GUI or main menu). Components or systems
are substituted by stubs.
Bottom up: Testing takes place from the
bottom of the control flow upwards.
Components or systems are substituted by
drivers.
A disadvantage is that it can be timeconsuming since stubs and drivers have to be
developed and used in the test.
Within incremental integration testing a range
of possibilities exist, partly depending on the
system architecture:

-Non increamental integration testing is


otherwise called a
as 'Bing-Bang' approach.
-Bing-bang approach is testing at a go by
combining all the
modules at a time.

ALPHA TESTING
This test is the first stage of testing and will be performed amongst the
teams (developer and QA teams). Unit testing, integration testing and
system testing when combined are known as alpha testing. During this
phase, the following will be tested in the application:
Spelling Mistakes
Broken Links

BETA TESTING
This test is performed after Alpha testing has been successfully
performed. In beta testing a sample of the intended audience tests the
application. Beta testing is also known as pre-release testing. Beta test
versions of software are ideally distributed to a wide audience on the
Web, partly to give the program a "real-world" test and partly to
provide a preview of the next release. In this phase the audience will be
testing the following:
Users will install, run the application and send their feedback to the
project team.
Typographical errors, confusing application flow, and even crashes

Regression testing The selective retesting of


a software system that has been modified to
ensure that any bugs have been fixed and that
no other previously working functions have
failed as a result of the reparations and that
newly added features have not created
problems with previous versions of the
software.

Black box testing - takes an external perspective of the test object to derive test cases.. Tests are
based on requirements and functionality. There is no need of programming to run this test
White box testing This testing is based on knowledge of the internal logic of an applications
code. Also known as Glass box Testing. Internal software and code working should be known for
this type of testing. Tests are based on coverage of code statements, branches, paths,
conditions.
Unit testing Testing of individual software components or modules. Typically done by the
programmer and not by testers, as it requires detailed knowledge of the internal program design
and code. may require developing test driver modules or test harnesses.
Incremental integration testing Bottom up approach for testing i.e continuous testing of an
application as new functionality is added; Application functionality and modules should be
independent enough to test separately. done by programmers or by testers.
Integration testing Testing of integrated modules to verify combined functionality after
integration. Modules are typically code modules, individual applications, client and server
applications on a network, etc. This type of testing is especially relevant to client/server and
distributed systems.

Acceptance Testing is a level of the software


testing process where a system is tested for
acceptability.
The purpose of this test is to evaluate the
systems compliance with the business
requirements and assess whether it is
acceptable for delivery.
TEST PLAN DEFINITION
A Software Test Plan is a document describing
the testing scope and activities. It is the basis
for formally testing any software/product in a
project. It is a record of the test planning
process.

TEST CASE - A specific


executable test that examines all aspects
including inputs and outputs of a system and
then provides a detailed description of the
steps that should be taken, the results that
should be achieved, and other elements that
should be identified.

Test coverage
Test coverage in the test plan states what
requirements will be verified during what
stages of the product life. Test Coverage is
derived from design specifications and other
requirements, such as safety standards or
regulatory codes, where each requirement or
specification of the design ideally will have one
or more corresponding means of verification.
Test methods
Test methods in the test plan state how test
coverage will be implemented. Test methods
may be determined by standards, regulatory
agencies, or contractual agreement, or may
have to be created new

Test responsibilities
Test responsibilities include what organizations
will perform the test methods and at each
stage of the product life. This allows test
organizations to plan, acquire or develop test
equipment and other resources necessary to
implement the test methods for which they
are responsible.
Test plan identifier
Test deliverables
Introduction
-Test tasks
Test items
Environmental needs
Features to be tested
Responsibilities
Features not to be tested
Staffing and training needs
Approach Schedule
Item pass/fail criteria
Risks and contingencies
Suspension and resumption criteria Approvals

Stub

A piece of code that simulates


the activity of missing
components.

Driver

A piece of code that passes


test cases to another piece of
code

Tests the most important subsystem last

Conventional testing is the traditional approach to testing


mostly done when water fall life cycle is used
while object oriented testing is used when object oriented analysis and design is
used
Conventional testing focuses more on decomposition and functional approaches
object oriented testing uses composition.
The three levels of testing (system, integration, unit) used in conventional testing
is not clearly defined when it comes to object oriented testing. The main reason
for this is that OO development uses incremental approach, while traditional
development follows a sequential approach. In terms of unit testing, object
oriented testing looks at much smaller units compared to conventional testing.

Вам также может понравиться