Study and definition of project attributes for selection of testing techniques for concurrent software - Santos, Italo de Oliveira (2020)
[Context:] The choice of a testing technique to be adopted in a software testing project is based on the testers knowledge and often does not consider all testing techniques available. The selection of the right technique at any stage is one of the critical problems in software development. In a previous project of this research group, a framework was defined for supporting the systematic selection of concurrent software testing techniques. A characterization scheme was proposed and implemented in SeleCTT tool, which is composed of a set of attributes that considers characteristics of concurrent programs. The framework calculates suitable attributes for guiding the selection of testing techniques for a particular software project. [Objective:] The selection of a testing technique at each stage of a softwares life cycle depends on many factors. This work aims to contribute to the activity of selecting testing techniques for concurrent programs, investigating the characterization of project attributes, and proposing an approach of combining testing techniques to improve the selection process of SeleCTT. [Methodology:] A catalog with 61 selection attributes used for testing techniques selection was elaborated, and most attributes used are concentrated in the general testing characteristics\" category and, then, in software project\", which highlights the importance of such categories for supporting the selection. Moreover, a combination of the selection attributes incorporated in SeleCTT was proposed. After the calculation of the testing technique suitability according to data of a software project informed as input, SeleCTT recommends more than one technique, considering information related to concurrent bugs and testing level attributes. It, therefore, guides the user in the application of complementary testing techniques that can find different faults. [Results and Conclusions:] The results suggest our combined selection approach has achieved higher effectiveness in the selection of testing techniques for concurrent programs. Choosing a good testing technique can improve the quality of a software project and even reduce the development cost. The results obtained from the contributions made in the process of selecting testing techniques are promising and contribute to the quality of the testing activity.