{"title":"一种利用变质关系测试银行软件的方法","authors":"Karishma Rahman, C. Izurieta","doi":"10.1109/IRI58017.2023.00036","DOIUrl":null,"url":null,"abstract":"Software systems used for banking are crucial for daily operations and are considered to be part of critical infrastructure; however, testing the functions of these highly reusable systems can be difficult due to the project’s complexity and the absence of a reliable oracle. In software testing, the Oracle problem directs to the difficulty of deciding whether the software’s observed behavior is correct. To address this issue, we suggest utilizing metamorphic testing (MT), which tests the banking system’s functionalities based on their properties. Metamorphic testing is a software testing technique where multiple inputs are generated for a program, then those inputs are transformed based on a pre-defined set of rules. The resulting outputs are then compared to the original outputs to verify that the program works correctly. Metamorphic relations (MRs) are a fundamental concept in metamorphic testing. They define the relationships between the input and output of a system under test and specify how they should change in response to input transformations. Through a case study, we introduce new metamorphic relations to test banking functions and demonstrate the effectiveness of using these MRs. The study results indicate that this is a feasible and efficient approach using an alternative to a test oracle when testing complex E-type (i.e., real-world) software.","PeriodicalId":290818,"journal":{"name":"2023 IEEE 24th International Conference on Information Reuse and Integration for Data Science (IRI)","volume":"358 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"An Approach to Testing Banking Software Using Metamorphic Relations\",\"authors\":\"Karishma Rahman, C. Izurieta\",\"doi\":\"10.1109/IRI58017.2023.00036\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software systems used for banking are crucial for daily operations and are considered to be part of critical infrastructure; however, testing the functions of these highly reusable systems can be difficult due to the project’s complexity and the absence of a reliable oracle. In software testing, the Oracle problem directs to the difficulty of deciding whether the software’s observed behavior is correct. To address this issue, we suggest utilizing metamorphic testing (MT), which tests the banking system’s functionalities based on their properties. Metamorphic testing is a software testing technique where multiple inputs are generated for a program, then those inputs are transformed based on a pre-defined set of rules. The resulting outputs are then compared to the original outputs to verify that the program works correctly. Metamorphic relations (MRs) are a fundamental concept in metamorphic testing. They define the relationships between the input and output of a system under test and specify how they should change in response to input transformations. Through a case study, we introduce new metamorphic relations to test banking functions and demonstrate the effectiveness of using these MRs. The study results indicate that this is a feasible and efficient approach using an alternative to a test oracle when testing complex E-type (i.e., real-world) software.\",\"PeriodicalId\":290818,\"journal\":{\"name\":\"2023 IEEE 24th International Conference on Information Reuse and Integration for Data Science (IRI)\",\"volume\":\"358 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-08-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 IEEE 24th International Conference on Information Reuse and Integration for Data Science (IRI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IRI58017.2023.00036\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE 24th International Conference on Information Reuse and Integration for Data Science (IRI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IRI58017.2023.00036","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
An Approach to Testing Banking Software Using Metamorphic Relations
Software systems used for banking are crucial for daily operations and are considered to be part of critical infrastructure; however, testing the functions of these highly reusable systems can be difficult due to the project’s complexity and the absence of a reliable oracle. In software testing, the Oracle problem directs to the difficulty of deciding whether the software’s observed behavior is correct. To address this issue, we suggest utilizing metamorphic testing (MT), which tests the banking system’s functionalities based on their properties. Metamorphic testing is a software testing technique where multiple inputs are generated for a program, then those inputs are transformed based on a pre-defined set of rules. The resulting outputs are then compared to the original outputs to verify that the program works correctly. Metamorphic relations (MRs) are a fundamental concept in metamorphic testing. They define the relationships between the input and output of a system under test and specify how they should change in response to input transformations. Through a case study, we introduce new metamorphic relations to test banking functions and demonstrate the effectiveness of using these MRs. The study results indicate that this is a feasible and efficient approach using an alternative to a test oracle when testing complex E-type (i.e., real-world) software.