Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by HumanISE

2018

Automated Scenario-Based Integration Testing of Distributed Systems

Authors
Lima, B;

Publication
ESEC/FSE'18: PROCEEDINGS OF THE 2018 26TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING

Abstract
In a growing number of domains, the provisioning of end-to-end services to the users depends on the proper interoperation of multiple systems, forming a new distributed system, often subject to timing constraints. To ensure interoperability and integrity, it is important to conduct integration tests that verify the interactions with the environment and between the system components in key scenarios. To tackle test automation challenges, we propose algorithms for decentralized conformance checking and test input generation, and for checking and enforcing the conditions (local observability and controllability) that allow decentralized test execution.

2018

Why does the orientation change mess up my Android application? From GUI failures to code faults

Authors
Amalfitano, D; Riccio, V; Paiva, ACR; Fasolino, AR;

Publication
SOFTWARE TESTING VERIFICATION & RELIABILITY

Abstract
This paper investigates the failures exposed in mobile apps by the mobile-specific event of changing the screen orientation. We focus on GUI failures resulting in unexpected GUI states that should be avoided to improve the apps quality and to ensure better user experience. We propose a classification framework that distinguishes 3 main classes of GUI failures due to orientation changes and exploit it in 2 studies that investigate the impact of such failures in Android apps. The studies involved both open-source and apps from Google Play that were specifically tested exposing them to orientation change events. The results showed that more than 88% of these apps were affected by GUI failures, some classes of GUI failures were more common than others, and some GUI objects were more frequently involved. The app source code analysis allowed us to identify 6 classes of common faults causing specific GUI failures.

2018

Manage Software Requirements Specification Using Web Analytics Data

Authors
Garcia, JE; Paiva, ACR;

Publication
Trends and Advances in Information Systems and Technologies - Volume 2 [WorldCIST'18, Naples, Italy, March 27-29, 2018]

Abstract
In the context of SaaS (Software as a Service) where software has to be up and running 7 days a week and 24 h a day, keeping the requirements specification up to date can be difficult. Managing requirements in this context have additional challenges that need to be taken into account, for instance, re-prioritize requirements continuously and identify/update new dependencies among them. We claim that extracting and analyzing the usage of the SaaS can help to maintain requirements updated and contribute to improve the overall quality of the services provided. This paper presents REQAnalytics, a recommendation system that collects the information about the usage of a SaaS, analyses it and generates recommendations more readable than reports generated by web analytic tools. The overall approach has been applied on several case studies with promising results. © Springer International Publishing AG, part of Springer Nature 2018.

2018

Pattern based Web Security Testing

Authors
de Araújo, PJM; Paiva, ACR;

Publication
Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, January 22-24, 2018.

Abstract
This paper presents a Pattern Based Testing approach for testing security aspects of the applications under test (AUT). It describes the two security patterns which are the focus of this work (“Account Lockout” and “Authentication Enforcer”) and the test strategies implemented to check if the applications are vulnerable or not regarding these patterns. The PBST (Pattern Based Security Testing) overall approach has two phases: exploration (to identify the web pages of the application under test) and testing (to execute the test strategies developed in order to detect vulnerabilities). An experiment is presented to validate the approach over five public web applications. The goal is to assess the behavior of the tool when varying the upper limit of pages to visit and assess its capacity to find real vulnerabilities. The results are promising. Indeed, it was possible to check that the vulnerabilities detected corresponded to real security problems. Copyright

2018

Towards a Test Specification Language for Information Systems: Focus on Data Entity and State Machine Tests

Authors
da Silva, AR; Paiva, ACR; da Silva, VER;

Publication
Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, January 22-24, 2018.

Abstract
This paper introduces the TSL language (short name for “Test Specification Language”) that intends to improve the test specification of information systems in a systematic, rigorous and consistent way. TSL specifications are produced from close requirement specifications expressed in the RSL language (Requirements Specification Language). Both RSL and TSL support human-readable executable specifications closer to natural language than models usually used in model-based testing approaches. TSL includes several constructs logically arranged into views according to multiple testing engineering strategies, commonly found in the information systems domain, such as: data entity tests and state machine tests, all of them produced from equivalent requirement specification in RSL. A case study is also presented to illustrate the proposed approach.

2018

Mobile GUI testing

Authors
Morgado, IC; Paiva, ACR;

Publication
SOFTWARE QUALITY JOURNAL

Abstract
This paper presents a tool (iMPAcT) that automates testing of mobile applications based on the presence of recurring behaviour, UI Patterns. It combines reverse engineering, pattern matching and testing. The reverse engineering process is responsible for crawling the application, i.e. analysing the state of the application and interacting with it by firing events. The pattern matching tries to identify the presence of UI patterns based on a catalogue of patterns. When a UI Pattern from the catalogue is detected, a test strategy is applied (testing). These test strategies are called UI Test Patterns. These three phases work in an iterative way: the patterns are identified and tested between firing of events, i.e. the process alternates between exploring the application and testing the UI Patterns. The process is dynamic and fully automatic not requiring any previous knowledge about the application under test. This paper presents the results of an experiment studying the reliability of the results obtained by iMPAcT. The experiment involved 25 applications found on Google Play Store and concludes that iMPAcT is successful in identifying failures in the tested patterns and that the degree of certainty of an identified failure being an actual failure is high.

  • 301
  • 662