Here, Dr. John Bates, CEO at Eggplant, discusses how mission-critical software testing for space exploration can be done quickly and efficiently with the aid of new technology
Space has always been something of a human obsession. To look further, to find out more and to boldly go where no man has gone before. Or woman, in fact, after U.S. astronaut Christina Koch landed back on Earth earlier this month after 328 days in space, concluding the longest-ever mission by a woman.
Space is the harshest and most extreme environment we content with. Add in its incompresible size and any problems, no matter how minor, become a challenge. For example, it was recently announced that the Voyager 2 spacecraft, which first left the solar system in November 2018, is able to resume its exploration of interstellar space after NASA engineers fixed a potentially fatal glitch. They managed to do this from the small matter of 11.5 billion miles away.
Proof, if it were required, that space technology and spacecrafts are increasingly complex and are using more software than ever before. The astronauts comprise of the the best of the best in terms of mental, physical and emotional aptitudes. Elsewhere, space organisations have innovative ways of testing hardware and equipment ahead of launch, from pouring 450,000 gallons of water on rocket launchpad to capsule raft equipment for landing. However, it isn’t just the physical equipment that needs to be tested.
When it comes to testing technology that will be used in space travel, manually testing each piece of equipment will add a considerable amount of time to the preparation process. So, how is software tested quickly and efficiently?
To ensure that all aspects of a mission are vigorously tested, space organisations around the world are turning to automated testing. For example, for future space explorations—such as Orion—rigorous testing is taking place to ensure that onboard software and equipment works as expected and doesn’t suffer from any faults—even if subjected to strained use.
Space is a high-stakes environment, with large amounts of money—and possibly human lives—at risk if something goes wrong. Automated, vigorous testing ensures that the software and technology delivers the required outcomes both on land and in space.
AI-assisted and automated testing can provide predictive analytics for launch readiness, and can test many scenarios. This helps teams to predict quality issues that might occur, intelligently navigate applications, and identify and resolve issues quickly.
Testing software is important, but if it isn’t tested through the eyes of the astronauts who will be using the technology, it won’t be as effective. Using automated testing to test through the eyes of the user—alongside the full user experience, functionality, performance and usability—means that tests can ‘see’ and ‘do’ what the user can, and will test the user experience, not just the code.
For example, if something goes wrong while in space, the astronauts onboard will enter a stressful state, and might start using software more vigorously. Users might begin switching between screens rapidly, or rebooting programmes or software quickly. Because of this, the technology needs to be tested beforehand in ‘real-life scenarios’, to ensure that it is failure-proof in a variety of states, and can cope with how a real user would use the technology.
With automated testing, space organisations can test hundreds of scenarios quickly, and no longer need to spend time manually testing the software and technology. Automated testing can increase and scale alongside technology, learning and adapting to new processes and systems as the software becomes more intricate. AI and automation have the potential to hugely speed up technology advancements and safety in the business of outer space exploration so it’s an exciting time for industry. It’s also the ultimate test arena for testers.