Upsorn Praphamontripong, A. Offutt, Lin Deng, Jingjing Gu
While modern web development technologies enhance the capabilities of web applications, they introduce challenges for testers. This paper introduces, evaluates, and refines web mutation operators that target interaction faults in web applications. An experimental study is conducted on 11 subject web applications using 15 web mutation operators. The effectiveness of 12 independently developed test sets are analyzed in terms of how well they kill web mutants. Web mutation adequate tests are compared with independently created test sets to evaluate the web mutation operators. Tests designed to satisfy the web mutation testing criterion provide 100% coverage while the tests designed to satisfy traditional testing criteria provide, on average, 47%coverage. The paper also analyzes which mutants and mutation operators the traditional tests had difficulty killing. We found that some types of mutants that are not particularly hard to kill were missed by all traditional tests. Additionally, web mutation testing produces very few equivalent mutants.
{"title":"An Experimental Evaluation of Web Mutation Operators","authors":"Upsorn Praphamontripong, A. Offutt, Lin Deng, Jingjing Gu","doi":"10.1109/ICSTW.2016.17","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.17","url":null,"abstract":"While modern web development technologies enhance the capabilities of web applications, they introduce challenges for testers. This paper introduces, evaluates, and refines web mutation operators that target interaction faults in web applications. An experimental study is conducted on 11 subject web applications using 15 web mutation operators. The effectiveness of 12 independently developed test sets are analyzed in terms of how well they kill web mutants. Web mutation adequate tests are compared with independently created test sets to evaluate the web mutation operators. Tests designed to satisfy the web mutation testing criterion provide 100% coverage while the tests designed to satisfy traditional testing criteria provide, on average, 47%coverage. The paper also analyzes which mutants and mutation operators the traditional tests had difficulty killing. We found that some types of mutants that are not particularly hard to kill were missed by all traditional tests. Additionally, web mutation testing produces very few equivalent mutants.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129056060","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Many existing testing techniques adopt diversity as an important criterion for the selection and prioritization of tests. However, mutation adequacy has been content with simply maximizing the number of mutants that have been killed. We propose a novel mutation adequacy criterion that considers the diversity in the relationship between tests and mutants, as well as whether mutants are killed. Intuitively, the proposed criterion is based on the notion that mutants can be distinguished by the sets of tests that kill them. A test suite is deemed adequate by our criterion if the test suite distinguishes all mutants in terms of their kill patterns. Our hypothesis is that, simply by using a stronger adequacy criterion, it is possible to improve fault detection capabilities of mutation-adequate test suites. The empirical evaluation selects tests for real world applications using the proposed mutation adequacy criterion to test our hypothesis. The results show that, for real world faults, test suites adequate to our criterion can increase the fault detection success rate by up to 76.8 percentage points compared to test suites adequate to the traditional criterion.
{"title":"Diversity-Aware Mutation Adequacy Criterion for Improving Fault Detection Capability","authors":"Donghwan Shin, S. Yoo, Doo-Hwan Bae","doi":"10.1109/ICSTW.2016.37","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.37","url":null,"abstract":"Many existing testing techniques adopt diversity as an important criterion for the selection and prioritization of tests. However, mutation adequacy has been content with simply maximizing the number of mutants that have been killed. We propose a novel mutation adequacy criterion that considers the diversity in the relationship between tests and mutants, as well as whether mutants are killed. Intuitively, the proposed criterion is based on the notion that mutants can be distinguished by the sets of tests that kill them. A test suite is deemed adequate by our criterion if the test suite distinguishes all mutants in terms of their kill patterns. Our hypothesis is that, simply by using a stronger adequacy criterion, it is possible to improve fault detection capabilities of mutation-adequate test suites. The empirical evaluation selects tests for real world applications using the proposed mutation adequacy criterion to test our hypothesis. The results show that, for real world faults, test suites adequate to our criterion can increase the fault detection success rate by up to 76.8 percentage points compared to test suites adequate to the traditional criterion.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117030156","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
It is apparent that implementing Combinatorial (CT) Testing, being relatively new to many organizations, comes with both technical and non-technical challenges. This paper focuses the technical challenges and how they were addressed in implementing CT for solutions testing. The author believes that these challenges are not unique to solution testing, and that they are equally applicable to implementations of CT in general.
{"title":"Combinatorial Testing: Implementations in Solutions Testing","authors":"Anwar Sherif","doi":"10.1109/ICSTW.2016.39","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.39","url":null,"abstract":"It is apparent that implementing Combinatorial (CT) Testing, being relatively new to many organizations, comes with both technical and non-technical challenges. This paper focuses the technical challenges and how they were addressed in implementing CT for solutions testing. The author believes that these challenges are not unique to solution testing, and that they are equally applicable to implementations of CT in general.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126869340","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Web applications are used by companies across the world to deploy their products and services. Because of the technologies used to build web applications, they are by nature concurrent, for example, multiple users can have problems when accessing the same limited resources. The combination of the stateless nature of web applications and concurrent behavior creates unique challenges. Models have traditionally been used to test specific aspects of systems. However, existing web application models do not effectively address the combination of concurrent behavior and stateless protocol. This research project is using a novel Petri net-based model for web applications. This paper defines a novel way to design model-based coverage criteria tests that address concurrent behavior involving HTTP browser-based sessions. A tool that extracts the Petri net model of a web application has been developed and used to study ten web applications totaling 17,535 lines of code. The tool was used to extract the model and generate tests, revealing 36 naturally occurring software faults that had not been found during previous testing.
{"title":"Using Petri Nets to Test Concurrent Behavior of Web Applications","authors":"Sunitha Thummala, A. Offutt","doi":"10.1109/ICSTW.2016.15","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.15","url":null,"abstract":"Web applications are used by companies across the world to deploy their products and services. Because of the technologies used to build web applications, they are by nature concurrent, for example, multiple users can have problems when accessing the same limited resources. The combination of the stateless nature of web applications and concurrent behavior creates unique challenges. Models have traditionally been used to test specific aspects of systems. However, existing web application models do not effectively address the combination of concurrent behavior and stateless protocol. This research project is using a novel Petri net-based model for web applications. This paper defines a novel way to design model-based coverage criteria tests that address concurrent behavior involving HTTP browser-based sessions. A tool that extracts the Petri net model of a web application has been developed and used to study ten web applications totaling 17,535 lines of code. The tool was used to extract the model and generate tests, revealing 36 naturally occurring software faults that had not been found during previous testing.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126068787","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mutation analysis is a powerful technique for software testing but it is also known to be computationally expensive. The main reason for the high computational cost is that many of the mutants are redundant and thus, do not contribute to the quality of the test suite. One of the most promising approaches to avoid producing redundant mutants is to identify subsumption relations among mutants, preferably before these are generated. Such relations have for example, been identified at an operator level for mutants created by the ROR operator. This reduced set of non-redundant mutants has been used in several recent studies and is also the default option in at least one mutation testing tool that supports strong mutation. This raises questions on whether the identified subsumption relations between the mutants hold in a context of strong mutation or variants of weak mutation that require some limited error propagation (firm mutation). We have conducted an experimental study to investigate the subsumption relations in the context of strong or firm mutation. We observed that it is possible to create a test suite that is 100% adequate for the reduced set of mutants while not being 100% adequate for the complete set. This shows that the subsumption relations do not hold for strong or firm mutation. We provide several examples on this behavior and discuss the root causes. Our findings are important since strong and firm mutation both are frequently used to evaluate test suites and testing criteria. The choice of whether to use a reduced set of mutants or an entire set should however, not be made without consideration of the context in which they are used (i.e., strong, firm or weak mutation) since the subsumption relations between ROR mutants do not hold for strong or firm mutation. Just as redundant mutants can give an overestimation of the mutation score for a test suite, using the reduced set of mutants can give an underestimation if used together with strong or firm mutation. Results reported from such studies should therefore, be accompanied by information on whether the reduced or complete set of mutants was used and if the researchers used strong, firm or weak mutation.
{"title":"On strong mutation and subsuming mutants","authors":"B. Lindström, András Márki","doi":"10.1109/ICSTW.2016.28","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.28","url":null,"abstract":"Mutation analysis is a powerful technique for software testing but it is also known to be computationally expensive. The main reason for the high computational cost is that many of the mutants are redundant and thus, do not contribute to the quality of the test suite. One of the most promising approaches to avoid producing redundant mutants is to identify subsumption relations among mutants, preferably before these are generated. Such relations have for example, been identified at an operator level for mutants created by the ROR operator. This reduced set of non-redundant mutants has been used in several recent studies and is also the default option in at least one mutation testing tool that supports strong mutation. This raises questions on whether the identified subsumption relations between the mutants hold in a context of strong mutation or variants of weak mutation that require some limited error propagation (firm mutation). We have conducted an experimental study to investigate the subsumption relations in the context of strong or firm mutation. We observed that it is possible to create a test suite that is 100% adequate for the reduced set of mutants while not being 100% adequate for the complete set. This shows that the subsumption relations do not hold for strong or firm mutation. We provide several examples on this behavior and discuss the root causes. Our findings are important since strong and firm mutation both are frequently used to evaluate test suites and testing criteria. The choice of whether to use a reduced set of mutants or an entire set should however, not be made without consideration of the context in which they are used (i.e., strong, firm or weak mutation) since the subsumption relations between ROR mutants do not hold for strong or firm mutation. Just as redundant mutants can give an overestimation of the mutation score for a test suite, using the reduced set of mutants can give an underestimation if used together with strong or firm mutation. Results reported from such studies should therefore, be accompanied by information on whether the reduced or complete set of mutants was used and if the researchers used strong, firm or weak mutation.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124932092","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Testing software based on symbolic execution is a promising and well-researched approach. Recently, various dynamic symbolic execution approaches have been proposed that are of interest for industrial practice. However, the corresponding tools are typically not directly usable on model-based languages that are predominantly used in the automotive sector. To this end, we use an internal software analysis framework for model-based, embedded software that allows us to easily integrate various approaches leveraging static and dynamic symbolic execution. In our case study, we describe idiosyncrasies of automotive embedded software and show the benefits of leveraging symbolic information to generate test cases. We study and compare different techniques for generating test cases. We evaluate all techniques empirically on relevant, real-world programs from engine control.
{"title":"Experience Report: White Box Test Case Generation for Automotive Embedded Software","authors":"A. Hoffmann, Jochen Quante, M. Woehrle","doi":"10.1109/ICSTW.2016.18","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.18","url":null,"abstract":"Testing software based on symbolic execution is a promising and well-researched approach. Recently, various dynamic symbolic execution approaches have been proposed that are of interest for industrial practice. However, the corresponding tools are typically not directly usable on model-based languages that are predominantly used in the automotive sector. To this end, we use an internal software analysis framework for model-based, embedded software that allows us to easily integrate various approaches leveraging static and dynamic symbolic execution. In our case study, we describe idiosyncrasies of automotive embedded software and show the benefits of leveraging symbolic information to generate test cases. We study and compare different techniques for generating test cases. We evaluate all techniques empirically on relevant, real-world programs from engine control.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125508834","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mutation score has long been used in research as a metric to measure the effectiveness of testing strategies. This paper presents evidence that mutation score lacks the desired accuracy to determine the completeness of a test suite due to noise introduced by the redundancy inherent in traditional mutation, and that dominator mutation score is a superior metric for this purpose. We evaluate the impact of different levels of redundant and equivalent mutants on mutation score and the ability to determine completeness in developing a mutation-adequate test suite. We conclude that, in the context of our model, redundant mutants make it very difficult to accurately assess test completeness. Equivalent mutants, on the other hand, have little effect on determining completeness. Based on this information, we suggest limits to redundancy and equivalency that mutation tools must achieve to be practical for general use in software testing.
{"title":"Are We There Yet? How Redundant and Equivalent Mutants Affect Determination of Test Completeness","authors":"Bob Kurtz, P. Ammann, A. Offutt, M. Kurtz","doi":"10.1109/ICSTW.2016.41","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.41","url":null,"abstract":"Mutation score has long been used in research as a metric to measure the effectiveness of testing strategies. This paper presents evidence that mutation score lacks the desired accuracy to determine the completeness of a test suite due to noise introduced by the redundancy inherent in traditional mutation, and that dominator mutation score is a superior metric for this purpose. We evaluate the impact of different levels of redundant and equivalent mutants on mutation score and the ability to determine completeness in developing a mutation-adequate test suite. We conclude that, in the context of our model, redundant mutants make it very difficult to accurately assess test completeness. Equivalent mutants, on the other hand, have little effect on determining completeness. Based on this information, we suggest limits to redundancy and equivalency that mutation tools must achieve to be practical for general use in software testing.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121107690","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Jaganmohan Chandrasekaran, Laleh Shikh Gholamhossein Ghandehari, Yu Lei, R. Kacker, D. R. Kuhn
Debugging or fault localization is one of the most challenging tasks during software development. Many tools have been developed to reduce the amount of effort and time software developers have to spend on fault localization. In this paper, we evaluate the effectiveness of a fault localization tool called BEN in localizing different types of software fault. Assuming that combinatorial testing has been performed on the subject program, BEN leverages the result obtained from combinatorial testing to perform fault localization. Our evaluation focuses on impact of three properties of software fault on the effectiveness of BEN. The three properties include accessibility, input value sensitivity and control flow sensitivity. A random test set-based approach is used to measure the three properties. The experimental results suggest that BEN is more effective, respectively, in localizing faults of lower accessibility, input value-insensitive faults or control flow-insensitive faults than localizing faults of higher accessibility, input value-sensitive or control flow-sensitive faults in the subject programs. The insights obtained from our evaluation can be applied to other fault localization tools that are similar to BEN, and can be used to identify opportunities for further research on combinatorial testing-based fault localization.
{"title":"Evaluating the Effectiveness of BEN in Localizing Different Types of Software Fault","authors":"Jaganmohan Chandrasekaran, Laleh Shikh Gholamhossein Ghandehari, Yu Lei, R. Kacker, D. R. Kuhn","doi":"10.1109/ICSTW.2016.44","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.44","url":null,"abstract":"Debugging or fault localization is one of the most challenging tasks during software development. Many tools have been developed to reduce the amount of effort and time software developers have to spend on fault localization. In this paper, we evaluate the effectiveness of a fault localization tool called BEN in localizing different types of software fault. Assuming that combinatorial testing has been performed on the subject program, BEN leverages the result obtained from combinatorial testing to perform fault localization. Our evaluation focuses on impact of three properties of software fault on the effectiveness of BEN. The three properties include accessibility, input value sensitivity and control flow sensitivity. A random test set-based approach is used to measure the three properties. The experimental results suggest that BEN is more effective, respectively, in localizing faults of lower accessibility, input value-insensitive faults or control flow-insensitive faults than localizing faults of higher accessibility, input value-sensitive or control flow-sensitive faults in the subject programs. The insights obtained from our evaluation can be applied to other fault localization tools that are similar to BEN, and can be used to identify opportunities for further research on combinatorial testing-based fault localization.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122480332","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software Fault Tolerance is an ability of computer software to continue its normal operation despite the presence of system or hardware faults. Most companies are moving towards a microservices-based architecture where complex applications are developed with a suite of small services, each of which communicates using some common protocols like Hypertext Transfer Protocol (HTTP). While this architecture enables agility in software development and go-to-market, it poses a critical challenge of assessing fault tolerance and resiliency of the overall system. A failure in one of the dependent services can cause an unexpected impact on the upstream services causing severe customer facing issues. Such issues are a result of lack of resiliency in the architecture of the system. There is a need for an automated tool to be able to understand the service architecture, topology, and be able to inject faults to assess fault tolerance and resiliency of the system. In this paper, we present Screwdriver -- a new automated solution developed at Groupon to address this need.
{"title":"Automated Fault-Tolerance Testing","authors":"Adithya Nagarajan, Ajay Vaddadi","doi":"10.1109/ICSTW.2016.34","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.34","url":null,"abstract":"Software Fault Tolerance is an ability of computer software to continue its normal operation despite the presence of system or hardware faults. Most companies are moving towards a microservices-based architecture where complex applications are developed with a suite of small services, each of which communicates using some common protocols like Hypertext Transfer Protocol (HTTP). While this architecture enables agility in software development and go-to-market, it poses a critical challenge of assessing fault tolerance and resiliency of the overall system. A failure in one of the dependent services can cause an unexpected impact on the upstream services causing severe customer facing issues. Such issues are a result of lack of resiliency in the architecture of the system. There is a need for an automated tool to be able to understand the service architecture, topology, and be able to inject faults to assess fault tolerance and resiliency of the system. In this paper, we present Screwdriver -- a new automated solution developed at Groupon to address this need.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125730570","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Technical debt (TD) is a concept used to describe a sub-optimal solution of a software artifact that negatively affects its comprehensibility, extendability and maintainability. As such, TD adversely affects the costs or quality associated with the artifact, which is also called interest. TD has through research been identified in all types of software artifacts, from architectural design to automated tests (Testware). However, research into testware technical debt (TTD) is limited and primarily focused on testing on lower level of system abstraction, i.e. unit-and integration tests, leaving a need for more TTD research on GUI-based testing. In this study we explore this gap in knowledge through an industrial case study at a Swedish avionics software development company. Four repositories are studied for the presence of TTD using expert interviews, semi-automated document analysis and automatic metric analysis. Results of the study provide initial support that the concept of TTD is applicable to GUI-based testware and show the presence of both TD items unique to GUI-based testware and items common to software. The implications of these results are that engineering best practices must be established for GUI-based testware to minimize TD interest.
{"title":"Exploring the Presence of Technical Debt in Industrial GUI-Based Testware: A Case Study","authors":"Emil Alégroth, Marcello Steiner, A. Martini","doi":"10.1109/ICSTW.2016.47","DOIUrl":"https://doi.org/10.1109/ICSTW.2016.47","url":null,"abstract":"Technical debt (TD) is a concept used to describe a sub-optimal solution of a software artifact that negatively affects its comprehensibility, extendability and maintainability. As such, TD adversely affects the costs or quality associated with the artifact, which is also called interest. TD has through research been identified in all types of software artifacts, from architectural design to automated tests (Testware). However, research into testware technical debt (TTD) is limited and primarily focused on testing on lower level of system abstraction, i.e. unit-and integration tests, leaving a need for more TTD research on GUI-based testing. In this study we explore this gap in knowledge through an industrial case study at a Swedish avionics software development company. Four repositories are studied for the presence of TTD using expert interviews, semi-automated document analysis and automatic metric analysis. Results of the study provide initial support that the concept of TTD is applicable to GUI-based testware and show the presence of both TD items unique to GUI-based testware and items common to software. The implications of these results are that engineering best practices must be established for GUI-based testware to minimize TD interest.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127257167","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}