N. Soundarajan, J. Hallstrom, A. Delibas, Guoqiang Shu
{"title":"测试模式","authors":"N. Soundarajan, J. Hallstrom, A. Delibas, Guoqiang Shu","doi":"10.1109/SEW.2007.108","DOIUrl":null,"url":null,"abstract":"After over a decade of use, design patterns continue to find new areas of application. In previous work, we presented a contract formalism for specifying patterns precisely, and showed how the use of the formalism can amplify the benefits of patterns. In this paper, our goal is to enable practitioners to test whether their systems, as implemented, meet the requirements, as specified in the pattern contracts, corresponding to the correct usage of the patterns underlying the systems' designs. In our testing approach, corresponding to each design pattern, there is a set of what we call pattern test case templates (PTCTs). A PTCT codifies a reusable test case structure designed to identify defects associated with applications of the particular pattern. The test assertions in the PTCT are based on the requirements specified in the appropriate pattern contract. Next we present a process using which, given any system designed using the pattern, the system tester can generate a test suite from the PTCTs for that pattern that can be used to test the system for bugs in the implementation of the particular pattern. The process allows the system tester to tailor the test suite the needs of the individual system by specifying a set of specialization rules that are designed to reflect the structure and the scenarios in which the defects codified in the PTCTs are likely to manifest themselves in the particular system.","PeriodicalId":277367,"journal":{"name":"31st IEEE Software Engineering Workshop (SEW 2007)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-03-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Testing Patterns\",\"authors\":\"N. Soundarajan, J. Hallstrom, A. Delibas, Guoqiang Shu\",\"doi\":\"10.1109/SEW.2007.108\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"After over a decade of use, design patterns continue to find new areas of application. In previous work, we presented a contract formalism for specifying patterns precisely, and showed how the use of the formalism can amplify the benefits of patterns. In this paper, our goal is to enable practitioners to test whether their systems, as implemented, meet the requirements, as specified in the pattern contracts, corresponding to the correct usage of the patterns underlying the systems' designs. In our testing approach, corresponding to each design pattern, there is a set of what we call pattern test case templates (PTCTs). A PTCT codifies a reusable test case structure designed to identify defects associated with applications of the particular pattern. The test assertions in the PTCT are based on the requirements specified in the appropriate pattern contract. Next we present a process using which, given any system designed using the pattern, the system tester can generate a test suite from the PTCTs for that pattern that can be used to test the system for bugs in the implementation of the particular pattern. The process allows the system tester to tailor the test suite the needs of the individual system by specifying a set of specialization rules that are designed to reflect the structure and the scenarios in which the defects codified in the PTCTs are likely to manifest themselves in the particular system.\",\"PeriodicalId\":277367,\"journal\":{\"name\":\"31st IEEE Software Engineering Workshop (SEW 2007)\",\"volume\":\"6 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2007-03-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"31st IEEE Software Engineering Workshop (SEW 2007)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SEW.2007.108\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"31st IEEE Software Engineering Workshop (SEW 2007)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEW.2007.108","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
After over a decade of use, design patterns continue to find new areas of application. In previous work, we presented a contract formalism for specifying patterns precisely, and showed how the use of the formalism can amplify the benefits of patterns. In this paper, our goal is to enable practitioners to test whether their systems, as implemented, meet the requirements, as specified in the pattern contracts, corresponding to the correct usage of the patterns underlying the systems' designs. In our testing approach, corresponding to each design pattern, there is a set of what we call pattern test case templates (PTCTs). A PTCT codifies a reusable test case structure designed to identify defects associated with applications of the particular pattern. The test assertions in the PTCT are based on the requirements specified in the appropriate pattern contract. Next we present a process using which, given any system designed using the pattern, the system tester can generate a test suite from the PTCTs for that pattern that can be used to test the system for bugs in the implementation of the particular pattern. The process allows the system tester to tailor the test suite the needs of the individual system by specifying a set of specialization rules that are designed to reflect the structure and the scenarios in which the defects codified in the PTCTs are likely to manifest themselves in the particular system.