viability testing