Skip to main content
Top

2019 | OriginalPaper | Chapter

Enhancing POI Testing Through the Use of Additional Information

Authors : Sergio Pérez, Salvador Tamarit

Published in: Functional and Constraint Logic Programming

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Recently, a new approach to perform regression testing has been defined: the point of interest (POI) testing. A POI, in this context, is any expression of a program. The approach receives as input a set of relations between POIs from a version of a program and POIs from another version, and also a sequence of entry points, i.e. test cases. Then, a program instrumentation, an input test case generation and different comparison functions are used to obtain the final report which indicates whether the alternative version of the program behaves as expected, e.g. it produces the same outputs or it uses less CPU/memory. In this paper, we present a method to improve POI testing by including additional context information for a certain type of POIs. Concretely, we use this method to obtain an enhanced tracing of calls. Additionally, it enables new comparison modes and a categorization of unexpected behaviours.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
Although current implementation of POI testing does not still support auto-generation of observation points, it is a key feature that will be part of next release.
 
2
The occurrence argument (2 in the example) can be omitted, selecting in that case the first occurrence of the variable in the indicated line.
 
3
More information about Erlang and how we implemented a POI tester for this language are further discussed in Sect. 4.
 
4
Steps (ii) and (iii) could also be executed in parallel. Here, for the sake of simplicity, we only consider the sequential execution of these steps.
 
5
Note that a trace consists of a sequence of values since a variable can be evaluated several times. Each evaluation is represented by an element of the sequence.
 
6
The observed UnBs are represented and identified using literals, e.g. the atom greater could be used to represent an UnB that occurs when an expression is evaluated to a greater value in the new version than in the old one. The UnB representations are defined during the comparison process as it is then when the UnBs are found.
 
7
All functions presented in Sect. 3 are written in pseudocode. In a particular implementation, all functions should be implemented in the target language.
 
8
We use the notation ai(key) to refer to access some specific information previously stored in the ai mapping. In this case ai(args) represent the arguments of a POI placed in a function call.
 
9
The function presented in Fig. 5, does not make use of parameters TEO, TEN and History to define the message content. However, more complex functions that treat the information stored in these parameters can be defined to obtain a more elaborated message, like the one shown in Fig. 7.
 
10
Function get_ai is defined as https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-16202-3_5/482311_1_En_5_IEq13_HTML.gif .
 
11
All free variables used in the rule are represented as \(\mathtt {fv_{*}}\). Each one of these free variables is unique and different to all the original variables of the module.
 
12
In our implementation, the Erlang module secer_api provides a list of implemented functions to easily select any execution mode.
 
Literature
2.
go back to reference Anand, S., et al.: An orchestrated survey of methodologies for automated software test case generation. J. Syst. Softw. 86(8), 1978–2001 (2013)CrossRef Anand, S., et al.: An orchestrated survey of methodologies for automated software test case generation. J. Syst. Softw. 86(8), 1978–2001 (2013)CrossRef
5.
go back to reference Danglot, B., Vera-Perez, O., Yu, Z., Monperrus, M., Baudry, B.: The emerging field of test amplification: a survey. CoRR, abs/1705.10692 (2017) Danglot, B., Vera-Perez, O., Yu, Z., Monperrus, M., Baudry, B.: The emerging field of test amplification: a survey. CoRR, abs/1705.10692 (2017)
9.
go back to reference Insa, D., Pérez, S., Silva, J., Tamarit, S.: Behaviour preservation across code versions in Erlang. Sci. Program. 2018, 1–42 (2018) Insa, D., Pérez, S., Silva, J., Tamarit, S.: Behaviour preservation across code versions in Erlang. Sci. Program. 2018, 1–42 (2018)
10.
go back to reference Jumpertz, E.: Using QuickCheck and semantic analysis to verify correctness of Erlang refactoring transformations. Master’s thesis, Radboud University Nijmegen (2010) Jumpertz, E.: Using QuickCheck and semantic analysis to verify correctness of Erlang refactoring transformations. Master’s thesis, Radboud University Nijmegen (2010)
11.
12.
go back to reference Shapiro, E.Y.: Algorithmic Program Debugging. MIT Press, Cambridge (1982)MATH Shapiro, E.Y.: Algorithmic Program Debugging. MIT Press, Cambridge (1982)MATH
15.
go back to reference Tóth, I.B.M., Horváth, Z.: Reduction of regression tests for Erlang based on impact analysis (2013) Tóth, I.B.M., Horváth, Z.: Reduction of regression tests for Erlang based on impact analysis (2013)
16.
go back to reference Xie, T., Notkin, D.: Checking inside the black box: regression testing by comparing value spectra. IEEE Trans. Softw. Eng. 31(10), 869–883 (2005)CrossRef Xie, T., Notkin, D.: Checking inside the black box: regression testing by comparing value spectra. IEEE Trans. Softw. Eng. 31(10), 869–883 (2005)CrossRef
17.
go back to reference Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verif. Reliab. 22(2), 67–120 (2012)CrossRef Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verif. Reliab. 22(2), 67–120 (2012)CrossRef
Metadata
Title
Enhancing POI Testing Through the Use of Additional Information
Authors
Sergio Pérez
Salvador Tamarit
Copyright Year
2019
DOI
https://doi.org/10.1007/978-3-030-16202-3_5

Premium Partner