Physical Architecture Layer Design Chapter 13

advertisement
Physical Architecture Layer Design
Chapter 13
Testing is rather weak in this text, p 467 to 774– not
enough so some additional material is provided.
Slide 1
Types of Testing
Unit Testing
Integration Testing
System Testing
Acceptance Testing
Slide 2
Unit Testing
According to Wiki:
In computer programming, unit testing is a procedure used to
validate that individual units of source code are working
properly.
A unit is the smallest testable part of an application.
In procedural programming a unit may be an individual
program, function, procedure, etc., while in object-oriented
programming, the smallest unit is a method; which may belong
to a base/super class, abstract class or derived/child class.
Ideally, each test case is independent from the others; mock
objects and test harnesses can be used to assist testing a
module in isolation.
Unit testing is typically done by developers and not by endusers.
Slide 3
Unit Testing
In Wiki, we note the latest definition of unit testing.
While the text talks about the smallest unit as a class,
testing the class simply means testing each of the
methods.
There are two approaches to unit
(methods in a class) testing.
Black Box Testing
 White Box Testing

Slide 4
Unit Testing
Black Box Unit Testing
inputs
Black Box
(method)
outputs
A black box test (sometimes called a "functional
test") is one in which you feed it inputs and
verify the outputs without being able to inspect
the internal workings.
Slide 5
Unit Testing
Black Box Unit Testing
inputs
Black Box
(method)
outputs
We did black box testing on our use cases
with our functional tests. But black box
testing of units are tested differently since
each method is tested independently.
Slide 6
Unit Testing
Black Box Unit Testing
inputs
Black Box
(method)
outputs
In Black Box (BB) Unit testing error handling is
not usually considered. It is not considered if
you are executing all the paths thru the code.
The BB test only tests that known inputs
result in known outputs.
Slide 7
Unit Testing
Black Box Unit Testing
inputs
Black Box
(method)
outputs
In Black Box (BB) Unit testing the code in the
method is black, not seen and thus not tested
as code just as a function that yields a result.
Slide 8
Unit Testing
White Box Unit Testing
inputs
White Box
(method)
outputs
A white box tests is white and you can clearly
see the actual code. White box tests has the
knowledge needed to test all the possible
pathways in the actual code. This includes
not only correct inputs, but incorrect inputs,
testing error handling procedures.
Slide 9
Unit Testing
White Box Unit Testing
inputs
White Box
(method)
outputs
White box testing has the ability to inspect the
internal state of the code at different times.
White box testing is needed on critical
methods and when methods are very
complex.
Slide 10
Integration Testing
According to Wiki:
Integration testing (sometimes called
Integration and Testing, abbreviated
I&T) is the phase of software testing in
which individual software modules are
combined and tested as a group. It
follows unit testing and precedes system
testing.
Slide 11
Integration Testing
According to Wiki: (cont)
Integration testing takes as its input
modules that have been unit tested,
groups them in larger aggregates,
applies tests defined in an integration
test plan to those aggregates, and
delivers as its output the integrated
system ready for system testing.
Slide 12
Integration Testing
Types of Integration Testing
User Interface Testing
Use-Case Testing
Interaction Testing
System Interface Testing
Slide 13
Integration Testing
User Interface Testing
The User Interface Tests assure that
the user interfaces operate correctly.
User Interface Application Testing
Test each window – right click and perform
those functions avail, try all menus
Test each component
Test navigation using Navigation matrix
Slide 14
Integration Testing
Use-Case Testing
Use Case Testing is done in
conjunction with user interface
testing traversing thru the use
case assuring all the navigation
and functionality exist.
Slide 15
Integration Testing
Interaction Integration Testing
Interaction testing test each use case to
assure it performs as the sequence diagram
dictates, that all the functions are called, all
updates are done.
It verifies the behavior of the unit being
tested – beginning with the method if it
interacts with other classes, assuring all use
cases interact correctly, assuring all packages
are correct, etc.
Slide 16
Integration Testing
System InterfaceTesting
System Interface Testing assures that data
that is shared with other systems including
the database system is transferred correctly.
Slide 17
System Testing
Types of System Testing
Requirements Testing
Usability Testing
Security Testing
Performance Testing
Documentation Testing
Slide 18
System Testing
Requirements Testing
While developers performed Unit and
Integration Testing, Users now need to test
the requirements of the use cases using their
functional tests they developed when writing
the use case descriptions.
Slide 19
System Testing
Usability Testing
These test are typically done by an human
computer interface specialist, if done at all.
It simply test the usability of the system.
Slide 20
System Testing
Security Testing
Security Testing assures no unauthorized
accesses are possible
Test the back up procedure ( if things go
down do we have back ups for our data,
processes, programs, code, etc.)
Test the recovery procedure (can we use our
backups to recover).
Slide 21
System Testing
Performance Testing
Investigates peak times to assure the system
will operate well under stress conditions.
Slide 22
System Testing
Documentation Testing
Test the accuracy of the documentation such
as user manuals, help links, etc.
Slide 23
Download