Empirical testing of competing theories lies at the heart of social science research. We demonstrate that a very general and well-known class of statistical models, called finite mixture models, provides an effective way of rival theory testing. In the proposed framework, each observation is assumed to be generated from a statistical model implied by one of the theories under consideration. Researchers can then estimate the probability that a specific observation is consistent with either of the competing theories. By directly modeling this probability with the characteristics of observations, one can also determine the conditions under which a particular theory applies. We discuss a principled way to identify a list of observations that are statistically significantly consistent with each theory. Finally, we propose several measures of the overall performance of a particular theory. We illustrate the advantages of our method by applying it to an influential study on trade policy preferences.