Christine M. Gerpheide, R. Schiffelers, Alexander Serebrenik
We investigate the notion of quality in QVT Operational Mappings (QVTo), one of the languages defined in the OMG standard on model-to-model transformations. We utilize a bottom-up approach, starting with a broad exploratory study including QVTo expert interviews, a review of existing material, and introspection. We then formalize QVTo transformation quality into a QVTo quality model, consisting of high-level quality goals, quality properties, and evaluation procedures. We validate the quality model by conducting a survey in which a broader group of QVTo developers rate each property on its importance to QVTo code quality. We find that although many quality properties recognized as important for QVTo do have counterparts in traditional languages, a number are specific to QVTo or model transformation languages. Additionally, a selection of QVTo best practices discovered are presented. The primary contribution of this paper is a QVTo quality model relevant to QVTo practitioners, while secondary contributions are a bottom-up approach to building a quality model and a validation approach leveraging developer perceptions to evaluate individual quality properties.
{"title":"A Bottom-Up Quality Model for QVTo","authors":"Christine M. Gerpheide, R. Schiffelers, Alexander Serebrenik","doi":"10.1109/QUATIC.2014.18","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.18","url":null,"abstract":"We investigate the notion of quality in QVT Operational Mappings (QVTo), one of the languages defined in the OMG standard on model-to-model transformations. We utilize a bottom-up approach, starting with a broad exploratory study including QVTo expert interviews, a review of existing material, and introspection. We then formalize QVTo transformation quality into a QVTo quality model, consisting of high-level quality goals, quality properties, and evaluation procedures. We validate the quality model by conducting a survey in which a broader group of QVTo developers rate each property on its importance to QVTo code quality. We find that although many quality properties recognized as important for QVTo do have counterparts in traditional languages, a number are specific to QVTo or model transformation languages. Additionally, a selection of QVTo best practices discovered are presented. The primary contribution of this paper is a QVTo quality model relevant to QVTo practitioners, while secondary contributions are a bottom-up approach to building a quality model and a validation approach leveraging developer perceptions to evaluate individual quality properties.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133878398","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}
This paper presents a study aiming to assess the feasibility of using the Pattern Based GUI Testing approach, PBGT, to test mobile applications. PBGT is a new model based testing approach that aims to increase systematization, reusability and diminish the effort in modelling and testing. It is based on the concept of User Interface Test Patterns (UITP) that contain generic test strategies for testing common recurrent behaviour, the so-called UI Patterns, on GUIs through its possible different implementations after a configuration step. Although PBGT was developed having web applications in mind, it is possible to develop drivers for other platforms in order to test a wide set of applications. However, web and mobile applications are different and only the development of a new driver to execute test cases over mobile applications may not be enough. This paper describes a study aiming to identify the adaptations and updates the PBGT should undergo in order to test mobile applications.
{"title":"Pattern Based GUI Testing for Mobile Applications","authors":"P. Costa, A. C. Paiva, Miguel Nabuco","doi":"10.1109/QUATIC.2014.16","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.16","url":null,"abstract":"This paper presents a study aiming to assess the feasibility of using the Pattern Based GUI Testing approach, PBGT, to test mobile applications. PBGT is a new model based testing approach that aims to increase systematization, reusability and diminish the effort in modelling and testing. It is based on the concept of User Interface Test Patterns (UITP) that contain generic test strategies for testing common recurrent behaviour, the so-called UI Patterns, on GUIs through its possible different implementations after a configuration step. Although PBGT was developed having web applications in mind, it is possible to develop drivers for other platforms in order to test a wide set of applications. However, web and mobile applications are different and only the development of a new driver to execute test cases over mobile applications may not be enough. This paper describes a study aiming to identify the adaptations and updates the PBGT should undergo in order to test mobile applications.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131096845","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}
Jácome Cunha, J. Fernandes, Pedro Martins, Rui Pereira, J. Saraiva
Software refactoring is a well-known technique that provides transformations on software artifacts with the aim of improving their overall quality. In this paper we present a set of refactoring for Class Sheets, a modelling language that allows to specify the business logic of a spreadsheet in an object-oriented fashion. The set of refactoring that we propose allows us to improve the quality of these spreadsheet models. Moreover, it is implemented in a setting that guarantees that all model refactoring are automatically carried to all the corresponding (spreadsheet) instances, thus providing an automatic evolution of the data so it is always synchronized with the model.
{"title":"Refactoring Meets Model-Driven Spreadsheet Evolution","authors":"Jácome Cunha, J. Fernandes, Pedro Martins, Rui Pereira, J. Saraiva","doi":"10.1109/QUATIC.2014.34","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.34","url":null,"abstract":"Software refactoring is a well-known technique that provides transformations on software artifacts with the aim of improving their overall quality. In this paper we present a set of refactoring for Class Sheets, a modelling language that allows to specify the business logic of a spreadsheet in an object-oriented fashion. The set of refactoring that we propose allows us to improve the quality of these spreadsheet models. Moreover, it is implemented in a setting that guarantees that all model refactoring are automatically carried to all the corresponding (spreadsheet) instances, thus providing an automatic evolution of the data so it is always synchronized with the model.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"139 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121544114","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}
As the complexity of communication systems increases, new techniques and strategies should be developed for testing and verification of the system components. In this paper, we focus on testing software components that implement communication protocols at various levels. Such implementations can be considered as reactive systems and we discuss how Finite State Machines (FSMs) might be used when deriving high quality tests and which properties can be held for corresponding FSMs when increasing/decreasing an abstraction level for the protocol specification. At the high abstraction level, the specification machine can be partial and non-observable, and we propose a test derivation strategy against such specifications. Furthermore, we turn to debugging techniques and discuss how an implementation bug can be located when the specification is partial and non-observable.
{"title":"On Testing against Partial Non-observable Specifications","authors":"N. Kushik, N. Yevtushenko, A. Cavalli","doi":"10.1109/QUATIC.2014.38","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.38","url":null,"abstract":"As the complexity of communication systems increases, new techniques and strategies should be developed for testing and verification of the system components. In this paper, we focus on testing software components that implement communication protocols at various levels. Such implementations can be considered as reactive systems and we discuss how Finite State Machines (FSMs) might be used when deriving high quality tests and which properties can be held for corresponding FSMs when increasing/decreasing an abstraction level for the protocol specification. At the high abstraction level, the specification machine can be partial and non-observable, and we propose a test derivation strategy against such specifications. Furthermore, we turn to debugging techniques and discuss how an implementation bug can be located when the specification is partial and non-observable.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"54 72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115663491","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}
Fernando Selleri Silva, Felipe Santana Furtado Soares, A. L. Peres, Ivanildo Monteiro de Azevedo, P. P. Pinto, S. Meira
The area of Quality Assurance (QA) is a challenge for many software development organizations that want to implement maturity models level rating, like Capability Maturity Model Integration (CMMI), together with agile methodologies. This study aims to present AgileQA-RM, an Agile Quality Assurance Reference Model to help organizations in QA implementation. The model proposition considers results of a systematic literature review about CMMI and agile, and a case study about QA in an organization with CMMI and agile. The methodology for model evaluation started with a check of its process areas adherence with other maturity models and with agile practices and activities. A survey based on expert opinion was also performed. Five maturity levels and eighteen process areas compose AgileQA-RM. Each process area has mandatory purpose, expected results and informative work products. Initial model assessments indicates that it can contribute to help organizations assessing its current situation about agile QA practices and supporting quality improvement through adoption of agile QA practices.
{"title":"A Reference Model for Agile Quality Assurance: Combining Agile Methodologies and Maturity Models","authors":"Fernando Selleri Silva, Felipe Santana Furtado Soares, A. L. Peres, Ivanildo Monteiro de Azevedo, P. P. Pinto, S. Meira","doi":"10.1109/QUATIC.2014.25","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.25","url":null,"abstract":"The area of Quality Assurance (QA) is a challenge for many software development organizations that want to implement maturity models level rating, like Capability Maturity Model Integration (CMMI), together with agile methodologies. This study aims to present AgileQA-RM, an Agile Quality Assurance Reference Model to help organizations in QA implementation. The model proposition considers results of a systematic literature review about CMMI and agile, and a case study about QA in an organization with CMMI and agile. The methodology for model evaluation started with a check of its process areas adherence with other maturity models and with agile practices and activities. A survey based on expert opinion was also performed. Five maturity levels and eighteen process areas compose AgileQA-RM. Each process area has mandatory purpose, expected results and informative work products. Initial model assessments indicates that it can contribute to help organizations assessing its current situation about agile QA practices and supporting quality improvement through adoption of agile QA practices.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"253 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127327358","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}
A great deal of effort in model-based testing is related to the creation of the model. In addition, the model itself, while a powerful tool of abstraction, can have conceptual errors, introduced by the tester. These problems can be reduced by generating those models automatically. This paper presents a dynamic reverse engineering approach that aims to extract part of the model of an existing web application through the identification of User Interface (UI) patterns. This reverse engineering approach explores automatically any web application, records information related to the interaction, analyses the gathered information, tokenizes it, and infers the existing UI patterns via syntactical analysing. After being complemented with additional information and validated, the model extracted is the input for the Pattern-Based Graphical User Interface Testing (PBGT) approach for testing existing web application under analysis.
{"title":"Web Application Model Generation through Reverse Engineering and UI Pattern Inferring","authors":"Clara Sacramento, A. C. Paiva","doi":"10.1109/QUATIC.2014.20","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.20","url":null,"abstract":"A great deal of effort in model-based testing is related to the creation of the model. In addition, the model itself, while a powerful tool of abstraction, can have conceptual errors, introduced by the tester. These problems can be reduced by generating those models automatically. This paper presents a dynamic reverse engineering approach that aims to extract part of the model of an existing web application through the identification of User Interface (UI) patterns. This reverse engineering approach explores automatically any web application, records information related to the interaction, analyses the gathered information, tokenizes it, and infers the existing UI patterns via syntactical analysing. After being complemented with additional information and validated, the model extracted is the input for the Pattern-Based Graphical User Interface Testing (PBGT) approach for testing existing web application under analysis.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121820042","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}
Scenarios are an established means to specify requirements for software systems. Scenario-based tests allow for validating software models against such requirements. In this paper, we consider three alternative notations to define such scenario tests on structural models: a semi structured natural-language notation, a diagrammatic notation, and a fully-structured textual notation. In particular, we performed a study to understand how these three notations compare to each other with respect to accuracy and effort of comprehending scenario-test definitions, as well as with respect to the detection of errors in the models under test. 20 software professionals (software engineers, testers, researchers) participated in a controlled experiment based on six different comprehension and maintenance tasks. For each of these tasks, questions on a scenario-test definition and on a model under test had to be answered. In an ex-post questionnaire, the participants rated each notation on a number of dimensions (e.g., practicality or scalability). Our results show that the choice of a specific scenario-test notation can affect the productivity (in terms of correctness and time-effort) when testing software models for requirements conformance. In particular, the participants of our study spent comparatively less time and completed the tasks more accurately when using the natural-language notation compared to the other two notations. Moreover, the participants of our study explicitly expressed their preference for the natural-language notation.
{"title":"Comparing Three Notations for Defining Scenario-Based Model Tests: A Controlled Experiment","authors":"Bernhard Hoisl, Stefan Sobernig, Mark Strembeck","doi":"10.1109/QUATIC.2014.19","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.19","url":null,"abstract":"Scenarios are an established means to specify requirements for software systems. Scenario-based tests allow for validating software models against such requirements. In this paper, we consider three alternative notations to define such scenario tests on structural models: a semi structured natural-language notation, a diagrammatic notation, and a fully-structured textual notation. In particular, we performed a study to understand how these three notations compare to each other with respect to accuracy and effort of comprehending scenario-test definitions, as well as with respect to the detection of errors in the models under test. 20 software professionals (software engineers, testers, researchers) participated in a controlled experiment based on six different comprehension and maintenance tasks. For each of these tasks, questions on a scenario-test definition and on a model under test had to be answered. In an ex-post questionnaire, the participants rated each notation on a number of dimensions (e.g., practicality or scalability). Our results show that the choice of a specific scenario-test notation can affect the productivity (in terms of correctness and time-effort) when testing software models for requirements conformance. In particular, the participants of our study spent comparatively less time and completed the tasks more accurately when using the natural-language notation compared to the other two notations. Moreover, the participants of our study explicitly expressed their preference for the natural-language notation.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130160577","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}
George Kakarontzas, V. Gerogiannis, S. Bibi, I. Stamelos
This work discusses a new metric, Estrangement Between Classes (EBC), that is derived by executing tests. This metric is based on the statement coverage of tests and provides assessment of the strength of associations between classes. We demonstrate with an illustrative example of the popular Apache Email component that this new metric can provide additional information in reverse engineered class diagrams by highlighting missing associations in these diagrams, the strength of existing associations and utility classes. It can also be effective in indicating the important design elements in cases of over-engineered or dead code. The proposed metric can be potentially used in the context of agile methods of software development during refactoring and program maintenance as comprehension aid. Since EBC is based on tests, no additional effort is required by developers who follow the Test-Driven approach or generally develop tests.
{"title":"Estrangement between Classes: Test Coverage-Based Assessment of Coupling Strength between Pairs of Classes","authors":"George Kakarontzas, V. Gerogiannis, S. Bibi, I. Stamelos","doi":"10.1109/QUATIC.2014.13","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.13","url":null,"abstract":"This work discusses a new metric, Estrangement Between Classes (EBC), that is derived by executing tests. This metric is based on the statement coverage of tests and provides assessment of the strength of associations between classes. We demonstrate with an illustrative example of the popular Apache Email component that this new metric can provide additional information in reverse engineered class diagrams by highlighting missing associations in these diagrams, the strength of existing associations and utility classes. It can also be effective in indicating the important design elements in cases of over-engineered or dead code. The proposed metric can be potentially used in the context of agile methods of software development during refactoring and program maintenance as comprehension aid. Since EBC is based on tests, no additional effort is required by developers who follow the Test-Driven approach or generally develop tests.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129806757","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}
The paper describes the current state of the ongoing project QuASE. This project aims at facilitating quality-related communication in software development by the following means: a communication platform providing view harmonizing mechanisms for the different parties involved in a software process, decision making support related to quality issues, reuse of experience from former communication, prediction of quality-related experience. We describe usage scenarios for this approach, and outline its core concepts as well as the current progress of its implementation.
{"title":"QuASE: A Tool Supported Approach to Facilitating Quality-Related Communication in Software Development","authors":"V. Shekhovtsov, H. Mayr, Vladyslav Lubenskyi","doi":"10.1109/QUATIC.2014.28","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.28","url":null,"abstract":"The paper describes the current state of the ongoing project QuASE. This project aims at facilitating quality-related communication in software development by the following means: a communication platform providing view harmonizing mechanisms for the different parties involved in a software process, decision making support related to quality issues, reuse of experience from former communication, prediction of quality-related experience. We describe usage scenarios for this approach, and outline its core concepts as well as the current progress of its implementation.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122303822","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}
SPI initiatives can be seen as change programmes. Previous work has identified that such programmes are subject to resistance. A key challenge in the area is to understand the political issues in SPI change. However, at present there is little existing work in SPI related to the politics of improving. By adopting a view of politics as central to contemporary organizations, this paper reviews how we might understand resistance, how and why resistance occurs, and the implications of resistance for SPI. We provide a more detailed understanding of change management models (Katter's 8 steps and Prosci's Change Management Model) and their use in addressing resistance in SPI. It is argued that change management models can be used to accommodate the human factor of change in SPI. The paper explains the activities that help the successes of SPI initiatives and their relationship with the change management models. This paper contributes a structured change management approach to address resistance. We show from our experience how these approaches have been applied.
{"title":"Overcoming Structural Resistance in SPI with Change Management","authors":"Henrique Narciso, I. Allison","doi":"10.1109/QUATIC.2014.9","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.9","url":null,"abstract":"SPI initiatives can be seen as change programmes. Previous work has identified that such programmes are subject to resistance. A key challenge in the area is to understand the political issues in SPI change. However, at present there is little existing work in SPI related to the politics of improving. By adopting a view of politics as central to contemporary organizations, this paper reviews how we might understand resistance, how and why resistance occurs, and the implications of resistance for SPI. We provide a more detailed understanding of change management models (Katter's 8 steps and Prosci's Change Management Model) and their use in addressing resistance in SPI. It is argued that change management models can be used to accommodate the human factor of change in SPI. The paper explains the activities that help the successes of SPI initiatives and their relationship with the change management models. This paper contributes a structured change management approach to address resistance. We show from our experience how these approaches have been applied.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123209444","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}