The most fascinating testing thing I’ve read, but I barely understand it. It’s this: People working on the software that runs surgical robots have figured out a way to reliably detect software bugs and verify the software safety. That’s what they are saying. It’s early in the game and I’m skeptical, but if this is true, it’s mind-blowing.
I collect bugs and their hiding places. I strive for excellence in the testing I do and that my teams do. However, you should know I don’t test medical software, let alone the software that runs surgical robots. I’m scared half to death. No way.
The news that people have figured out a way to test software that people’s lives depend on has implications for the type of testing I do.
“Because the consequences of these systems malfunctioning are so great, finding a way to prove they are free of design errors has been one of the most important and pressing challenges in computer science,” said André Platzer and assistant professor of computer science at Carnegie Mellon in a statement. Testing alone is inadequate because no test regimen can check all of the possible circumstances that the system might encounter, the researchers said.
What the researchers have developed is what they call a mathematical “tactics language for directing proof search, and implemented a new automated theorem prover called KeYmaeraD, an open source verification tool written in Scala.
Now I just need to understand how to apply this type of approach to software testing o websites, games and enterprise apps. How can we apply this to other testing projects? I’m interested in your comments.