Products

Problems
we solve

We can help your business

Request a Free Demo / trial

Insights

Insights
20 August, 2024

How NASA Does Software Testing: 4 Lessons We Can Learn

4 Lessons We Can Learn

As a software tester, I’ve always wondered how organisations like NASA test their critical systems. After all, their systems are unique and complex, and the stakes are almost incomprehensibly high—a single software bug can result in catastrophic failure and loss of life.

With that in mind, I explored how NASA, an organisation synonymous with precision and reliability, manages software quality assurance and builds high-quality software systems.

What I found was a treasure trove of practices that can be incredibly insightful for enterprise-level software testers.

The High Stakes of Space Exploration

Probably the most important thing I learned was that NASA, like every other organisation, has had their fair share of software failures.

Consider the infamous Mariner 1 spacecraft incident in 1962. A single missing hyphen in the code caused the rocket to veer off course, leading to the heartbreaking decision to self-destruct. The error was simple, yet the consequences were profound. The loss was equivalent to about $169 million today, not to mention wasted time and effort.

Another example is the Mars Polar Lander in 1999, where software mistakenly interpreted vibrations during descent as a landing event, shutting down the engines 40 meters above the surface. These failures underscore the critical importance of rigorous software testing in high-stakes environments.

For me, though, NASA’s failures aren’t the actual headline; I was more intrigued by their response.

As a testing professional, I’ve seen first-hand how many (most?) organisations pay lip service to lessons learned but rarely do anything about them. I mean, how often are tangible changes implemented post-project? It’s much more likely to see the same mistakes repeated, from rushed testing phases to missing documentation to ignoring failed tests altogether.

4 Key Ideas Enterprise Software Testers Learn from NASA

1. Leverage Simulated Environments

One of NASA’s most impressive software development feats is its ability to simulate incredibly complex environments through the Jon McBride Software Testing and Research (JSTAR) program.

JSTAR, a critical component of NASA’s Independent Verification and Validation (IV&V) Program, focuses on creating high-fidelity simulations that mirror the exact conditions spacecraft will encounter.

This includes everything from the vacuum of space, microgravity, and radiation exposure to the precise conditions of planetary atmospheres.

These simulations are not just basic models; they are dynamic, adaptive environments that can replicate the intricate physics and environmental conditions that spacecraft will face during a mission.

For instance, the simulation of re-entry into Earth’s atmosphere requires careful modelling of extreme heat, aerodynamic forces, and communication blackouts—all scenarios that can introduce significant software challenges.

In addition to testing under normal conditions, JSTAR’s simulations are designed to stress software systems under abnormal conditions that might occur during a mission.

For example, how does the software react to unexpected power surges, sensor failures, or unexpected physical forces? By pushing the software to its limits, NASA can identify weaknesses that may not be apparent in more straightforward testing scenarios.

While the stakes for enterprise systems might not be as high as those for space exploration, the principle of using detailed simulations holds excellent value.

Enterprises can create virtual environments, network virtualization, and chaos engineering to replicate user behaviour, network conditions, and hardware variations and failures to ensure their software behaves reliably across various scenarios. By integrating techniques into their testing regimes, businesses can anticipate and mitigate issues that would be difficult, costly, or risky to uncover in live production environments.

2. Early Defect Detection

NASA’s Software Formal Inspections Standard (NASA-STD-8739.9) is a cornerstone of its early defect detection approach.

This rigorous standard mandates a thorough and systematic inspection process to catch defects at the earliest stages of the software development life cycle.

The key idea (which applies to all software development) is that defects identified during requirements analysis, design, or early coding stages are exponentially cheaper and easier to fix than those found later in the development process or, worse, during a mission. I am sure that everyone has heard this, however, how many organisations live and breathe this approach, which leads to a reduction of defects found at a later stage. Compared to those that don’t and have the inevitable rush to fix & retest with the extra cost involved.

This standard outlines a structured inspection methodology, including the roles of inspectors, the processes they should follow, and the types of defects they should be looking for.

For example, a multidisciplinary team reviews every piece of code, including software engineers, system engineers, and domain experts. This ensures that the software meets the technical specifications and the mission’s operational requirements.

One of the most critical aspects of this process is the emphasis on checklists.

NASA uses comprehensive checklists during inspections to ensure that every possible type of defect is considered—ranging from simple syntax errors to complex logic flaws or mismatches between software and hardware interfaces. This disciplined approach leaves little room for oversight.

