{"title":"回归测试","authors":"G. M. Kapfhammer","doi":"10.1081/E-ESE-120044337","DOIUrl":null,"url":null,"abstract":"Abstract. Regression testing techniques execute a test suite wheneve r th addition of defect fixes or new functionality changes the program under t est. The repeated execution of a test suite aims to establish a confidence in the cor re tness of the software application and identify defects that were introduced by th e program modifications. Industry experiences suggest that regression testing ofte n improves the quality of the application under test. However, testing teams may not alwa ys perform regression testing because the frequent execution of the tests often in curs high time and space overheads. Test suite selectiontechniques try to reduce the cost of testing by running a subset of the tests, such as those that execute the modified s ource code, in order to ensure that the updated program still operates correctly. A lternatively,reductionmethods decrease testing time overheads by discarding the tests that redundantly cover the test requirements. Approaches to test suite prioritization reorder the test cases in an attempt to maximize the rate at which the tests achieve a test ing goal such as code coverage. After describing a wide variety of metrics for emp irically evaluating different regression testing methods, this chapter considers the efficiency and effectiveness trade-offs associated with these techniques. The conclusi on of this article summarizes the state-of-the-art in the field of regression testing and t hen offers suggestions for future work and resources for further study.","PeriodicalId":386020,"journal":{"name":"Encyclopedia of Software Engineering","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"18","resultStr":"{\"title\":\"Regression Testing\",\"authors\":\"G. M. Kapfhammer\",\"doi\":\"10.1081/E-ESE-120044337\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Abstract. Regression testing techniques execute a test suite wheneve r th addition of defect fixes or new functionality changes the program under t est. The repeated execution of a test suite aims to establish a confidence in the cor re tness of the software application and identify defects that were introduced by th e program modifications. Industry experiences suggest that regression testing ofte n improves the quality of the application under test. However, testing teams may not alwa ys perform regression testing because the frequent execution of the tests often in curs high time and space overheads. Test suite selectiontechniques try to reduce the cost of testing by running a subset of the tests, such as those that execute the modified s ource code, in order to ensure that the updated program still operates correctly. A lternatively,reductionmethods decrease testing time overheads by discarding the tests that redundantly cover the test requirements. Approaches to test suite prioritization reorder the test cases in an attempt to maximize the rate at which the tests achieve a test ing goal such as code coverage. After describing a wide variety of metrics for emp irically evaluating different regression testing methods, this chapter considers the efficiency and effectiveness trade-offs associated with these techniques. The conclusi on of this article summarizes the state-of-the-art in the field of regression testing and t hen offers suggestions for future work and resources for further study.\",\"PeriodicalId\":386020,\"journal\":{\"name\":\"Encyclopedia of Software Engineering\",\"volume\":\"2 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"18\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Encyclopedia of Software Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1081/E-ESE-120044337\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Encyclopedia of Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1081/E-ESE-120044337","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Abstract. Regression testing techniques execute a test suite wheneve r th addition of defect fixes or new functionality changes the program under t est. The repeated execution of a test suite aims to establish a confidence in the cor re tness of the software application and identify defects that were introduced by th e program modifications. Industry experiences suggest that regression testing ofte n improves the quality of the application under test. However, testing teams may not alwa ys perform regression testing because the frequent execution of the tests often in curs high time and space overheads. Test suite selectiontechniques try to reduce the cost of testing by running a subset of the tests, such as those that execute the modified s ource code, in order to ensure that the updated program still operates correctly. A lternatively,reductionmethods decrease testing time overheads by discarding the tests that redundantly cover the test requirements. Approaches to test suite prioritization reorder the test cases in an attempt to maximize the rate at which the tests achieve a test ing goal such as code coverage. After describing a wide variety of metrics for emp irically evaluating different regression testing methods, this chapter considers the efficiency and effectiveness trade-offs associated with these techniques. The conclusi on of this article summarizes the state-of-the-art in the field of regression testing and t hen offers suggestions for future work and resources for further study.