Smart3D Episode #19 — Make 3D Testing Great Again!

No-one, really no-one, likes to do testing. But for complex models it’s simply a must-have!

Can you find the Easter Eggs? Two identical entries…

No matter if parametric or super parametric data (Episode #1), the implementation of real product life-cycles is challenging! Why is this?

On the one hand, there ALWAYS can happen something that makes your models not fully correctly working anymore:

  • Some unwanted change in the ERP data such as a modified id of a product, property or property value,
  • Some explicit change in the ERP data such as a modified id of a product, property or property value,
  • Some updated software component, directly or even indirectly,
  • Some human mistake on whatever level,
  • Etc.

On the other hand, a full test cycle before any release/deployment would be a BIG thing to do, if done by human testers, manually…

So what now? A few random samples and then pray to God? Even random samples would require effort but cover, by definition, not all situations…

Do ya remember the Server introduced in Episode #6? Why not use this buddy to solve our problem? Yeah, why not! Define an itsy-bitsy JSON format that supports products and operations applied to all of them (i.e. two dimensions), create a little tool understanding this JSON, which then fires according server requests, and we’re done! Well, mostly. What we get back from the server is neutral structural information describing our models after all parametric stuff has been resolved. No human can understand this directly to see if it’s right or wrong… right?! So what we finally need is someone who checks the current version against the previous version (following a math induction approach…). This is either available as standard tool by the operating system (at least on Unix); also, any programmer should be able to write such a tool (sounds simpler than it actually is…). We decided to let the git tool chain do this job. So we add those server responses to our source code version control system and after a any new run, SourceTree or any other tool shows us the deltas immediately, even in nice colors!

This is our approach to maintain lifecycle quality for highly configurable mass data. If you know a better way, please tell us!

Happy Easter, folks!