Software Operational Profile vs. Test Profile

Software Operational Profile (SOP) is a software specification based on how users use the software. This specification corresponds to a quantitative representation of software that identifies the most used software parts. As software reliability depends on the context in which users operate the software, ones use SOP in software reliability engineering. However, there are evidence of a misalignment between the software tested parts and SOP. Therefore, this paper investigates a possible misalignment between SOP and the tested software parts to obtain, based on experimental data, more evidence of this misalignment. We performed an exploratory study composed of three activities to verify: a) whether there are significant variations in how users operate the software; b) whether there is a misalignment between SOP and the tested software parts; c) if failures occur in untested SOP parts in case of misalignment. To perform these verifications, we defined the term "test profile" and presented it in this paper. We instrumented three software to collect data from them while the users were operating this software. Posteriorly, we analyzed these collected data in an attempt to reach the goals of this paper. To evaluate the originality of this research, we performed a Literature Systematic Review (SLR) and presented its conclusions. The obtained results evidence that there are significant variations in how users operate the software and also that there was a misalignment between SOP and the tested software parts when we evaluated the three software mentioned above. There were also indications of the occurrence of failures in the untested SOP parts. These results indicate that SOP becomes relevant not only to software reliability engineering but also to contribute to testing activities, regardless of the adopted strategy.

[1]  Rini van Solingen,et al.  Goal Question Metric (GQM) Approach , 2002 .

[2]  Tomohiko Takagi,et al.  An overview and case study of a statistical regression testing method for software maintenance , 2007 .

[3]  J.D. Musa Adjusting measured field failure intensity for operational profile variation , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[4]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[6]  Andrew Begel,et al.  Analyze this! 145 questions for data scientists in software engineering , 2013, ICSE.

[7]  Fabiano Cutigi Ferrari,et al.  Towards the practical mutation testing of AspectJ programs , 2013, Sci. Comput. Program..

[8]  Dilip Kumar Yadav,et al.  A Novel Method for Allocating Software Test Cases , 2015 .

[9]  Michael R. Lyu,et al.  Effect of code coverage on software reliability measurement , 2001, IEEE Trans. Reliab..

[10]  Shahida Sulaiman,et al.  Improving reliability using software operational profile and testing profile , 2015, 2015 International Conference on Computer, Communications, and Control Technology (I4CT).

[11]  Willa K. Ehrlich,et al.  Advances in Software Reliability Engineering , 1996, Adv. Comput..

[12]  Farokh B. Bastani,et al.  On reducing the sensitivity of software reliability to variations in the operational profile , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[13]  André Dantas Rocha Uma ferramenta baseada em aspectos para apoio ao teste funcional de programas Java , 2005 .

[14]  David Lo,et al.  The Impact of Coverage on Bug Density in a Large Industrial Software Project , 2017, 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[15]  Michael Anthony Bauer,et al.  An extended operational profile model , 2004, 15th International Symposium on Software Reliability Engineering.

[16]  Stefano Russo,et al.  Adaptive Coverage and Operational Profile-Based Testing for Reliability Improvement , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).