{'fraction_non_alphanumeric': 0.0239642833694439, 'fraction_numerical': 0.00899481320990086, 'mean_word_length': 5.063694267515924, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
PROPOSING INNOVATIVE MODELING OF TESTING RELATED CONCEPTS

As the recognition of systematic software testing increases, there is a need to conceive modeling techniques to explicitly document key concerns associated with test cases. Modeling techniques are known as a good way to perform such documentation, because they provide abstractions and a visual notation to represent testing-specific concerns, therefore facilitating the communication among the members of the project team. Based on this context, this research aims to provide a test conceptual framework that represents relevant test concepts which are not considered by well known test approaches, such as TTCN-3 and UML Testing Profile. From this proposal we intend to reduce overall testing time in systems related to different domains. Industrial systems will be used to test and analyze this new approach.


Introduction
The maintenance and updating of large-scale systems are usually supported by the development of test cases and their documentation. Such documentation is extremely important to track the tests and the changes performed in each system version. Without documenting the test cases it is difficult to plan the necessary investments to perform the tests and also to guarantee that the remaining faults were not caused due to the changes executed while maintaining or updating the software [Black, 2002] [ Harrold, 2000] [Harrold, 2008]. Therefore, there is a need for techniques that support the documentation of test related concerns [Kaner et al., 1999] [Kaner et al., 2001.
Over the past six years, the Software Engineering Lab of the Pontifical Catholic University of Rio de Janeiro has coordinated and carried out software systems tests developed by different Brazilian companies. From this experience we could identify the importance of documenting specific test concepts. Several approaches have been used in the literature to accomplish this test documentation, such as creating spreadsheets, using test management tools [RQM, 2012] [RTM, 2012], and modeling [Feudjio, 2012] [OMG, 2012] [Trost and Cavarra, 2012] [TTCN-3, 2012].
Based on this idea of documenting test concepts from models, a test modeling language should provide abstractions and a visual notation to represent testing-specific concerns that would facilitate the communication among the members of the project team. Although there are several modeling languages that support the modeling of test cases, such as [OMG, 2012][Trost andCavarra, 2012] and [TTCN-3, 2012], they are not expressive enough to document test concepts considered relevant in test projects [Fink, 2003] [Harrold, 2000].
Thus, when the expressiveness of test concepts on test modeling approaches is good, the generation of test scripts from test models becomes interesting. This idea motivated the development of the Model Driven Testing (MDT) [MDT, 2012], which aims to: (i) reduce test maintenance costs, (ii) enhance team communication because the model, test suite and trace provide a clear, unambiguous, and unified view of both the system under test and the test itself and (iii) reduce overall testing time.
However, to successfully apply MDT, test tools should be provided in order to use the advantages offered by such methodology.
In the Software Engineering Lab we often perform tests in self-adaptive systems that apply the self-test concept [b-Costa et al, 2010]. The main idea of the self-test is to execute tests before effectively adapt some behavior. Depending on the system, several test cases are created and maintained. This work involves a high cost which could be reduced by using appropriate tools.
Thus, the initial main focus of this research is to reveal potential gaps or deficiencies of test modeling languages that have been proposed in the literature. Next, we intend to propose a test conceptual framework that represents the deficiencies identified in the analyzed approaches. From this framework, approaches of test modeling will be able to extend it in order to apply relevant test concepts that are not being presently considered.
The paper is organized as follows. Section II presents our proposal in detail. Section III describes the research progress achieved until the current moment. Finally, Section IV describes the main contributions of this research and how we intend to test some identified hypotheses in it.

Research Questions and Hypotheses
Our main goals are to investigate which relevant test concepts are not modeled for the approaches proposed in the literature and how such concepts could be modeled to help on the documentation of test teams. Thus, we intend to answer the following questions.
• Which test concepts are considered relevant in test projects?
• Which of these relevant test concepts have not been considered by well known test modeling approaches proposed in the literature?
• How can we model these concepts?
• Which are the advantages to generating scripts of test cases from the approaches that consider these relevant concepts?
Our research is based on a family of empirical studies to answer these questions and to analyze the four topics discussed in the following subsections. Each topic defines one or more hypothesis that will be evaluated by the research.

Identifying Relevant Test Concept
We believe that the test modeling languages proposed in the literature do not consider important test concepts in their approaches, revealing potential gaps or deficiencies. Our observation stems from the fact that we have extensively worked on coordinating and carrying out tests of software systems developed for different Brazilian companies in the Software Engineering Lab. From this experience, we could verify that a set of test concepts should be documented and could be represented in models. Based on this idea, our first hypothesis assumes that the test modeling approaches proposed in the literature do not represent a set of relevant test concepts.
Hypothesis, H1: There is a set of important test concepts proposed in the literature for test modeling languages that have not been considered.

Modeling Identified Test Conpects
Since several approaches propose the modeling of test concepts, we believe that a test conceptual framework, which represents these relevant test concepts, can be used by such approaches in order to include the not considered concepts. UML Testing Profile (UTP) [OMG, 2012], Agedis [AGEDIS, 2012] [Trost, 2012] and UTML [UTML, 2012] are some examples of well known approaches of test modeling. However, we have a special interest in UTP, which has been an OMG official standard for modeling test since 2005 and that has been defined by a consortium of institutions (Ericsson, Fraunhofer/FOKUS, IBM/Rational, Motorola, Telelogic, University of Lübeck). Thus, we intend to evaluate if and how the UTP can be extended to represent expressively the identified test concepts. Besides, we will study which concepts are represented by the UTP and by other approaches in order to test this hypothesis. From this work, we will propose a test conceptual framework that represents important concepts that have not been considered by known test modeling approaches.

Advantages of the Conceptual Framework
From the new conceptual framework and the extension of the UTP, we intend to evaluate the advantages of using this new idea of test modeling. We believe that this new approach will offer three advantages in comparison to the other approaches: (i) it will reduce the amount of errors in the modeling; (ii) the effort to represent the new test concepts from the new approach will be lower and (iii) the maintenance work of models created from the new approach will be easier.
To test these hypotheses we intend to perform experiments based on systems where we perform tests; also, we plan to involve people with different testing and modeling skills.
Hypothesis, H3: The new approach reduces the amount of errors in the modeling compared to using other approaches.
Hypothesis, H4: The new approach reduces the effort to modeling some test concepts compared to other approaches.
Hypothesis, H5: The new approach makes the maintenance of models easier than when using other approaches.

Generating Scripts of Test
From the moment that test modeling languages approaches consider the test concepts represented by our conceptual framework, we believe that they will allow us to generate more complete test scripts from appropriate tools. This idea stems from the fact that the framework will represent relevant test concepts identified from our experience in different test projects, which are not considered by test modeling approaches. To evaluate this hypothesis we intend to study works that perform generation of test scripts. From this evaluation, we will identify which gaps are not treated by such works as well as if our proposal can help on the generation of test scripts.
Hypothesis, H6: Our approach helps to generate better test scripts than other works provided in the literature.

Research Progress
In this section, we further explain the proposed work. To clarify the idea, we detail the preliminary result achieved and the next steps that we intend to follow.

Preliminary Results
The first stage in our research aimed at investigating whether (or not) there are relevant test concepts that are not supported by modeling languages proposed in the literature and that should be documented. In this context, we conducted an inquisitive study [Lethbridge et al, 2000] described in [a-Costa et al, 2010] that lasted three years.
This study enabled us to identify potential test concepts (see section III.A) that need to be supported by test models and an observational analysis of how such test concepts were important in large-scale software projects. The former was mainly supported by the elaboration of interviews and a questionnaire distributed to several developers with different skills regarding testing and modeling. Then, a list of recurring test concepts identified by developers and testers was defined. This list was used to support a reflective analysis of how existing modeling languages could be enhanced while supporting testing in different software projects. Figure 1 illustrates the main steps of this study. The first step was about carrying out an initial identification of useful test concepts across several long-term software projects in the domain of petroleum control. Since the initial identification was exploratory, there was no specific constraint on the nature of the testing concepts being gathered. This analytical work was performed during two years, and seven versions were considered in three software projects.

Figure 1. Empirical Procedures that identified neglected test concepts.
In the second step, several interviews with test leaders were conducted. The goal of the interviews was to discuss with them to what extent those initially-elicited concepts were, according to their experience, potentially useful for test modeling and documentation. In the third step we evaluated a set of test modeling languages and management tools proposed in the literature that represented test concepts. The main idea of this study was to identify if such proposals considered the identified test concepts.
The fourth step involved the design of a questionnaire, which followed well-known recommendations [Fink, 2003] and was applied to fourteen invited participants with different testing skills and experience (see Table 1). From this questionnaire, it was possible to confirm the importance of the test concepts suggested by the test leaders. This questionnaire was validated by two experts on testing modeling and experimental software engineering.
The last and fifth step gathered and analyzed the responses of the applied questionnaire in detail. The results were presented and discussed with the involved stakeholders.

Subjects and their Roles
Academic

Current and Next Steps of the Research
From the inquisitive study described in the previous section we are creating a test conceptual framework that represents these identified test concepts. From this framework, test modeling languages will be able to include the concepts that have not been considered yet. Aiming to exemplify, we have decided to extend UML Testing Profile (UTP). UTP was chosen because we verified that it is the approach that represents more relevant test concepts used in the test projects considered in the inquisitive study described in [a-Costa et al, 2010]. Besides, it is an OMG official standard for modeling test and it was defined by a consortium of institutions, as stated in section II.B.
When the extension of UTP began, we realized that UTP does not allow the modeling of policies which define the access control to modeled test concepts, such as test cases. This was one of the concepts identified by the inquisitive study mentioned in section III.A. Accordingly, taking this deficiency into consideration, we evaluated that Se-cureUML [Basin et al, 2009] could be used to attend this concern. SecureUML is a famous modeling language for formalizing access control requirements that is based on role-based access control. Thus, it provides a language for specifying access control policies for actions on protected resources. However, it leaves open what the protected resources are and which actions they offer to its clients.
These protected resources can be considered test concepts modeled from a test modeling approach. Based on this idea, we decided to use SecureUML with the UTP eXtended (UTX) to represent the control policies to test resources.
Our last step will be to create a tool that makes it possible to generate test scripts from UML diagrams [Booch et al, 2005] created by the UTPX and SecureUML. This tool will be a plug-in of the Rational Software Architect (RSA) [RSA, 2012], tool that enable us to create UML diagrams and that is used in the projects of the Software Engineering Lab.

Contributions and Evaluation
The expected contributions of this research are: (1) a list of test concepts that are not currently considered by the modeling languages proposed in the literature, (2) a new test conceptual framework that represents these important test concepts, (3) an extension of the UML Testing Profile from the proposed framework, (4) the use of the Se-cureUML to model access control policies for actions on protected test resources, (5) evaluating if the inclusion of new concepts in the SecureUML will be necessary to better represent security policies to test resources and (6) the development of a plug-in to the RSA in order to generate test script from diagrams of the UTPX and SecureUML.
As far as evaluation is concerned, controlled experiments involving industrial systems will be performed to analyze more precisely the hypotheses previously defined (sections II.B, II.C and II.D). We plan to model test concepts applied to different systems tested for different test teams. Systems related to different domains and sizes (e.g. amount of requirements developed) will be also used. Besides, we plan to include people with different testing and modeling skills in these experiments in order to evaluate the above mentioned hypotheses.