Hard Problems in Software Testing: Solutions Using Testing as a Service (TaaS)