Scale, Reliability and testing
Large ICT systems can be used within one large organisation or can be used across multiple small organisations.
The main objectives of testing are:
- make sure software is compatible with other systems
- eradicate faults
- check software can be used on other hardware / software platforms
Testing large Systems
- Unit Testing - programs are created in units and the testing ensures that the programming code for a unit is working correctly.
- Integration Testing - Where the individual units are combined and tested as a group.
- System Testing - Tests the whole system including hardware and software. It is a form of black box testing.
Black box testing - This does not look at the programming but instead looks at the output to see whether the specifications and requirements have been met.
White box testing - This is performed by people who are familiar with the code and this involves carrying out tests to reveal any errors and ensure the code is written correctly.
Alpha testing - The first stage in the testing of computer products before they are released for public use. This is usually done by the software producer at an in-house site that is not involved with the software developers.
Beta testing - A preliminary version of the program which is distributed to heavy duty users to test under realistic conditions so that any bugs are found before public release.
Network testing - the measurement and recording of a networks state of operation. Network tools can be used to diagnose problems and these include:
- Station level statistics - network information about the types of data being transferred.
- Segment level statistics - looks at the network traffic over certain parts of the network and can be used to determine network capacity or troubleshoot a problem that causes slow running.
- Filtering - allows samples of data to be collected from certain IP addresses.
A developed system that has been fully tested then needs to be installed into the organisation. There are several changeover methods which include:
- Direct changeover - You stop using the old system and start using the new one immediately. This is risky but if successful is cheap and quick.
- Parallel changeover - The new system is run alongside the old system until everyone is happy with the new system. The old system is then abandoned and this helps to reduce the risk in the changeover.
- Phased conversion - This is where one module from the new system is converted at a time until the who system is converted. This can only be done if the system consists of separate modules but the advantage is that problems can be dealt with in manageable amounts.
- Pilot conversion - This is used in large organisation where there are lots of different branches. The new system is used by one branch and then transferred to other branches over time.
Backup & Recovery
A loss of resources or data can be caused by hardware failure, software bugs, natural disasters, deliberate damage or accidental damage. Therefore disaster planning is needed to get the systems working in the shortest time possible to minimise disruption.
Hardware and programmes can easily be replaced but data is not easy to replace and back-ups need to be taken. Back-ups should be:
- Taken on a regular basis
- Kept away from the computer (preferably off-site)
- Taken using the grandfather, father and son principle in the case of batch processing
- Used with a RAID system
Why maintenance is needed:
- Bugs may cause the software to crash
- There may be user dissatisfaction
- Changes in legislation
- To improve performance
- Security updates
There are 3 types of maintenance which include:
Perfective - improve the performance of the system
Adaptive - changes in the way the organisation operates will require changes to the system
Corrective - to ensure that faults or problems are eliminated