Click here to close now.

Welcome!

JAVA IoT Authors: Elizabeth White, Pat Romanski, Kelly Murphy, Liz McMillan, John Wetherill

Related Topics: JAVA IoT

JAVA IoT: Article

Software Testing Shouldn't Be Rocket Science

Software Testing Shouldn't Be Rocket Science

Earthdate: October 15, 1997, and the Cassini spacecraft is launched. Mission: to boldly go and explore the planet Saturn.

Saturn is about 10 times farther away from the Sun than the Earth, and to get there required two orbits of the inner solar system, receiving gravitational kicks from Venus and Earth before doing a flyby of Jupiter to get a final assist toward Saturn.

Piggy-backed to Cassini was the Huygens probe that would be dropped onto Saturn's moon, Titan. Unlike most other moons in the solar system that are barren, cratered rocky places, Titan has an atmosphere covering it. The purpose of the probe was to parachute through this, capturing data as it descended onto the planet's surface. The data would be transmitted from the probe up to the Cassini craft, which would act as a relay and transmit back to earth where the experiments' results would be analyzed.

On January 14, 2005, Huygens successfully landed on Titan's surface and provided some fantastic pictures of the moon (www.esa.int/SPECIALS/Cassini-Huygens/index.html). Despite this, there were two major problems on the mission.

The first is that one of the radio channels that the Huygens craft was going to use to transmit data to Cassini failed. The remaining channel was used successfully, although due to this problem only half of Huygen's pictures have come back and some experiments have had all their data lost. The reason for the problem is described as a "software commanding error." The reality is the receiver on Cassini was never programmed to switch on.

The second problem is related to the premise that Huygens transmits its collected data to the Cassini orbiter, which then relays it back to earth. Three years after the launch one of the space agency's employees became uneasy about the fact that this feature hadn't been tested enough in realistic conditions. The story is described in detail at www.spectrum.ieee.org/WEBONLY/publicfeature/oct04/1004titan.html and provides a sobering lesson in the importance of testing. This employee worked hard to convince colleagues and superiors of the importance of testing the link in real conditions, so a simulation was done by sending data from earth to Cassini mid-mission while it hurtled toward Saturn. This mimicked the separation conditions that would be encountered between the craft and Titan and the raw data sent was echoed back to earth by Cassini and analyzed. It showed a fundamental flaw.

Because of the difference in the relative speeds at which Cassini was traveling in space relative to Huygens, there was a Doppler shift. A Doppler shift is when waves are effectively compressed if the receiver and source are moving toward each other and expanded if moving apart. As the wavelength decreases, the frequency increases, meaning that Cassini would have to adjust its listening frequencies to account for its velocity relative to the Huygens transmitter. In addition, the decoding would be affected. Digital data is split into ones and zeros and compared against a base signal to decipher; however, the Doppler shift would stretch and compress the lengths of the payload actual bits in the wave, meaning the digital signal couldn't be analyzed correctly. A fix was required to rescue the $3.26 billion project.

Despite the fact that Cassini's hardware allows its receiver to receive over a range of shifted frequencies, the firmware program was unable to be modified after launch, even though a small fix would have sufficed. The solution they used was to alter the trajectory of Cassini's orbits of Titan so that the craft's approach allowed the radio transmissions to travel perpendicular to its direction of motion, thereby reducing the Doppler shift.

The cost of the two Cassini bugs is huge. Coming down to earth it provokes questions about testing in general. A trait I've encountered at times in my career is for a program to be released knowing it is flawed because the programmer hopes to release the working version in a subsequent fixpack, hopefully before the user has encountered the errant feature. Upgrading releases is easy for developers, but for a user who has to migrate data and schedule business downtime it's frustrating and must contribute to the perception that the latest release is not a set of fully baked features but a rollup of the previous version's fixes bundled with new features that perpetually introduce their own set of bugs.

