Sistem Informasi
Tujuan
Tercapainya tujuan implementasi sistem
informasi yang mendukung keberlanjutan
dalam pengelolaan bisnis untuk mencapai
visi dan target utama bisnis.
Efisiensi dan efektifitas bisnis proses;
Information Systems
Leader Commitment
(e-Leadership)
N/W
H/W
S/W
INF.
HR
Services
Laptops
Input devices
Tape, CD, scanner, smart card reader, RFID, dll
Output devices
General Controls
Software
Systems interactions
Operating systems
Applications
Integrated systems
Utilities
Software Functions
Application Processing
Access Control
User
Component Testing Integration Testing Testing
32
The stages in the testing process
(cont.)
Sub-system testing: (Integration Testing) (Design
Oriented)
This phase involves testing collections of modules, which
have been integrated into sub-systems. Sub-systems may
be independently designed and implemented. The most
common problems, which arise in large software systems, are
sub-systems interface mismatches. The sub-system test
process should therefore concentrate on the detection of
interface errors by rigorously exercising these interfaces.
System testing:
The sub-systems are integrated to make up the entire system.
The testing process is concerned with finding errors that result
from unanticipated interactions between sub-systems and
system components. It is also concerned with validating that the
system meets its functional and non-functional requirements.
The stages in the testing process
(cont.)
Acceptance testing:
This is the final stage in the testing process before
the system is accepted for operational use. The
system is tested with data supplied by the system
client rather than simulated test data. Acceptance
testing may reveal errors and omissions in the
systems requirements definition( user –
oriented) because real data exercises the system in
different ways from the test data. Acceptance testing
may also reveal requirement problems where the
system facilities do not really meet the users needs
(functional) or the system performance (non-
functional) is unacceptable.
The stages in the testing process
(cont.)
Acceptance testing is sometimes called alpha testing.
Bespoke systems are developed for a single client. The alpha
testing process continues until the system developer and
the client agrees that the delivered system is an acceptable
implementation of the system requirements.
When a system is to be marketed as a software product, a
testing process called beta testing is often used.
Beta testing involves delivering a system to a number of
potential customers who agree to use that system. They
report problems to the system developers. This exposes
the product to real use and detects errors that may not have
been anticipated by the system builders. After this
feedback, the system is modified and either released fur
further beta testing or for general sale.
Testing Strategies
Top-down testing
Where testing starts with the most abstract component and
works downwards.
Bottom-up testing
Where testing starts with the fundamental components
and works upwards.
Thread testing
Which is used for systems with multiple processes where
the processing of a transaction threads its way through these
processes.
Stress testing
Which relies on stressing the system by going beyond its
specified limits and hence testing how well the system
can cope with over-load situations.
Testing Strategies
Back-to-back testing
Which is used when versions of a system are available. The
systems are tested together and their outputs are
compared.
Performance testing.
This is used to test the run-time performance of software.
Security testing.
This attempts to verify that protection mechanisms built into
system will protect it from improper penetration.
Recovery testing.
This forces software to fail in a variety ways and verifies that
recovery is properly performed.
Testing Strategies
Large systems are usually tested using a mixture of these strategies
rather than any single approach. Different strategies may be needed
for different parts of the system and at different stages in the
testing process.
Whatever testing strategy is adopted, it is always sensible to adopt
an incremental approach to sub-system and system testing.
Rather than integrate all components into a system and then start
testing, the system should be tested incrementally. Each
increment should be tested before the next increment is added to
the system. This process should continue until all modules have
been incorporated into the system.
When a module is introduced at some stage in this process, tests,
which were previously unsuccessful, may now, detect defects.
These defects are probably due to interactions with the new
module. The source of the problem is localized to some extent,
thus simplifying defect location and repair.
Unit Testing Coding Focuses on each module and whether it
works properly. Makes heavy use of
white box testing
Integration Design Centered on making sure that each module
Testing works with another module.
Comprised of two kinds:
1. Top-down and
2. Bottom-up integration.
Or focuses on the design and construction of
the software architecture.
Makes heavy use of Black Box testing.
(Either answer is acceptable)