Testing + Evaluating Slides
Testing + Evaluating Slides
O use of drivers
O drivers allow testing of routines & subroutines without
the need for all other modules to be coded fully
O useful for testing individual modules during
development
program testing
O test that the overall program (including
incorporated modules and subroutines)
functions correctly
O Each program will be tested to ensure modules work
together correctly.
O Interaction between modules is important and often
causes problems
O It is important that even if all modules are completely
functional
O All modules work correctly together
O Pass parameters effectively
O Save data effectively
O Modules are INTEGRATED before testing
O System-level testing aims to
ensure that the hardware,
software, data, personnel
and procedures that form
the components of the final
system are able to work
together efficiently,
correctly and in the manner
intended with the new
software product.
O test that the overall system (including all programs in the
suite) functions correctly, including the interfaces between
programs
O Hardware: The software product should be installed and
tested on different combinations of hardware ranging from
those specified as the minimum requirements to those
that include any additional hardware devices.
O Software: Other software installed on the system will have
an effect on the operation of new software products.
O Data: The data input into the system is the most likely
source of errors. The product needs to be tested with a
large combination and quantity of live test data to ensure
its reliability under live conditions.
O Personnel and Procedures: The users of the system will
have various skill and knowledge levels. Does the product
cater effectively to the needs of users of the product?
acceptance testing
O Acceptance tests are designed to confirm the
requirements have been met so the system can be
signed off as complete. Real data is used.
O Determines how well the system fits into the
environment it was designed for. To gauge how well
the computer/human interface works with users to
determine any errors missed in previous testing
stages.
O Can also be used to train users in the operation of
the system.
O If the tests are successful, then the client makes
their final payment and the development team's job
is complete.
the use of LIVE TEST DATA to ensure that
the testing environment accurately reflects
the expected environment in which the new
system will operate
O Large files
O Mix of transaction types
O Response times
O Volume of data
O Benchmarking
O effect of the new system on the existing systems in the
environment into which it will be installed
• large file sizes
O Many commercial applications obtain input from
large databases. During the development of
software products, relatively small data sets are
used. At the alpha and beta testing stages large
files should be used to test the system's
performance.
O The use of large files will highlight problems
associated with data access. Often systems that
perform at acceptable speeds with small data files
become unacceptably slow when large files are
accessed. This is particularly the case when data is
accessed via networks.
• mix of transaction types
O Testing needs to include random mixes of
transaction types.
O Live data is used
O Too hard to fabricate data sets
O E.G. cheque, EFTPOS, Credit transactions
• response times
O The response time is the time taken for a process to
complete. and are dependent on all the system
components, together with their interactions with each
other . Any processes that are likely to take more than
one second should provide feedback to the user.
O Progress bars are a common way of providing this
feedback. Data entry forms that need to validate data
before continuing should be able to do so in less than
one second, 0.1 second is preferable.
O Response times of around 0.1 second give the user the
impression of instantaneous response; this is of course
the ideal situation. Response times should be tested on
minimum hardware using typical data of different types.
• volume of data (load testing)
O Large amounts of data should be entered into the
new system to test the application under extreme
load conditions. Multi-user products should be
tested with large numbers of users entering and
processing data simultaneously. Alpha testing by
the software developer must try to simulate the
number of users who will simultaneously use the
product.
• benchmarking
O Creating a set of tests to measure the speed at
which a computer can complete a task. Tests can
be performed on the old and new systems to
compare performance.
effect of the new system on the
existing systems in the environment
into which it will be installed
O How does the new system work with the operating
system, hardware drivers and devices, any
hardware that is specific to the system
O e.g. selfservice machines
Reporting on the testing
process
Results of testing need to be evaluated and
acted upon if the problems highlighted are to
be corrected.
documentation of the test data
and output produced
O Documentation should be developed and retained as
the testing process is undertaken. Documents produced
will include the following:
use of CASE tools
O A large variety of Computer Aided Software
Engineering tools are available for use during the
testing and evaluation stage. These tools automate
the more tedious tasks associated with the testing
process. Many tools specialise in particular testing
functions such as test data generation, user
interface testing, or volume testing.