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

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.

2018

Automatic Test Case Generation from Usage Information

Authors
Silva, P; Paiva, ACR; Restivo, A; Garcia, JE;

Publication
2018 11TH INTERNATIONAL CONFERENCE ON THE QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY (QUATIC)

Abstract
Nowadays, web applications play an important role in our society and in the business world. Many companies earn a large part of their revenues through web applications that provide support services that must be maintained and improved over time. Most of these services operate on a large scale and are in constant change due to the environment in which they operate and due to the rapid technological evolution as we strive to improve our everyday lives. Due to this constantly changing environment, it is difficult to estimate the impact of changes; to maintain the software requirements documents updated; and to build and maintain a test suit for regression testing. Regression tests must be updated continually in order to test the current behavior after requested changes are implemented. REQAnalytics is a tool that aims to solve these problems. This paper presents REQAnalytics and an extension to generate test cases from the usage of a SaaS platform in order to diminish the effort in building and maintaining regression tests that are useful to check if the SaaS platform remains working as expected.

2018

A Test Specification Language for Information Systems Based on Data Entities, Use Cases and State Machines

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

Publication
Model-Driven Engineering and Software Development - 6th International Conference, MODELSWARD 2018, Funchal, Madeira, Portugal, January 22-24, 2018, Revised Selected Papers

Abstract
Testing is one of the most important activities to ensure the quality of a software system. This paper proposes and discusses the TSL (Test Specification Language) that adopts a model-based testing approach for both human-readable and computer-executable specifications of test cases. TSL is strongly inspired on the grammar, nomenclature and writing style as defined by the RSLingo RSL, which is a rigorous requirements specification language. Both RSL and TSL are controlled natural languages that share common concepts such as data entities, use cases and state machines. However, by applying black-box functional testing design techniques, TSL includes and supports four complementary testing strategies, namely: domain analysis testing; use case tests; state machine testing; and acceptance criteria. This paper focuses on the first three testing strategies of TSL. Finally, a simple but effective case study illustrates the overall approach and supports the discussion. © 2019, Springer Nature Switzerland AG.

  • 246
  • 589