Researchers at MIT’s Media Labs have successfully printed 3D filaments as thin as a single thread of hair. Microtechnology like this is pretty cool, but more importantly this is expanding the possibilities of micro-controllers and simulations of realistic lifelike processes. And the fact that the printing technique does not require manually drawing each individual fiber within a CAD program but rather is a built-in feature to cover an entire surface area with these “hairs” means rapid development of anything resembling hair or hair-like features.
Think of it: not just for obvious applications like hair on synthetic skin, but finer hairs on the surface of a drone; long filaments covering patches of a sensing device; and stiffer fibers with more velcro-like properties for adhering surfaces. The technology is aptly named “Cilllia,” for the biological parallel in living organisms, and although the technology is still in its infancy it holds amazing promise both mechanically (to manage objects) and electronically (to sense and transfer environmental data). The possibilities appear endless - detecting wind flow speed and direction, distinguishing temperature, humidity and other atmospheric conditions, perhaps even determining gaseous particles in both type and density.
The evolution of technology and the ability to clone and create countless bits leaves a software tester to ask - how can we validate the functioning of a strand of fiber that is (literally!) blowing in the wind? How do I measure the movement across a patch of cilia in potentially several aspects of direction, intensity, variability, and more? How do we test the stroking of a hair and ensure it is reflected correctly in the associated software? The answer of course, as with everything QA-related, is environmental control.
Quality can only be assured when the parameters of your environment are controlled - after all, without knowing exactly which codebase is on your QA servers undergoing a battery of tests, how do you know what to push to production and that it will work? Without knowing exactly what steps and data are used to produce a bug, how can you tell your developer what is broken? QA is all about removing ambiguity and establishing facts. Testing the waving of hair and associated algorithms should be no different...right?
Another aspect of control is within the environment - a physical space that allows for control of all testable aspects of mechanical variables such as pressure from wind or touch, and environmental factors including the level of humidity, heat, and gases. Again, the values of acceptable and unacceptable levels of each variable are established up front within the requirements, and boundary analysis testing will provide the scenarios within the levels of both expected passing and expected failing test conditions. Assuming the cilia and the software should respond and reflect multiple factors (for example, sensing particular gases, their direction, and the wind speed all at once), then it’s up to the QA engineers to use good risk analysis, usage statistics, and other means to effectively plan for all the critical permutations.
The future is upon us...day, after day, after day. We’ve entered the world of microtechnology in all things, made possible by the intersection of 3D printing and intelligent, innovative scientists. As QA engineers, we can rely on both traditional testing techniques and creative modifications of these tactics to make sure our future is in good, quality-assured hands.