Good testing is about attitude, where a developer takes pride not just in the elegance or volume of his or her code, but in whether it meets the user's requirements and performs reliably in its first incarnation. I once heard a developer say that releasing buggy code was part of agile programming to allow you to have more cycles of code/release//fix/code. Apart from not grasping the methodology maturely, it showed a basic lack of pride in their work that they were trying to justify. The same excuses can also lead to bloatware, where code is thrown upon code without any tight design or following the basic principles of software engineering. Is the problem that some developers are incapable of taking pride in the complete quality of their work, or that education and teaching, or marketing pressures in a commercial environment still mean that buggy software is released. Next time you release code without proper testing, keep in mind the Cassini programmers who had to physically alter their craft's passage to find a solution. While we might have the next fixpack or release available to us, in space no one can hear your excuses.

More Stories By Joe Winchester

Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
David Armstrong 02/10/05 12:52:51 AM EST

Re: Good testing is about attitude, where a developer takes pride not just in the elegance or volume of his or her code, but in whether it meets the user's requirements and performs reliably in its first incarnation.

That's true, but it's also a question of time and cost. Most programmers do take pride in their work and their biggest thrill is reliable and functional software. Unfortunately this is often tempered by cost and time restraints that are set by real-world budgets. Testing takes time and the more complicated a project is, the more time it takes.

