Testing

Technical adviser: Danny Zadok, [email protected]
Technical adviser: Dr. Yuval Elovici, [email protected]
Project team: Amir Patoka,[email protected]
Arie Kozak, [email protected]
Ron Cohen, [email protected]
:
‫תוכן עניינים‬
TESTING FUNCTIONAL REQUIREMENTS……………………. .......................................................................... 3
HOME AGENT ………………………..……………………….. ........................................................................... 3
MOBILE
NODE…………………………………………………………………………………………………………………………………….ERROR!
BOOKMARK NOT DEFINED.
HOMEAGENT MONIOTOR ……………………………………………………….. .............. ERROR! BOOKMARK NOT DEFINED.
TESTING NON-FUNCTIONAL REQUIREMENTS……………………………………………………….. .................................. 5
HOME AGENT ……………………………………………..………….. ................................................................... 5
MOBILE NODE………………………………………………….……….. .................................................................. 6
HOME AGENT MONITOR……………………………………………………….…. ............. ERROR! BOOKMARK NOT DEFINED.
TEST-DRIVEN DEVELOPMENT…………………………………………………..……….. ............................................... 8
RANDOM & AUTOMATICALLY-GENERATED TESTS……………………………………………………….. ............................. 8
TESTING THE USER INTERFACE………………………………………………………….. ................................................. 8
TESTING BUILD, INTEGRATION & DEPLOYMENT…………………………………………………………….. .......................... 8
1. Testing functional requirements
1.1. Home Agent
For testing Mobile Node and Home Agent conversations we will use network
monitoring tool (WireShark) that will show the content of all the packets send and
received from HA/MN.
Since most of information regarding HA (active bindings, registration requests log,
etc.) is kept in Database, we can use this information to validate tests as well.
Test Purpose
Check if Home
agent is able to
send legal
Registration
Replies.
Test Process
Monitoring
packets (content
including flags)
with network
monitoring tool.
Input Data
Send
registration
request to HA
Expected Result
The format of replies is correct.
Check if
Mobility
bindings at a
home agent is
aged
periodically and
deleted when
the lifetime
drops to zero.
Disable
registered
Mobile Node
(for IPinIP) for
the needed
period and see if
it continues to
be available at
its Home IP.
Registration
replies are not
sent to the HA
for at least
registration
expiration
timeout.
Binding in the Home agent aged is
deleted when the lifetime drops
to zero.
Check if Home
agent is able to
send legal
Advertisements.
Use network
monitoring tool.
Send
solicitation to
the HA
The format of advertisements is
correct (can be verified using
WireShark).
Check if tunnels
are established
correctly after
binding with
MN is created
Use network
monitoring tool.
Create binding.
Send pings to
HA.
The ping must be duplicated for
each binding with MN and
encapsulated correctly.
1.2. Mobile Node
Test Purpose
Check if Mobile
node is reachable at
its home address
irrespective of its
current location.
A mobile node must
send out an agent
solicitation when it
starts up.
Check if while the
MN moves to a new
network it initiates
registration.
Check if the MN
time out
unanswered
registration
requests and
retransmit them.
Mobile Node must
send solicitation
when it first gets
up. If HA is around
it must get and
Advertisement from
HA.
Check if Mobile
Node periodically
re-registers himself.
Check if Mobile
Test Process
Input Data
Expected Result
Network
monitoring tool.
Ping the mobile
node's Home
Address
continuously.
Ping has reached MN.
Network
monitoring tool.
Restart MN
Valid solicitation is sent.
Movement to a
new network can
be simulated by
connecting a cable
to a different
network.
Registration
request and replay
packets can be
recognized by
monitoring
network tool.
Temporary disable
Home Agent and
use stopper and
network
monitoring tool to
identify
retransmission.
Network
monitoring tool.
Disconnect MN
from one network
and connect to
another
Valid registration request is
sent.
Stop from MN
getting
registration
replies.
Valid registration request is
sent continuously each time
after certain timeout.
Restart/reconnect
MN to the Home
Network.
Advertisement is sent by HA.
Network
monitoring tool
and stopper.
Use network
Initiate binding
with HA.
Registration request is sent
each time after lifetime
expiration timeout.
ARPs are sent.
Connect MN to
Node sends
gratuitous ARP
when returning
Home.
monitoring tool.
Home Network.
1.3. Home Agent Monitor
The GUI application is part of the HA. The acceptance tests for this
module will be done manually as part of the HA tests.
The GUI application only shows data from sql server.
2. Testing non-functional requirements
2.1
Home Agent
Test Purpose
Check if Home
agent recovery in
less than one
minute in case of
failure.
Check if the
System is reliable
99.99% of the
time.
Check if the Home
agent supports
1000 mobile
nodes.
Test Process
Input Data
Use a debug version Cause HA to
and look in the logs fail.
Expected Result
HA restarts fast
enough.
for the recovery
time.
Use a debug version
and look in the logs.
Connect MN
to different
networks and
resend
different
media.
No bugs happen.
Monitor HA’s
traffic.
Send a 1000
registration
request
representing
1000 different
mobile nodes
Nothing crushes.
from a stub
client and ping
them all.
2.2
Mobile Node
Test Purpose
Check if the
System is
reliable 99.99%
of the time.
Check if
registration /
de-registration
takes less than
1sec + network
latency.
Check if Packet
transmission
takes less than
10msec +
network
latency.
Test Process
Use a debug version
and look in the logs.
Use a debug version
and look in the logs
for registration start
process time and
end process time
and compare it with
ping delays
between mobile
node and home
agent.
Use a debug version
and look in the logs
for transmission
time of ping
messages end
receive time of ping
Input Data
Streaming
movie or ftp
connection.
Expected Result
No bugs happen.
Registration is fast
enough.
Send
continuous
pings.
Using Mobile IP
doesn’t slow down
packet
transmission more
then mentioned.
Check if packet
loss is not
exceeding
more than 2%
of the original.
2.3
replies and
compare it with
ping delays
between mobile
node and a remote
node without our
system.
Monitor the packet
loss in a session
with remote
application with or
without our system,
with the help of a
network monitoring
tool.
Send
continuous
pings or
some
media.
Packet loss doesn’t
exceeds specified.
Home Agent Monitor
Test Purpose
Check if the
System is
reliable 99.99%
of the time.
Check if
registration /
de-registration
shown in less
than 1sec +
network
latency.
Test Process
Use a sql debugger
and log files.
Input Data
Streaming
movie or ftp
connection.
Expected Result
No problems
happen.
Check the gui for
update time.
Send
registration
requests.
Success.
3. Test-Driven Development
We didn’t use TDD during our development, since the development was
mostly low-level; and TDD doesn’t fit very well developing drivers, since
it is hard to impossible to make automatic tests.
4. Random & automatically-generated tests
None.
5. Testing the user interface
Our project is more about low-level driver and networking
development, almost excluding GUI components. The minimum GUI
that was designed is tested together with the rest of the components –
with manual tests: whether it looks understandable / displays all
required information.
6. Testing build, integration & deployment
6.1 Home Agent
The development of the home agent is done in Visual studio under Windows XP.
6.2 Mobile Node
The development of the mobile nod is done in Visual studio under Windows XP.
6.3 Home Agent Monitor
The development of the home agent monitor is done in netbeans under Windows XP.
The integration and deployment were done on a system that simulates real world usage, comprised
of four components:
-
Agent: a computer running the home agent and home agent monitor.
Mobile: a computer running the mobile node with the ability to simulate concurrent
connection through different ISP's.
-
Client: a computer running the remote application (FTP, video streaming) which the Mobile
should interact with.
Router: a component that responsible to simulate the internet medium through which all
other components communicates to one another.