2. Basic Testing & Evaluation:
• Almost always includes
some redesign and
reconstructing!
• Involves multiple steps from
component level to system
level and relies on the block
diagram to be logical and
convincing.
The Engineering Design Cycle
Identify the
Problem
Construct
Prototype
Research the
Need
Select the
Best Solution
Design
Solutions
Redesign/
Iterate
Test and
Evaluate
Present the
Solution
3. Basic Testing & Evaluation
Verifying Functionality
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
Testing a design can be done in many different ways and the exact
testing strategy, amount of data, and analysis of that data required to
verify the goodness and functionality of the design varies widely
with the type and application of the design.
Where does
testing begin?
Image Source: http://www.nanork.org/
4. Verifying Functionality
Starting from the Block Diagram
Every design, whether a sensing system or otherwise, can and
should be expressed in a block diagram. This block diagram outlines
the major components of the system and how they are
interconnected as well as the inputs and outputs to the system.
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
5. Verifying Functionality
Starting from the Block Diagram
Every design, whether a sensing system or otherwise, can and
should be expressed in a block diagram. This block diagram outlines
the major components of the system and how they are
interconnected as well as the inputs and outputs to the system.
This system has a single type of sensor,
a 3-axis magnetometer used
in two locations (on both wrists)
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
6. In this example, the three axis magnetometer (and the magnet that
delivers a signal to the magnetometer) is the most important part
of the design. It’s functionality is critical to the proper operation
and the overall success of the design. As a result, it requires much
more extensive testing than supporting components.
The sensor requires extensive
component level testing before
moving on to system level
testing
Verifying Functionality
Testing of Main Components
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
7. Phase 1: Test Component(s) in an
• Isolated and
• Controlled environment
.... To identify inherent limitations of
the component
Phase 2: Test Component(s) in an
• Controlled environment:
... To identify inherent limitations on
the component imposed by the
environment
Phase 3: Test Component(s) in
• Realistic environment:
... To verify functionality in the
target environment
Phase 4: Test Component(s) in an
• Range of realistic environments
... To generalize the functionality of
the component (and establish its
system limits)
Verifying Functionality
Testing of Main Components
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
8. The First Step is Testing the component in an
Isolated & Controlled environment:
Is the sensor isolated from
extraneous variations in the
environment?
Verifying Component Functionality
Testing Critical Components
No
Restructure the testing
strategy
9. The First Step is Testing the component in an
Isolated & Controlled environment:
Is the sensor isolated from
extraneous variations in the
environment?
Is the input to the sensor
controllable?
Yes
Verifying Component Functionality
Testing Critical Components
No
Restructure the testing
strategy
10. The First Step is Testing the component in an
Isolated & Controlled environment:
Is the sensor isolated from
extraneous variations in the
environment?
Is the input to the sensor
controlled?
Collect sensor data
(output)
Yes
Yes
Verifying Component Functionality
Testing Critical Components
11. The First Step is Testing the component in an
Isolated & Controlled environment:
Is data normal
(Gaussian)?
Verifying Component Functionality
Testing Critical Components
Is the sensor isolated from
extraneous variations in the
environment?
Is the input to the sensor
controlled?
Collect sensor data
(output)
Yes
Yes
Restructure the testing
strategy
No
12. The First Step is Testing the component in an
Isolated & Controlled environment:
Is data normal
(Gaussian)?
Calculate precision
and accuracy
Yes
Verifying Component Functionality
Testing Critical Components
Is the sensor isolated from
extraneous variations in the
environment?
Is the input to the sensor
controlled?
Collect sensor data
(output)
Yes
Yes
13. The First Step is Testing the component in an
Isolated & Controlled environment:
Is data normal
(Gaussian)?
Calculate precision
and accuracy
Yes
Verifying Component Functionality
Testing Critical Components
Is the sensor isolated from
extraneous variations in the
environment?
Is the input to the sensor
controlled?
Collect sensor data
(output)
Yes
Yes
Move on to next input
of interest
14. Verifying Component Functionality
Testing Critical Components
NOTE:
Requires a statistical test
to establish that the data
indeed represents a
normal distribution
(= goodness of fit)
Just “eyeballing” the histogram for a particular
dataset is useful and gives some idea as to
whether the data are normal, but is not in and
of itself, conclusive!
Is data normal
(Gaussian)?
15. Verifying Component Functionality
Testing Critical Components
Requires a statistical test
to establish that the data
indeed represents a
normal distribution
(= goodness of fit)
Common mathematical tests for
univariate normality include:
• D'Agostino's K-squared test,
• Jarque–Bera test*
• Anderson–Darling test
• Cramér–von Mises criterion
• Lilliefors test for normality*
• Shapiro–Wilk test
• Pearson's chi-squared test
• Shapiro–Francia test
Is data normal
(Gaussian)?
NOTE:
16. Verifying Component Functionality
Testing Critical Components
The next step is testing the component in a
Controlled Environment:
Is the sensor in a
typical operating
environment? No
Restructure the testing
strategy
17. Verifying Component Functionality
Testing Critical Components
The next step is testing the component in a
Controlled Environment:
Is the sensor in a
typical operating
environment?
Is the input to the
sensor controlled?
Yes
No
Restructure the testing
strategy
18. Verifying Component Functionality
Testing Critical Components
The next step is testing the component in a
Controlled Environment:
Is the sensor in a
typical operating
environment?
Is the input to the
sensor controlled?
Yes
Collect sensor data
(output)
Yes
19. Verifying Component Functionality
Testing Critical Components
The next step is testing the component in a
Controlled Environment:
Is the sensor in a
typical operating
environment?
Is the input to the
sensor controlled?
Yes
Collect sensor data
(output)
Yes
Is data normal
(Gaussian)?
Restructure the testing
strategy
No
20. Verifying Component Functionality
Testing Critical Components
The next step is testing the component in a
Controlled Environment:
Is the sensor in a
typical operating
environment?
Is the input to the
sensor controlled?
Yes
Collect sensor data
(output)
Yes
Is data normal
(Gaussian)?
Calculate precision
and accuracy
Yes
Move on to next input
of interest
21. When is Testing in
Isolated and Controlled Environments Done?
Have Single Input, Single Output measurements
been collected and verified in isolated and
controlled environments?
Combine and plot characteristic curve with
error bars
Yes
Verifying Component Functionality
Testing Critical Components
Can differences between expected and
experimental behavior be explained?
Plot Expected and Experimental Behavior on
same Graph
Yes
Done!
22. When is Testing in
Isolated and Controlled Environments Done?
Have Single Input, Single Output measurements
been collected and verified in isolated and
controlled environments?
Combine and plot characteristic curve with
error bars
Yes
Verifying Component Functionality
Testing Critical Components
Can differences between expected and
experimental behavior be explained?
Plot Expected and Experimental Behavior on
same Graph
No
Done!
Do differences impact
functionality?
No
23. Finally:
Does the critical component perform according
to the design specification under typical
operating conditions?
Verify and Document Functionality
Test sensor under these conditions
Does it meet design specification?
Verify and Document
Functionality
Identify extremes of operating conditions most
likely to detrimentally impact the component.
Yes
Yes
No
No
Troubleshoot
Identify Problem
Return to Select Solution,
or Construct Prototype Phase
Verifying Component Functionality
Testing Critical Components
24. The Bluetooth modem should also require minimal testing as a
component in the system. Verifying functionality will require:
• Simulating the type of input to the modem coming from the
microcontroller and going into the microcontroller (both range
and frequency).
• Testing the modem in both controlled (laboratory) environments
and in the application environment.
Verifying Functionality
Testing of Supporting Components
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
25. The Bluetooth modem should also require minimal testing as a
component in the system. Verifying functionality will require:
• Simulating the type of input to the modem coming from the
microcontroller and going into the microcontroller (both range
and frequency).
• Testing the modem in both controlled (laboratory) environments
and in the application environment.
Although the Bluetooth
Modem is also an off-the-
shelf component, it
should also be tested to
verify its functionality.
Verifying Functionality
Testing of Supporting Components
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
26. Verifying Functionality
Testing of Supporting Components
The microcontroller should require minimal testing as a component
in the system. It should be tested with known and controlled inputs
of the same range and frequency of the accelerometer to ensure that
the signals are properly converted to digital signals and processed
(as programmed and intended) in the microcontroller itself.Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
27. Verifying Functionality
Testing of Supporting Components
The microcontroller should require minimal testing as a component
in the system. It should be tested with known and controlled inputs
of the same range and frequency of the accelerometer to ensure that
the signals are properly converted to digital signals and processed
(as programmed and intended) in the microcontroller itself.
Although the Microcontroller is an
off-the-shelf component, it
will need to be tested as individual
components to ensure they are working
properly as components in this system.
Test &
Evaluate:
Verifying
Component
Functionality
in the
Engineering
Design
Cycle
28. Basic Testing & Evaluation
Once both critical and
supporting components
are tested and evaluated,
it is time to move forward
to:
System Testing
Identify the
Problem
Construct
Prototype
Research the
Need
Select the
Best Solution
Design
Solutions
Redesign/
Iterate
Test and
Evaluate
Present the
Solution
29. Test &
Evaluate:
System
Testing
in the
Engineering
Design
Cycle
Once the main components are tested at a component-by-
component level, it is time to move on to main subsystem testing
(multiple main components) that operate together to deliver
system functionality.
For example:
• Identification of quality of beer in a major manufacturing
facility using multiple vapor (gas) sensors – the objective here is
for multiple sensors to collectively differentiate "good" beer
from "bad" beer.
• Risk assessment for carpal tunnel syndrome – the objective
here may be to identify one or both wrists at risk for carpal
tunnel syndrome and thus recommend posture/behavior
changes based on whether one or both wrists are improperly
positioned.
• Multiple axis outputs on accelerometer may be needed to
identify both the orientation and the speed of an object.
Verifying Functionality
Testing of Subsystems & Systems
30. Verifying Functionality
Testing of Main Subsystems/Systems
Have main component measurements
been collected and verified in isolated
and controlled environments?
Have subsystem measurements been
collected and verified against expected
sensor behavior?
Has a “Typical, Representative,
and Realistic” Environment for
System operation been defined in
the design?
Test System under
“Typical,
Representative,
and Realistic”
conditions
Yes
Yes
Is System Functional?
Yes
A functional system
either predicts the
output of interest within
specified accuracy OR it
can discern patterns of
output with a specified
rate of successful
identification of those
patterns.
Test &
Evaluate:
System
Testing
in the
Engineering
Design
Cycle
31. Verifying Functionality
Testing of Main Subsystems/Systems
The three axes of an
accelerometer may
be used to detect the
orientation of a
tennis racquet (to
which they are
attached) within a
certain # of degrees
of accuracy. Whether
or not precise
detection of
orientation is a valid
system test depends
on the application!
32. Verifying Functionality
Testing of Main Subsystems/Systems
Alternatively, the three
axes of an
accelerometer may be
used to detect whether
or not the tennis
racquet is in the proper
posture for a successful
swing. Orientation
may be relative to a
particular user or
situation; system
testing should reflect
the context of the
application!
33. Verifying Functionality
Testing of Main Subsystems/Systems
Another form of system
testing involves
identifying false positives
and false negatives – the
graph on the right shows
comprehensively how
many inputs were
detected correctly (upper
left and lower right
quadrants) and how
many were detected
incorrectly (upper right
and lower left quadrants)
for a wide range of
people.
34. Basic Testing & Evaluation
With functionality tested,
evaluated, and verified for
critical components,
supporting components,
and the system as a whole,
it’s time to move forward
to:
User Level Testing
Identify the
Problem
Construct
Prototype
Research the
Need
Select the
Best Solution
Design
Solutions
Redesign/
Iterate
Test and
Evaluate
Present the
Solution
35. User Testing and Evaluation
Once a system or design is thoroughly tested and evaluated to verify its functionality,
it is time to show the design to potential users.
Step 1:
Identify Potential Users:
• Who is most likely to use this design, and of
those people, who can afford the design?
• Where can these potential users be found?
Example:
Air Quality monitoring system for bicycle use
Potential Users:
Bike commuters in a major city
Target 3-5 users for each round of tests!
There is no such thing as too many testers, so test as much as possible.
36. User Testing and Evaluation
Step 2:
Present your solution to your users/testers in a representative "problem"
environment – where the user would use the system in "real life“.
An Example:
Carpal Tunnel Monitoring System
Testing Environment:
Using a computer at a desk
Texting on a Smartphone
37. User Testing and Evaluation
Step 2:
Present your solution to your users/testers in a representative "problem"
environment – where the user would use the system in "real life“.
Another Example:
Eyeglass compliance monitoring
Testing Environment:
Driving a vehicle
Using a computer
38. User Testing and Evaluation
Step 2:
Present your solution to your users/testers in a representative "problem"
environment – where the user would use the system in "real life“.
Sometimes, a storyboard helps
situate the user in the
environment so that the user test
does not go astray!
A storyboard is a series of
illustrations or images that allows
someone to pre-visualize a
situation. In this case, the
situation would be the context in
which the design tester is using
the design.
39. User Testing and Evaluation
Step 3:
Watch what your users do with the design:
• How do they interact with the design?
• Do they use the design properly?
• Where do they get confused?
• What information do they glean from the system? Is it what you intend?
• Do they seem interested in the system? Bored? Confused?
Write down what you observe,
while refraining from interpreting
what you observe until later!
40. User Testing and Evaluation
Step 4:
Ask your users to complete a short survey
or series of questions about the design:
• Written, or
• Verbal
Use a combination of close-ended, multiple
choice or Likert-scale questions and open-
ended questions that seek to identify both
the "good" and the "bad" in the design.
Examples of Open Ended Questions:
Would you use this design in your daily life? Why or why not?
What do you like most about this design?
What do you like least about this design?
Examples of Close-Ended Questions
41. Test, Evaluate, Redesign....
A Prototype must be
tested:
• Not only at a
functional level (do the
components and
system work as
intended?), but also:
• At a user level (will a
potential customer
use it as intended?)
Identify the
Problem
Construct
Prototype
Research the
Need
Select the
Best Solution
Design
Solutions
Redesign/
Iterate
Test and
Evaluate
Present the
Solution
42. Thanks for joining us as we explored the sixth step of the
Engineering Design Cycle: Test & Evaluate.
Complete Educational Materials (including assignments,
quizzes, and recorded lectures) on the topic of Basic
Engineering Design can be found at:
http://labs.ee.washington.edu/community/BasicEngDes/
The Engineering Design Cycle