Automated Test Case Genration on the Basis of Branch Coverage Using Teaching Learning Based Optimization