Adopting a similar approach can dramatically improve software quality in enterprise environments. Companies can implement formal code reviews, use detailed checklists, and involve cross-functional teams to catch defects early.

Automated tools can complement this process by performing static code analysis and identifying potential issues before they reach production.

NASA has demonstrated that early defect detection not only reduces the risk of catastrophic failure but also saves time and money in the long run.

3. Clarity of Objectives

At NASA, the clarity and precision of software requirements are paramount.

Given their missions’ complexity and critical nature, every requirement must be meticulously detailed to ensure that the final software product functions exactly as intended.

This is particularly important when multiple teams—often spread across different locations—are involved in the development process. Any ambiguity in requirements can lead to misinterpretations that could have dire consequences.

To achieve this, NASA employs a rigorous requirements engineering process. This begins with gathering requirements from all stakeholders, including engineers, scientists, and mission planners, and translating them into precise, unambiguous specifications.

These requirements are often documented in the form of use cases, flowcharts, and formal specifications that describe in precise detail what the software must do, how it will interact with other systems, and what constraints must be adhered to.

Moreover, NASA utilises traceability matrices to ensure that every requirement is accounted for throughout development.

These matrices link each requirement to corresponding design elements, code modules, and test cases, providing a clear map that guides the entire project. This not only helps in verifying that all requirements are met but also assists in managing changes.

The impact on other system parts can be quickly assessed and addressed if a requirement changes.

In enterprise software development, building clear and detailed requirements, like NASA’s, can reduce the risk of miscommunication and ensure that the software meets the needs of all stakeholders.

Implementing traceability matrices in tools like Quality Center and ValueEdge Quality/Octane can also help complex projects, ensuring that every requirement is traced from conception through to delivery.

4. Scenario-Based Testing

Scenario-based testing is a critical part of NASA’s software verification strategy, and tools like Kontest play a central role in this process.

Kontest simulates a wide array of operational scenarios, allowing NASA engineers to observe how software behaves under different conditions that the spacecraft might encounter during a mission. These scenarios can range from nominal (expected) conditions to off-nominal (unexpected or adverse) situations.

For example, NASA might use Kontest to simulate the software’s response to losing communication with Earth, encountering unexpected debris, or dealing with a sudden malfunction in onboard systems.

Each scenario is designed to push the software to its limits, revealing how it performs under stress and whether it can recover gracefully from unexpected events.

The power of scenario-based testing lies in its ability to expose flaws that might not be apparent in more straightforward test cases. By thinking through and testing against various potential situations, NASA can ensure that its software is functional, robust, and resilient.

In the enterprise world, scenario-based testing can be equally valuable.

Complex systems often operate in diverse and unpredictable environments, interacting with other systems and users in difficult-to-anticipate ways.

Companies can use tools like performance testing and chaos engineering to simulate different operational conditions—such as peak loads, and hardware or network failures—to ensure their software can handle real-world challenges.

Bringing NASA’s Insights Back to Earth

While the average enterprise might not launch rockets or travel to other planets, the principles guiding NASA’s software testing can still provide precious insights, just as Formula 1 cars have informed how road cars are built.

By adopting simulated environments, prioritising early defect detection, clarifying requirements, and leveraging scenario-based testing, enterprise-level testers can significantly improve the reliability and quality of their software systems.

The next time you’re faced with a critical testing decision, consider what NASA might do. After all, if these practices are good enough for missions beyond our planet, they’re worth considering for the software systems that drive our businesses.

Are Your Tools Holding You Back?

Implementing new processes can be challenging without the right tools to support them. Maybe you’re still trying to use Excel or Word to drive your testing efforts or using open-source or other tools with limited flexibility.

Fortunately, there are great tools out for any budget. Tools that are easy to deploy, quick to get going, and robust and ready for enterprise users.

Are you interested in improving your testing processes but lack the software you need to implement them? Contact Calleo today, and we can help you find the right tool at the right price.

Stephen Davis
by Stephen Davis

Stephen Davis is the founder of Calleo Software, a OpenText (formerly Micro Focus) Gold Partner. His passion is to help test professionals improve the efficiency and effectiveness of software testing.

To view Stephen's LinkedIn profile and connect 

Stephen Davis LinkedIn profile

