Está en la página 1de 14

KEY WORDS

Error, Bug, Fault & Failure:


A person makes an error that creates a fault in software
that can cause a failure in operation.
Error is a human action that generates the incorrect
result that produces a fault.
Bug refers to the presence of errors at the time of
software execution.
Fault refers to the state of software product caused by
an error.
Failure is an event in which software is deviated from
its expected
result.
ERRORFAULTBUGFAILURE

Testing is a process of executing a


program with the intent of finding an error.
VERIFICATION:
Validation
QA
QC.
White box testing
Black-box testing
Grey box testing

Verification (focus on the development process)


Are we building the product right?

Validation
(focus on product quality)
Are we building the right product?
Validation is actual testing

Quality Assurance (QA) is a planned and


systematic set of activities for ensuring quality of
the processes by which products are developed.
It is related with verification
Quality Control (QC) is a set of activities for
ensuring quality of products. The activities focus
on identifying defects in the actual product
produced.
It is related with validation

4.1.1. Testing Fundamentals


What is it?
Once source code has been generated, software must be tested to uncover
(and correct) as many errors as possible before delivery to your customer.
Your goal is to design a series of test cases that have a high likelihood of
finding errors
how?
Thats where software testing techniques enter the picture. These techniques
provide systematic
guidance for designing tests that (1) exercise the internal logic of software
components,
and (2) exercise the input and output domains of the program to uncover
errors in program function, behavior. and performance.
Who does it?
During early stages of testing, a software engineer performs all tests.
However, as the
testing process progresses, testing specialists may become involved.
Why is it important?
Reviews and other SQA activities can and do uncover errors, but they are not
sufficient.
In order to find the highest possible number of errors, tests must be conducted
systematically
and test cases must be designed using disciplined techniques.

4.1 .1 TESTING FUNDAMENTALS


Testing presents an interesting anomaly for the
software engineer.
During earlier software engineering activities, the
engineer attempts to build software from an
abstract concept to a tangible product.
Now comes testing. The engineer creates a series
of test cases that are intended to "demolish" the
software that has been built.
In fact,testing is the one step in the software
process that could be viewed (psychologically,at
least) as destructive rather than constructive.

Testing Objectives
In an excellent book on software testing, Glen Myers
[MYE79] states a number of rules that can serve
well as testing objectives:
1. Testing is a process of executing a program
with the intent of finding an error.
2. A good test case is one that has a high
probability of finding an as-yet undiscovered
error.
3. A successful test is one that uncovers an asyet-undiscovered error.
Validate the quality of software using the minimum
time, cost and efforts.

Testing principles:
Following are the basic principles of testing which every
software engineer must follow before applying methods to
design test cases.
All tests should be traceable to customer requirements.
Tests should be planned long before testing begins.
The Pareto principle applies to software testing. i.e., 80
percent of all errors uncovered during testing will likely be
traceable to 20 percent of all program modules.
Testing should begin in small and progress towards in
large. i.e., from module level testing towards the entire
system testing.
Exhaustive testing is not possible.
The tests should be conducted by an independent third
party for the test to be more effective.

Testing Life-Cycle

Software testing starts from the requirement phase in


software development lifecycle.
It helps to verify that all requirements are implemented in
the right way.
It identifies the defects and ensures that they are addressed
before software deployment.
It exhibits effective testing. i.e., if a testing function appears
to be working according to the specification, that behavioral
and performance requirement appear to have been met.
Data collection as testing is conducted to provide a good
indication of software reliability and some indication of
software quality as a whole.
When any system is developed in different components, it
helps to verify the inter action or integration of each
component to rest of the system.

Verification & validation (V&V):


Verification is a process confirming that, software meets its
specification, done through inspections and walkthroughs.
It is used to identify defects early in the lifecycle.
Validation is a process of confirming that, software meets the
users requirements.
It is the actual testing.
The words verification and validation are sometimes
preceded with the term independent.
Independent verification and validation can be abbreviated
as IV & V.
The V&V is to be performed by an unbiased third party i.e., an
entity outside the Project sphere of influence.

Quality Assurance (QA)

Quality Control (QC)

It is a planned and systematic set of activities for


ensuring quality in the processes by which
products are developed.

It is a set of activities carried out for ensuring


quality of products. The activities focus on
identifying defects in the actual product
produced.

It is a proactive quality process which aims to


prevent defects on the process used to make the
product.

It is a reactive process which aims to identify and


correct defects in the finished product.

The goal is to improve development and test


processes so that defects do not arise when the
product is being developed.

The goal is to identify defects after a product is


developed and before it is delivered to the
customer.

It is a managerial tool and is process oriented

It is a corrective tool and is product oriented

It is the process of managing quality

It is used to verify the quality of the product


output.

Everyone in the team is involved in developing


the product is responsible for quality assurance.

Testing team who tests the product for defects is


responsible for quality control.

It identifies weakness in the processes to improve


them.

It identifies defects in the product to be fixed.

It is a subset of software test life cycle (STLC)

It can be considered as a subset of quality


assurance

e.g.: Verification

e.g.: validation/software testing

También podría gustarte