Testing Hyper-Complex Systems: What Can We Know? What Can We Claim?
Throughout history, people have built systems of dramatically increasing complexity. In simpler systems, defects at the micro level are mitigated by the macro level structure. In complex systems, failures at the micro level cannot be compensated for at a higher level, often with catastrophic results. Lee Copeland says that we are building hyper-complex computer systems—so complex that faults can create totally unpredictable behaviors. For example, systems based on the service-oriented architecture (SOA) model can be dynamically composed of reusable services of unknown quality, created by multiple organizations, and communicating through many technologies across the unpredictable Internet. Lee explains that claims about quality require knowledge of test “coverage,” which is an unknowable quantity in hyper-complex systems. Join Lee for a look at your testing future as he describes new approaches needed to measure test coverage in these hyper-complex systems and lead your organization to better quality—despite the challenges.