by Vas Mylko
Recently we have rebuilt a new semantic tech that produces knowledge graph of census and nature points, and POIs within. It was internal beta9, scoped to the seven countries: United States, Canada, Australia, France, Italy, United Kingdom, Germany. Before integrating with the Ingeenee optimizer, we are testing the new knowledge graph. How we test our knowledge graph…
Physically, the knowledge graph consists of multiple entities. Consistency test ensures that everything is in sync between those entities. We planned to use Cayleygraph, then Dgraph, but this is still in the plans… Our propriatory representation is more efficient and suitable for critical run-time performance aspects of Curiosio. Routing is a big part of the consistency test. This test must hit the final score of 100%, no compromises here.
This is mainly sampling. By implementing good enough test coverage we can measure the quality of the knowledge graph. Diversity is important in this test. Coverage diversity is about important places and unknown small places, famous POIs and hardly known POIs, big and small, cheap and expensive, etc. Geometric/geographic diversity is about the roads, borders, edges, extreme points, etc. Semantic diversity is about what is what, what contains what and how. This test is pretty big, and it must surpass 90% threshold to be considered good enough.
This is the most badass uncompromising rigid test. Here we test that Vatican Museums are in Rome and The Statue of Liberty did not disappear from New York City. This test ensures that the admin order is not screwed up. The final score must surpass 99% threshold, otherwise it’s a failure.
Inversion is very useful. Inversion is one of the most important mental models for thinking. Inversion is great for testing. We test what must not happen. E.g. Grand Canyon National Park must not become a POI, or The Statue of Liberty must not become a census point. This test is very strict and must surpass 98% to be considered successful.
Driven from the manual and automated experiments of transcribing the best trips from the web, this test is kind of a smoke test, but on much more interesting content. It’s a smoke test empowered by human intelligence. Curiosio allows you to take a trip you like and bend it by points, time, money to the trip you love. Such trips will be automatically ingested into Curiosio (via NLP). They constitute the content for the domain test. 95% threshold must be passed for the success. Discrepancies happen on the web, that’s why.
Curiosio has Signature Tours. You can see them on the landing page. Signature Tours are entered by Supertravelers themselves or they are transcribed from the top notch Supertravelers’ blogs/sites/videos. This test must hit 95% or more to be successful. Maybe we will unite Domain and Signature tests.
The test framework is our own, propriatory. Mainly implemented in Python and Bash. Data formats are JSON and propriatory. We use Jenkins for automation. This is briefly what we are doing right now, since the release of internal beta9. We are testing, this is boring, this is mandatory for success. Travelers want best travel experience. The quality is the must. Stay curious, stay tuned.