This research will investigate the development of effective software product line testing mechanisms that will enhance the quality of developed applications. Software product lines are becoming more prevalent in main stream industrial software development practices. The main idea behind this approach is that in any manufacturing process many systems of a given application domain share a lot of similarities. Given these similarities, it makes sense to set up an environment which allows newer applications to be built from the already existing sub-components of older systems. In other words, the similarity between the systems of the same nature provides the potential for a lot of their components to be shared and reused. For instance, factory product lines are now widely used in the automotive industry where newer brands and models of a vehicle are developed by simply reusing many of the existing components of an earlier vehicle model and reconfiguring them into this newer vehicle. Besides the automotive industry, many other industries such as the aerospace and aviation industries are also using this approach for developing their systems. As a successful case, Boeing develops its 757 and 767 aircraft in tandem. This is because the parts that are used for manufacturing these two very different aircraft overlap by about 60%. Therefore, by using a product line approach Boeing has been reusing and sharing many of the common components and subsystems of these two aircraft and has achieved significant economical benefits in their production and maintenance. Now, given that wide reuse of components in software product lines, a fault in one component may ripple through to many potential target applications, and hence impact various systems. For this purpose, it is extremely important to devise rigorous testing strategies and mechanisms in order to make sure that all of the faults and errors of a software product line are detected and covered before applications are spawned from it.