Professional Documents
Culture Documents
Testing
▪ There are two basic approaches to testing:
functional and structural.
2
▪ Due to its nature, functional testing is often
called “black box testing.” In the structural
approach, test cases are generated based on the
actual code of the program or module to be
tested. This structural approach is sometimes
called “glass box testing”
3
Software Testing – What is
Software Testing?
Characteristics of Software
Test.
▪ Errors prevent software from producing outputs
according to user requirements. They occur if
some part of the developed system is found to
be incorrect, incomplete, or inconsistent. Errors
can broadly be classified into three types,
namely, requirements errors, design errors, and
programming errors.
5
▪ To avoid these errors, it is necessary that:
requirements are examined for conformance to user
needs, software design is consistent with the
requirements and notational convention, and the
source code is examined for conformance to the
requirements specification, design documentation
and user expectations. All this can be accomplished
through efficacious means of software testing.
6
▪ The activities involved in testing phase basically evaluate the
capability of the developed system and ensure that the system
meets the desired requirements. It should be noted that testing
is fruitful only if it is performed in the correct manner.
Through effective software testing, the software can be
examined for correctness, comprehensiveness, consistency and
adherence to standards. This helps in delivering high-quality
software products and lowering maintenance’ costs, thus
leading to more contented users.
7
Software Testing Basic
10
▪ Software testing is performed either manually or
by using automated tools to make sure that the
software is functioning in accordance with the
user requirements.
11
advantages associated with testing are listed
below.
▪ It removes errors, which prevent software from producing
outputs according to user requirements.
▪ It removes errors that lead to software failure.
▪ It ensures that the software conforms to business as well as
user’s needs.
▪ It ensures that the software is developed according to user
requirements.
▪ It improves the quality of the software by removing maximum
possible errors from it.
12
Differentiate
Between Error,
Fault and Failure
▪ Fault is a condition that causes a system to fail
in performing its required function. A fault is the
basic reason for software malfunction and is
synonymous with the commonly used term bug.
14
▪ Failure is the inability of a system or component
to perform a required function according to its
specifications. A software failure occurs if the
behavior of the software is different from the
specified behavior.
15
▪ The term error is used in two different ways. It
refers to the discrepancy between a computed,
observed, or measured value and the true,
specified, or theoretically correct value. That is
error refers to the difference between the actual
output of software and the correct output.
16
Errors can be present in the software due to the
following reasons.
17
Errors can be present in the software due to the
following reasons.
18
Errors can be present in the software due to the
following reasons.
19
Errors can be present in the software due to the
following reasons.
20
Errors can be present in the software due to the
following reasons.
21
Errors can be present in the software due to the
following reasons.
22
Guidelines of
Software Testing
Define the expected output:
25
Include test cases for invalid and unexpected
conditions:
27
Testability
Testability
29
CHARACTERISTICS OF TESTABILITY
30
CHARACTERISTICS OF TESTABILITY
31
CHARACTERISTICS OF TESTABILITY
32
CHARACTERISTICS OF TESTABILITY
34
Characteristics of
Software Test
There are several tests (such as unit and integration) used for testing the
software. Each test has its own characteristics. The following points,
however, should be noted.
Characteristics of Software Test
36
Characteristics of Software Test
37
Characteristics of Software Test
38
Characteristics of Software Test
39
Software Testing
Strategies
▪ A testing strategy is used to identify the levels
of testing which are to be applied along with the
methods, techniques, and tools to be used during
testing. This strategy also decides test cases, test
specifications, test case decisions, and puts them
together for execution.
41
▪ Developing a test strategy, which efficiently
meets the requirements of an organization, is
critical to the success of software development
in that organization. Therefore, a software
testing strategy should contain complete
information about the procedure to perform
testing and the purpose and requirements of
testing. 42
▪ The choice of software testing strategy is highly
dependent on the nature of the developed
software.
43
Generally, all testing strategies have following
characteristics.
▪ Testing proceeds in an outward manner. It starts from testing
the individual units, progresses to integrating these units, and
finally, moves to system testing.
▪ Testing techniques used during different phases of software
development are different.
▪ Testing is conducted by the software developer and by an ITG.
▪ Testing and debugging should not be used synonymously.
However, any testing strategy must accommodate debugging
with itself.
44
Types of Testing
Types of Testing
▪ Inspection
▫ A testing technique in which participants examine program code
for predictable language-specific errors
▪ Walkthrough
▫ A peer group review of any product created during the systems
development process; also called a structured walkthrough
▫ review many systems development deliverables, including
logical and physical design specifications as well as code
Walkthrough scenerio
▪ Desk Checking
▫ A testing technique in which the program code is sequentially
executed manually by the reviewer
What the code does is important in desk checking, an informal process in which the
programmer or someone else who understands the logic of the program works
through the code with a paper and pencil. The programmer executes each
instruction,using test cases that may or may not be written down. In one
sense, the reviewer acts as the computer, mentally checking each step and its
results for the entire set of computer instructions.
Types of Testing
▪ Unit Testing
▫ Each module is tested alone in an attempt to discover any errors
in its code, also called module testing
▪ Integration Testing
▫ The process of bringing together all of the modules that a
program comprises for testing purposes. Modules are typically
integrated in a top-down, incremental fashion
▪ Current practice calls for a top-down approach to writing and testing
modules. Under a top-down approach, the coordinating module is
written first. Then the modules at the next level in the structure chart
are written, followed by the modules at the next level, and so on, until
all of the modules in the system are done. Each module is tested as it
is written. Because top-level modules contain many calls to
subordinate modules, you may wonder how they can be tested if the
lower-level modules haven’t been written yet.
Types of Testing
▪ Stub Testing
▫ A technique used in testing, especially where modules are
written and tested in a top-down fashion, where a few lines of
code are used to substitute for subordinate modules
▪ System Testing
▫ Requirements testing
▫ Usability testing
▫ Security testing
▫ Documentation testing
▪ System testing is more than simply expanded
integration testing where you are testing the
interfaces between programs in a system rather
than testing the interfaces between modules in a
program. System testing is also intended to
demonstrate whether a system meets its
objectives.
▪ To verify that a system meets its objectives,
system testing involves using nonlive test data
▪ Nonlive means that the data and situation are
artificial, developed specifically for testing
purposes, although both the data and the
environment are similar to what users would
encounter in everyday system use.
How to maintain
Information
Systems
Software maintenance prediction
55
How to organization's information is stored
depends on the following:
59
How to organization's information is stored
depends on the following:
virus.
How to organization's information is stored
depends on the following:
62
How to organization's information is stored
depends on the following:
63