These tests don't actually tell your ancestry, there is no way for a genetic test to do that because there is too much genetic variation among populations, as well as between.
Instead, the test is reporting, based on the polymorphisms observed, an estimate of their ancestry based on sharing those polymorphisms with others from a group. How do you know what polymorphisms an Asian or Native American has? Well, you do tests on a bunch of Asians and a bunch of Native Americans and use the similarities between them compared to other groups to form a 'profile' for that group. However, even an individual with a perfect geographical pedigree can share polymorphisms with other ethnic groups.
Wikipedia has a section on this:
Many companies offer a percentage breakdown by ethnicity or region. Generally the world is specified into about 20-25 regions, and the approximate percentage of DNA inherited from each is stated. This is usually done by comparing the frequency of each Autosomal DNA marker tested to many population groups. The reliability of this type of test is dependent on comparative population size, the number of markers tested, the ancestry informative value of the SNPs tested, and the degree of admixture in the person tested. Earlier ethnicity estimates were often wildly inaccurate, but their accuracies have since improved greatly. Usually the results at the continental level are accurate, but more specific assertions of the test may turn out to be incorrect. For example, Europeans often receive an exaggerated proportion of Scandinavian. Testing companies will often regularly update their ethnicity estimate, changing an individual's ethnicity estimate.
In summary: ethnicity testing is at best to satisfy a curiosity. There is no way that genetic testing can identify your geneology perfectly, and in fact it is pretty meaningless to do so, because interbreeding between geographically distinct populations happens all the time.