20th August 2024
Test Automation Framework Secret

Test Automation: Do Custom Frameworks Hide a Dirty Secret?

It’s 2025, yet many organisations still develop bespoke test automation harnesses and frameworks, stitching together a modular in-house automation solution.  This is due to various invalid assumptions and short-sighted commercial decisions.

Simple test automation

Simple Test Automation: How to Slash Complexity & Maximise Coverage

Are you using multiple tools to test functionally across web, mobile, desktop, and enterprise applications? Then it’s time to consider a smarter, unified alternative. Relying on several test automation tools introduces various and significant challenges for organisations.

What can testers learn from SpaceX

What Can Testers Learn From SpaceX?

As a test professional, I’ve seen countless projects where defects are treated as disasters rather than learning opportunities. But what if we flipped that mindset? What if software development projects embraced failure as SpaceX does—not as an end, but as the beginning of progress?

video to defect

How to Generate Defect Reports from Videos!

Testers can now convert video recordings into detailed defect reports. This groundbreaking functionality accelerates project timelines with AI-powered speed and accuracy. Not only does this technology provide the holy trinity of speed, quality and cost savings, but it also solves a huge—often unspoken—issue on many projects: the breakdown of dev/test relations at the worst possible time.

Video to Software Tests

A Testing Revolution? How to Turn Videos into Manual and Automated Test Cases

Imagine being able to record a user story and instantly turn it into manual and automated tests—how much time and effort would you save? Whether you’re preparing for SIT, UAT or streamlining regression testing, you can now generate manual and codeless automated test cases directly from video recordings, leveraging cutting-edge AI technology to streamline your testing processes.

Test Automation what's new

What’s New: Exciting Test Automation Tool Updates

As great as OpenText is at software development, it’s not always the best at keeping people informed about changes. So, today, I’m sharing a few recent updates to the OpenText automation tools. These are just a tiny sample of recently implemented changes. They focus on cloud capabilities, AI-powered object detection, codeless testing, and streamlined workflows that make test automation more accessible and efficient than ever.

Software Testing in 2030

Software Testing in 2030: 4 Ways QA Will Change

Over the next five years, software and software testing are set to evolve at a rate we’ve never seen. In fact, it has already started. Over the last few years, everyone remotely involved in tech has witnessed the constant change in the way things are done. This seemingly non-stop innovation has been driven by emerging technologies, shifting development paradigms, and businesses reevaluating their priorities… and is set to accelerate.

Software Testers v Rogue AI

Software Testers: Humanity’s Best Chance Against Rogue AI

In the race to protect us against rogue AI, our best defence might not be scientists or politicians, but the often-overlooked heroes of the tech world: software testers. As AI systems increasingly mediate healthcare, criminal justice, and military decisions, this unlikely profession could hold the key to preventing existential catastrophe.

4 testing breakthroughs

Software Testing AI: 4 Breakthroughs You Can’t Ignore in 2025

It’s 2025 and software testing AI can no longer be ignored. AI innovations in software testing can deliver unprecedented efficiency gains and bridge the gap between manual and automated workflows. This article contains four software testing AI breakthroughs you can’t ignore in 2025.

Remote Software Testing

Remote Testing Teams: 4 Strategies to Avoid Collaboration Disaster

It’s been years since the pandemic. Still, many companies I speak to have struggled to adapt to changing practices and have failed to implement effective working habits. Unfortunately, you can’t just continue as if nothing has changed—this approach just won’t cut it anymore. In this week’s insight, I provide four actionable approaches that I have picked up from the many successful testing projects I talk to. These easy fixes will help you prevent collaboration disasters in your remote testing teams.

Insights

Search

Related Articles

InsightsTrending

To get other software testing insights, like this, direct to you inbox join the Calleo mailing list.

You can, of course, unsubscribe 

at any time!

By signing up you consent to receiving regular emails from Calleo with updates, tips and ideas on software testing along with the occasional promotion for software testing products. You can, of course, unsubscribe at any time. Click here for the privacy policy.

Sign up to receive the latest, Software Testing Insights, news and to join the Calleo mailing list.

You can, of course, unsubscribe at any time!

By signing up you consent to receiving regular emails from Calleo with updates, tips and ideas on software testing along with the occasional promotion for software testing products. You can, of course, unsubscribe at any time. Click here for the privacy policy.