Testing and Evaluation

coldwaterphewΔιακομιστές

17 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

99 εμφανίσεις

Testing and Evaluation

This section will cover the testing and evaluation of the system, specifically
the backend component. The other system components will be tested by Mark
and
Tshifhiwa
. Detailed below is the test plan that will be used to evaluate
how

well the system achieves the requirements. Testing will involve both
white box testing, where the test cases are based on internal structure and
seek to test the different paths in a program, and black box testing where
input is given and the output teste
d for correctness.

Test Plan


1. Objectives

The objective of this test p
lan is to provide a description of the tests that will be done
to measure the systems compliance with the original project specifications. These
specifications include fulfilling the f
eatures detailed in the design chapter, handling of
multiple users at once as well as providing a stable and reliable system

under extreme
load
.

2. Scope

The tests will cover what was described above, with the focus being on testing the
backend server fun
ctionality and performance. The other components of the system
will be tested by their respective programmers.

3.
Hardware and Software Requirements

The
Server component

is comprised
of




Intel Pentium
4 3.0GHZ 512MB RAM
, Machine Name:
Gauss
.cs.uct.ac.za, N
etwork connection required.




These are the following software requirements:



Server



Windows XP with SP2 and running an Apache Tomcat Server.



Database:


MySQL




4
. Requirements Traceability

In this subsection
it will be shown what will be tested
. The

key areas of importance to
the backend are tested, Database integrity in terms of allowing multiple read and
writing at once. System testing to determine that the system does implement the
required features. Business Cycle testing to verify that operation
s related to the life
cycle of the system are correct. Performance testing is done to test the response time
of the system under a normal and abnormal load, important for communicating with
the Web and mobile interfaces as if the response time is too high

the requests will
time out. Load and Stress testing will be done to ensure that the system can handle the
theoretical traffic it would receive in production. Finally security and access control
will be tested to ensure correctness.

Data and Database Integ
rity Testing

The testing of data integrity is important due to certain records being shared among multiple
users, such as Lists and Items.

Verify simultaneous record read accesses.

Verify
simultaneous record updates

System Testing

Verify
a new user can be
created

-

System Use Case
.

Verify
a user can login

-

System Use Case

.

Verify
a u
ser
can c
reate
a l
ist
-

System Use Case

.

Verify
a u
ser
can add i
tems to
a l
ist
-

System Use Case
.

Verify
a u
ser
can c
heckout

an i
tem
-

System Use Case.

Verify
a user can d
ele
te

an i
tem
-

System Use Case.

Verify
a u
ser
can c
reate
a r
eminder as

an

item


System Use Case.

Verify
a u
ser
can d
elete
a l
ist


System Use Case.

Verify
a u
ser
can add a

layout to a shop
-

System Use Case.

Verify
a user can sort a List by n
ame
-

System Us
e Case.

Verify a user can sort a list by l
ayout
-

System Use Case.

Verify
a user can logout the system

-

System Use Case.

Business Cycle Testing

Verify
that reminders are shown when they are within their notificaton period

Verify
that updates to a list o
r shop are shown


Verify
that reminder are deleted when they

expire

Verify
that u
sers
are logged out when the
login period expires


Performance Testing

Verify response time
for login by Web interface.

Verify response time for login by Mobile interface.

Ver
ify response time to
access items in a list.

Verify response time for
sorting a list by item name.

Verify response time for sorting a list by shop layout.

Load Testing

Verify sy
stem response when loaded with 2
00 logged on
users.

Verify system response when

loaded with an additional 500 logged on users.

Verify system response when 50 simultaneous

users access the same list.

Verify system response when 50 simultaneous users try to sort the same list in a random
manner.

Stress Testing

Verify system response du
ring maximum
user logins.

Security and Access Control Testing

Verify Logon security through user name and password mechanisms.

Verify List A
ccess control by trying to add and
delete an item without permission.

5.
Test Strategy


5.
1.
Data and Database Inte
grity Testing

Test Objective:

Ensure multiple objects can read the same record

Technique:



Invoke
multiple database access methods
simultaneously

using a test script


Completion Criteria:

All database access methods allow simultaneous access of
records


Test Objective:

Ensure multiple objects can
update the same record

Technique:



Invoke multiple database
update

methods
simultaneously

using a test script


Completion Criteria:

All database

update

methods allow simultaneous
updates

of
records


5.
2.
System

Testing


Test Objective:

Ensure proper application navigation, data entry,
processing, and retrieval.

Technique:



Execute each use case, use case flow, or function,
using valid and invalid data, to verify the
following:



The expected results occur when va
lid data is used.



The appropriate error / warning messages are
displayed when invalid data is used.



Each business rule is properly applied.


Completion Criteria:



All planned tests have been executed.



All identified defects have been addressed.


5.
3.
B
usiness Cycle Testing



Test Objective

Ensure proper application and background processes
function according to required business models and
schedules.

Technique:



Reminders will be added so that their notification
date and the notification period are such

that they
will show up
.





Reminders will be added so that their notification
date and the notification period are such that they
will not show up.




Reminders will be added so that their notification
date has expired



A users login time will be set so that

they will be
logged off.

Completion Criteria:



All planned tests have been executed.



All identified defects have been addressed.




5.4
.
Performance Testing



Test Objective:

Validate System Response time for designated transactions
under a the followin
g two conditions:

-

normal anticipated volume

-

anticipated worse case volume

Technique:



Use test scripts written to simulate user loads and
requests.



Increase the number of user making requests


Completion Criteria:



Single Transaction / single user: S
uccessful
completion of the test scripts without any failures
and within the expected / required time allocation
(per transaction)



Multiple transactions / multiple users: Successful
completion of the test scripts without any failures
and within acceptable

time allocation.









5.5
.
Load Testin
g

Test Objective:

Verify System Response time for designated transactions
under varying workload conditions.

Technique:



Use test scripts to simulate user requests

Completion Criteria:



Multiple transactions / mu
ltiple users: Successful
completion of the tests without any failures and
within acceptable time allocation.


5.6
.
Stress Testing

Test Objective:

Verify that the system and software function properly and
without error under the following stress conditions
:



maximum (actual or physically capable) number of
clients connected (or simulated)



multiple users performing the same transactions
against the same data / accounts


Technique:



Use tests developed for Performance Testing.


Completion Criteria:

All pla
nned tests are executed and specified system limits
are reached / exceeded without the software or software
failing

5.7
.
Security and Access Control Testing

Test Objective:

Function / Data Security: Verify that user can access only
those functions / data

for which their user type is provided
permissions.

System Security: Verify that only those users with access to
the system and application(s) are permitted to access them.

Technique:



Create a test user account with limited access and
attempt to perform
functions which they have no
rights to.




Create a test user account with access to the same
functions and attempt to perform them



Attempt to login with a test user with incorrect
password

Completion Criteria:

For each known user type the appropriate funct
ion / data are
available and all transactions function as expected and run
in prior Application Function tests

6
. Tools

The following tools will be

used for testing
the system:



Tool

Version

Functional Testing

Self generated test script

TBD

Performance

Testing

Self generated test script

TBD

Test Coverage Monitor or Profiler

J Meter

TBD

DBMS tools


TBD