Constraint-Based Testing: An Emerging Trend in Software Testing