a convergence-determining class
Checking integral f dmu_n -> integral f dmu for ALL bounded continuous f is a lot of work, and usually impossible directly. You want a small, manageable subclass of test functions M such that convergence on M alone already forces weak convergence. Such an M is called convergence-determining. It is the practical reason weak convergence can ever be verified: you reduce an uncountable test to a tractable one (complex exponentials, indicators of rectangles, polynomials, and so on).
A class M of bounded continuous functions on S is convergence-determining if, whenever mu_n and mu are probability measures with integral f dmu_n -> integral f dmu for every f in M, it follows that mu_n => mu (full weak convergence against all of C_b). This is strictly stronger than being merely separating (a separating class only distinguishes distinct limit measures; a convergence-determining class additionally forces the convergence). On R^d the functions x |-> e^{i t . x}, t in R^d, are convergence-determining, this is precisely Levy's continuity theorem (with its pointwise-continuity-at-0 proviso); the indicators of continuity-set rectangles are convergence-determining; and on a compact space, by Stone-Weierstrass, a point-separating algebra of continuous functions is convergence-determining.
The subtlety is that convergence-determining is stronger than separating, and the gap is real on non-compact spaces. A class can separate measures (any two distinct measures are told apart) yet fail to be convergence-determining (pointwise convergence of the test integrals can hold while the measures escape mass to infinity). The standard fix is to add a tightness hypothesis: a separating class plus tightness of {mu_n} does force weak convergence, because tightness supplies subsequential limits and separation identifies them. This is the precise sense in which 'characteristic functions determine convergence' needs Levy's tightness clause.
On R, the family {e^{itx} : t in R} is convergence-determining: if the characteristic functions phi_n(t) = E[e^{itX_n}] converge pointwise to a function phi continuous at 0, then phi is a characteristic function and X_n => X with that law. By contrast {e^{itx} : t rational} merely separates measures and is NOT convergence-determining without extra continuity control.
Characteristic functions as the prototype convergence-determining class, via Levy's continuity theorem.
Do not conflate convergence-determining with separating: every convergence-determining class is separating, but the converse fails. On non-compact spaces a separating class needs a tightness hypothesis to upgrade to convergence-determining.