| With the size and complication of software increasing, the testing is not only the vital technique for software quality, but also the primarily means for promoting software development. The testing is now still depending on requirement and design specifications, so it takes these problems: firstly, it is difficult to verify whether design is consistent with requirement because the phase from requirement to design in which many faults come forth is hard to pursue; secondly, the testing can't be concurrent with development for it depending on the specifications stabilization of requirement and design; thirdly, how to get the test subset for auditing is necessary to be resolved, because the primary test cost is auditing. So the dissertation proposed software feature model and the method of reducing test set by clustering. The model has feature as key element throughout a project and decreases the difference among project phases. It builds topology structure for understanding and pursuing software goal, so the members of the project can check the consistency by using it. The model enhances software testability, provides basement for test set reduction and it can assist development.The primary works of the dissertation were proposed as follows:1,After researching current testing techniques, it can be found that the test resources are not sufficient and the testing efficient is not great. By analyzing what leads defects and what is the essence of test, the conclusion is that software feature model should be constructed for testing.2,The requirement feature model was built. Its key element is feature. It is organized as abstract hierarchy and its semantics are described by meta-model. The relationship among features is constrained by logical formula. The model can be built at the same time with requirement. Whether requirement specification is correct can be verified by testing the model and the use case part of the model can be used to design test set.3,The design feature model was built by taking feature component as essential element which connects feature with semantics. The model is built according to the duty-distribution pattern by top-down or down-top method. According to the process of constructing, the model has relationship with requirement feature model in its structure. Whether the design is correct can be verified by the model at the same time with development, and the model can be used to get paths of the test.4,The method of test set reduction by feature was proposed. If the paths of test case running were denoted by lower elements, the test set can be partitioned according features by clustering. The failure pursuit sampling was taken to obtain test case subset. The experiment proves that the subset will be more efficient if the profile elements express faults clearer.5,The instance of test case set reduction technique was proposed and the prototype of TeChoose was developed. The method selects regression test subset by multidimensional scaling. The MDS'property which reduces dimension number safely is used to take multi-dimension spots into two dimension space. So test members can easily join the process for choosing test subset. The experiment proves that the test subset obtained by the method is more efficient.The development process of the tool proves that the software feature model is concurrent with development and it is helpful for pursuing requirement to design. The experimental result shows that the method of clustering reduction works well. |