Testing and evaluating innovative solutions ensure that solutions not only meet the intended design objectives but are also effective, usable and valuable to the end user. Two fundamental techniques in this process are user testing and expert review.
User testing involves observing real users as they interact with the solution in a controlled environment or real-world setting. This technique is invaluable for gaining direct feedback on how well the solution meets user needs, its usability and overall user experience (UX). User testing can be conducted in various formats, depending on the objectives of the test. Two of these are prototyping and usability testing.
Prototyping involves creating simplified, often lower-fidelity versions of a product, enabling designers and developers to explore ideas and concepts without the need for complete development. Prototypes can range from paper sketches (low-fidelity) to interactive digital models (high-fidelity), depending on the stage of the development process and the specific goals of the testing.
The benefits of prototyping include:
→the speed of idea exploration
→being able to provide visual/tangible representations of ideas for feedback
→ being cost-efficient.
Usability testing is a user-centred technique that involves observing real users as they interact with the prototype to evaluate its usability, including ease of use, comprehension and ability to complete intended tasks. This testing can reveal insights into user behaviour, their preferences, and any potential areas of confusion. Detecting these early allows for refinement of the product before it is released to all potential users.
The benefits of usability testing include:
→the level of user-centred feedback received
→increased efficiency in pinpointing specific areas where users might struggle
→increased chance of a higher-quality final product that has a high level of user friendliness.
Remember:
• Validation checks the reasonableness of data inputs.
• Testing checks the accuracy of information outputs.
If you have designed a solution that requires data input, then you need to ensure that your solution is validated. Validation checks that input data are reasonable and complete. Validation does not, and cannot, check that inputs are accurate. How, for example, could validation tell whether a person is being honest when entering their age? However, validation can detect problems when a person enters their age as 152 years, or as ‘banana’, or nothing at all. You can perform validation manually (yourself) or allow software to do it for you.
Computers are particularly good at conducting validation checks.
1 Existence checks ensure that a value has been entered and the field is not blank, or <null>.
2 Type checks ensure data is of the right type; for example, the age that has been entered is actually a number.
3 Range checks ensure that data is within acceptable limits (for example, children enrolling in kindergarten must be 3–6 years old) or comes from a list of acceptable values (for example, small, medium or large).
People can perform manual validation, especially proofreading for sense, clarity, relevance and appropriateness. In addition, unlike spreadsheets, people tend to ‘smell a rat’ when values entered would pass electronic validation checks but are inaccurate because they are ridiculous.
After designing and building your solution, you need to demonstrate that it has been thoroughly tested. You need to know what to test in your solution, so we plan the testing as part of the design stage.
If a solution fails, it could annoy or disadvantage users, so thorough and careful testing is necessary, whether the solution is a game, a website shopping cart, or an airliner’s autopilot. If your solution fails because of undiscovered faults, it may become difficult to use, or completely unreadable.
Testing checks that a solution does what it should do. Testing is not easy, quick or cheap – especially for a product such as an operating system, with megabytes of code in thousands of files created by hundreds of people.
The typical steps involved in testing are as follows.
1 Decide which tests will be conducted.
2 Create suitable test data.
3 Determine expected results.
4 Conduct the test.
5 Record the actual results.
6 Correct any errors.
There are many testing types, each intended to uncover different kinds of errors at different times during development.
For Example