@ThingsExpo Stories
The true value of the Internet of Things (IoT) lies not just in the data, but through the services that protect the data, perform the analysis and present findings in a usable way. With many IoT elements rooted in traditional IT components, Big Data and IoT isn’t just a play for enterprise. In fact, the IoT presents SMBs with the prospect of launching entirely new activities and exploring innovative areas. CompTIA research identifies several areas where IoT is expected to have the greatest impact.
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. It also ensured scalability and better service for customers, including MUY! Companies, one of the country's largest franchise restaurant companies with 232 Pizza Hut locations. This is one example of WebRTC adoption today, but the potential is limitless when powered by IoT.
One of the biggest challenges when developing connected devices is identifying user value and delivering it through successful user experiences. In his session at Internet of @ThingsExpo, Mike Kuniavsky, Principal Scientist, Innovation Services at PARC, described an IoT-specific approach to user experience design that combines approaches from interaction design, industrial design and service design to create experiences that go beyond simple connected gadgets to create lasting, multi-device experiences grounded in people's real needs and desires.
The Internet of Things will greatly expand the opportunities for data collection and new business models driven off of that data. In her session at @ThingsExpo, Esmeralda Swartz, CMO of MetraTech, discussed how for this to be effective you not only need to have infrastructure and operational models capable of utilizing this new phenomenon, but increasingly service providers will need to convince a skeptical public to participate. Get ready to show them the money!
SYS-CON Events announced today that MetraTech, now part of Ericsson, has been named “Silver Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York, NY. Ericsson is the driving force behind the Networked Society- a world leader in communications infrastructure, software and services. Some 40% of the world’s mobile traffic runs through networks Ericsson has supplied, serving more than 2.5 billion subscribers.
The Internet of Things is not only adding billions of sensors and billions of terabytes to the Internet. It is also forcing a fundamental change in the way we envision Information Technology. For the first time, more data is being created by devices at the edge of the Internet rather than from centralized systems. What does this mean for today's IT professional? In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will addresses this very serious issue of profound change in the industry.
SYS-CON Events announced today that BMC will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. BMC delivers software solutions that help IT transform digital enterprises for the ultimate competitive business advantage. BMC has worked with thousands of leading companies to create and deliver powerful IT management services. From mainframe to cloud to mobile, BMC pairs high-speed digital innovation with robust IT industrialization – allowing customers to provide amazing user experiences with optimized IT per...
The Internet of Things is not new. Historically, smart businesses have used its basic concept of leveraging data to drive better decision making and have capitalized on those insights to realize additional revenue opportunities. So, what has changed to make the Internet of Things one of the hottest topics in tech? In his session at @ThingsExpo, Chris Gray, Director, Embedded and Internet of Things, discussed the underlying factors that are driving the economics of intelligent systems. Discover how hardware commoditization, the ubiquitous nature of connectivity, and the emergence of Big Data a...
The world is at a tipping point where the technology, the device and global adoption are converging to such a point that we will see an explosion of a world where smartphone devices not only allow us to talk to each other, but allow for communication between everything – serving as a central hub from which we control our world – MediaTek is at the heart of both driving this and allowing the markets to drive this reality forward themselves. The next wave of consumer gadgets is here – smart, connected, and small. If your ambitions are big, so are ours. In his session at @ThingsExpo, Jack Hu, D...
The 4th International Internet of @ThingsExpo, co-located with the 17th International Cloud Expo - to be held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA - announces that its Call for Papers is open. The Internet of Things (IoT) is the biggest idea since the creation of the Worldwide Web more than 20 years ago.
SYS-CON Events announced today that DragonGlass, an enterprise search platform, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. After eleven years of designing and building custom applications, OpenCrowd has launched DragonGlass, a cloud-based platform that enables the development of search-based applications. These are a new breed of applications that utilize a search index as their backbone for data retrieval. They can easily adapt to new data sets and provide access to both structured and unstruc...
We’re entering a new era of computing technology that many are calling the Internet of Things (IoT). Machine to machine, machine to infrastructure, machine to environment, the Internet of Everything, the Internet of Intelligent Things, intelligent systems – call it what you want, but it’s happening, and its potential is huge. IoT is comprised of smart machines interacting and communicating with other machines, objects, environments and infrastructures. As a result, huge volumes of data are being generated, and that data is being processed into useful actions that can “command and control” thi...
As the Internet of Things unfolds, mobile and wearable devices are blurring the line between physical and digital, integrating ever more closely with our interests, our routines, our daily lives. Contextual computing and smart, sensor-equipped spaces bring the potential to walk through a world that recognizes us and responds accordingly. We become continuous transmitters and receivers of data. In his session at @ThingsExpo, Andrew Bolwell, Director of Innovation for HP's Printing and Personal Systems Group, discussed how key attributes of mobile technology – touch input, sensors, social, and ...
All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo, June 9-11, 2015, at the Javits Center in New York City. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be
WebRTC defines no default signaling protocol, causing fragmentation between WebRTC silos. SIP and XMPP provide possibilities, but come with considerable complexity and are not designed for use in a web environment. In his session at @ThingsExpo, Matthew Hodgson, technical co-founder of the Matrix.org, discussed how Matrix is a new non-profit Open Source Project that defines both a new HTTP-based standard for VoIP & IM signaling and provides reference implementations.
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists will peel away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud environment, and we must architect and code accordingly. At the very least, you'll have no problem fil...
Almost everyone sees the potential of Internet of Things but how can businesses truly unlock that potential. The key will be in the ability to discover business insight in the midst of an ocean of Big Data generated from billions of embedded devices via Systems of Discover. Businesses will also need to ensure that they can sustain that insight by leveraging the cloud for global reach, scale and elasticity.
"People are a lot more knowledgeable about APIs now. There are two types of people who work with APIs - IT people who want to use APIs for something internal and the product managers who want to do something outside APIs for people to connect to them," explained Roberto Medrano, Executive Vice President at SOA Software, in this SYS-CON.tv interview at Cloud Expo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect at GE, and Ibrahim Gokcen, who leads GE's advanced IoT analytics, focused on the Internet of Things / Industrial Internet and how to make it operational for business end-users. Learn about the challenges posed by machine and sensor data and how to marry it with enterprise data. They also discussed the tips and tricks to provide the Industrial Internet as an end-user consumable service using Big Data Analytics and Industrial Cloud.
Building low-cost wearable devices can enhance the quality of our lives. In his session at Internet of @ThingsExpo, Sai Yamanoor, Embedded Software Engineer at Altschool, provided an example of putting together a small keychain within a $50 budget that educates the user about the air quality in their surroundings. He also provided examples such as building a wearable device that provides transit or recreational information. He then reviewed the resources available to build wearable devices at home including open source hardware, the raw materials required and the options available to power s...