Learning Outcomes
•Describe the purpose of system design, development and testing
• Describe the use of storyboarding in developing the user interface
• Describe the use of prototyping in the design of the user interface and the data model
• Understand the importance of testing throughout the development of a system in ensuring system quality
• Distinguish between different types of testing: system, acceptance, alpha and beta
• Understand the purpose of a test plan • Describe the main components of a test plan
• Distinguish between different types of test data
Design The purpose of the design stage is to design/ implement a Systems Specification. This document will include detail on a number of design components including:
-Data capture methods and forms for the system
-Data inputs and outputs for the system including screen designs, report specifications, query designs, storyboards, macros
-Data processing within the system -
-Data structures such as : Database structure, Data Models, DFDs, normalisation.
-The user interface i.e. screen layouts, buttons, error messages
-The hardware to be used to run the new system
-Detailed design of user interface, switchboard, menus
-Test Plan
-Program Code listings
-Hardware and software configuration
The purpose is to develop the software package required for the information system. In order to do this appropriate programming code needs to be produced or the features of the software package need to be developed. Aspects such as data structures, data checking procedures and the user interface also need to be developed. As part of the development stage there also needs to be evidence of effective use of the hardware specification
The purpose of testing is to ensure that the system works as described in the system specification. Testing should be able to demonstrate that all parts or functions of the solution work as expected, irrespective of what data input is and at the same time ensure all functions agreed upon with the user are included and work correctly. As part of the testing stage, errors and limitations maybe identified and corrected. To ensure testing is structured a test plan is devised including a range of test data.
A Storyboard is a diagram that shows the planned sequence of screen displays in a user interface. Unlike the storyboard of a movie (which is linear) the storyboard may be a “branching” diagram showing the different paths available to the user.
This involves building a working model (also known as a “first cut”) of a new system. The aim is to give the user a “look and feel” experience. The role of the user will be to evaluate the prototype and provide feedback to the systems analyst. Based on the feedback the analyst will make changes to the prototype, give it back to the user who will then evaluate the changes. This process will continue as refinements are made to the prototype. The result of these refinements may result into a fully working system which is known as Evolutionary Prototyping or produce a set of user requirement which is known as Throw-away prototyping. This system is then fully developed using an alternative approach such as Waterfall method. A prototype which is usually a practical implementation of the system is produced to help discover requirements
Testing is an important part of systems development. This is to ensure the system is of a high quality. Quality indicators are used during the testing stage, including:
Suitability
Does the system meet all its objectives?
Is it ‘fit for purpose’?
Does the system provide the required functionality?
Is it compatible with existing technology/hardware/software/ data?
Is it robust/free of errors?
Usability
How fast can a user learn to use the user interface?
Is the interface intuitive?
Does the interface match the user’s level of ICT competence?
How well can a user transfer previous skills?
What training may be required?
Effectiveness
Does the system perform its tasks efficiently?
Has it been designed to facilitate maintenance?
This is making sure the system works as described in the specification, does it meet all of the requirements that were identified? This is done by following a test plan to test each individual system function. It will also test that each individual function works with extreme or invalid data. System testing will also ensure that the system produces the correct results for the data input.
This is also referred to as application testing and is carried out in-house by members of the ICT development team such as programmers. This type of testing Includes module, integration and system testing whereby the software is tested against the module and system specifications.
This form of testing takes place after alpha testing. The Software is given to a number of potential users in the form of a pre-release version. These users agree to test the system in a realistic environment and provide feedback to the developer(s).
This involves testing the software by the end user in the “live” environment with real volumes of data. The end user is testing the system to ensure it meets their user requirements. The end users will feedback to the developer any issues arising. The aim is to get agreement between the developer and the end user.
The test plan is normally produced at the design stage. It takes the form of a detailed document which will be used by a group of testers. The documentation will include a reference to the part of the system to be tested, test data to be entered and result expected from the test. The people testing the system will also record whether the test has been successful. A test plan may take the form of the table below It would be important for the testing teams to follow the test plan and accurately record their outcomes. When the actual result is not as expected then the developing team can modify the system and further testing can take place. It should be also noted that testing every part of a system in detail is not possible and errors maybe discovered at a later stage such as maintenance.
Test Data
When selecting test data for a test plan, data that checks validation rules should be included. Test data can be categorised into one of three categories:
1. Normal Data – This included data that the program will accept.
2. Extreme Data – This includes data that is on the limits of acceptability.
3. Exceptional Data – This is data that when entered should be invalid and not accepted. Test Number Test Reference Actual Test Test Data Expected Result Actual.
Keywords
Possible Exam Questions
1.Storyboarding and prototyping can be used in the design of the user interface.
(a) Explain what is meant by the term user interface.[3]
The user can interact with/communicate with/control the computer system The user can input data The system outputs results Types: command line/GUI(Windows)/menu driven/form based/natural language
(b) Describe how storyboarding can be used in the design of the user interface. [4]
Diagrams are used ... to show the content of screens ... to show the sequence of screens ... including different navigation paths/branches
(c) Describe how prototyping can be used in the design of the user interface. [4]
An initial non-functioning model ... of the user interface is created This has no database access/it might use dummy data Additional interaction is added ... from feedback from the user
(d) The system was tested before being implemented. Explain what is meant by each of the following.
System testing
This tests that the system meets the system specification Each system function is tested … with valid data … and extreme/invalid data
Acceptance testing [6]
Performed by the user … using real/suitable volumes of data … in the real environment … so that the system can be signed off
2 (a) Explain the purpose of each of the following stages in creating a new computer system.[4]
Design
To produce the systems specification To specify the user interface /IO layouts/storyboards … data structures/data validation and verification/DFDs/ERMs … structure diagrams/flow diagrams/algorithms/pseudocode … test plans/test schedule/test data
Development
To implement the design/system specification To create the software/code To create the data structures To create the user interface
(b) Describe how storyboarding can be used in the design of a computer system. [4]
Each screen/page … of the user interface … will be represented as a diagram … showing the content of each screen/page … and the navigation paths/sequences/branches/links
(c) Testing ensures the quality of a computer system. it meet its objectives/the user requirements? Does it provide the required functionality? Is it fit for purpose? Is it compatible with existing hardware/software? Is it error free/robust?
(i) Identify two ways in which the suitability of a computer system can be measured. [2]
1.
Does it meet its objectives/the user requirements? Does it provide the required functionality? Is it fit for purpose? Is it compatible with existing hardware/software? Is it error free/robust?
2.
(d) Explain the terms Alpha testing and Beta Testing. [6]interface intuitive/easy to learn? Can existing skills be transferred? Does it require training/is it a common or tandard interface? Does the UI match the ICT expertise of the users?
Carried out in-house/by the developers/programmers Includes module testing … integration testing … system testing … white box/black box testing … using module specifi cations/test plan/test schedule (3 × [1])
Beta testing: Performed by potential users … who test a pre-release version … in a realistic/real-life environment … using real volumes of data (3 × [1])
3(a) A prototype is used to enable the user to provide feedback to the developer. Explain how a prototype can be used to help design the data model for a system. [4]
A prototype is a ‘first cut’ model The prototype will focus on processes/functions ... and the IO required ... so that data structures/tables and relationships can be identified
(b) A test plan is produced for a new computer system. Identify four components you would expect to find in a test plan. 1. 2. 3. 4. [4]
(c)The test plan for a stock control system includes a number of test cases. (c) Explain what is meant by a test case. [2]
he item/eement/component being tested Example: module/IO screen/variable/input box/validation rule How the test will be carried out/test procedures to be used The test data/test cases to be used The expected outcomes/expected results
–50 Invalid/exceptional To check that a reorder quantity outside the range is rejected
'X' Invalid/exceptional To check that an incorrect data type/ incorrect format /data which is not an integer is rejected
100 Boundary/extreme To check that a reorder quantity at the upper limit is processed correctly