Advertisement

SoTesTeR: Software Testing Techniques’ Recommender System Using a Collaborative Approach

  • Ronald Ibarra
  • Glen RodriguezEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 898)

Abstract

Software testing is a key factor on any software project; testing costs are significant in relation to development costs. Therefore, it is essential to select the most suitable testing techniques for a given project to find defects at the lower cost possible in the different testing levels. However, in several projects, testing practitioners do not have a deep understanding of the full array of techniques available, and they adopt the same techniques that were used in prior projects or any available technique without taking into consideration the attributes of each testing technique. Currently, there are researches oriented to support selection of software testing techniques; nevertheless, they are based on static catalogues, whose adaptation to any niche software application may be slow and expensive. In this work, we introduce a content-based recommender system that offer a ranking of software testing techniques based on a target project characterization and evaluation of testing techniques in similar projects. The repository of projects and techniques was completed through the collaborative effort of a community of practitioners. It has been found that the difference between recommendations of SoTesTeR and recommendations of a human expert are similar to the difference between recommendations of two different human experts.

Keywords

Software testing techniques Recommender system Content-based reasoning Collaborative repository k-Nearest Neighbors 

References

  1. 1.
    Eldh, S., Hansson, H., Punnekkat, S., Pettersson, A., Sundmark, D.: A framework for comparing efficiency, effectiveness and applicability of software testing techniques. In: Testing: Academic and Industrial Conference-Practice and Research Techniques TAIC PART 2006, pp. 159–170 (2006)Google Scholar
  2. 2.
    Khan, M.E.: Different forms of software testing techniques for finding errors. Int. J. Comput. Sci. Issues 7(3), 11–16 (2010)Google Scholar
  3. 3.
    Luo, L.: Software testing techniques. Institute for Software Research International Carnegie Mellon University, Pittsburgh, PA, vol. 15232, no. 1–19, p. 19 (2001)Google Scholar
  4. 4.
    Farooq, S.U., Quadri, S.M.K.: Empirical evaluation of software testing techniques – need, issues and mitigation. Softw. Eng. Int. J. 3(1), 41–51 (2013)Google Scholar
  5. 5.
    Vegas, S., Basili, V.R.: A characterization schema for software testing techniques. Empir. Softw. Eng. 10(4), 437–466 (2005)CrossRefGoogle Scholar
  6. 6.
    Vos, T., Marín, B., Panach, I., Baars, A., Ayala, C., Franch, X.: Evaluating software testing techniques and tools. In: Proceedings of XVI JISBD, A Coruña, pp. 531–536 (2011)Google Scholar
  7. 7.
    Vos, T.E.J., et al.: A methodological framework for evaluating software testing techniques and tools. In: 12th International Conference on Quality Software, QSIC 2012, Xi’an, Sha, pp. 230–239 (2012)Google Scholar
  8. 8.
    Brosse, E., Bagnato, A., Vos, T.E.J., Condori-Fernandez, N.: Evaluating the FITTEST Automated Testing Tools in SOFTEAM : An Industrial Case Study, May 2014Google Scholar
  9. 9.
    Condori-Fernández, N., Kruse, P.M., Vos, T.E.J., Brosse, E., Bagnato, A.: Combinatorial testing in an industrial environment - analyzing the applicability of a tool. In: Proceedings of 2014 9th International Conference on the Quality of Information and Communications Technology QUATIC 2014, pp. 210–215 (2014)Google Scholar
  10. 10.
    Cotroneo, D., Pietrantuono, R., Russo, S.: Testing techniques selection based on ODC fault types and software metrics. J. Syst. Softw. 86(6), 1613–1637 (2013)CrossRefGoogle Scholar
  11. 11.
    Felfernig, A., Jeran, M., Ninaus, G.: Toward the next generation of recommender systems: applications and research challenges. In: Tsihrintzis, G., Virvou, M., Jain, L. (eds.) Multimedia Services in Intelligent Environments. SIST, vol. 24, pp. 81–98. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-319-00372-6_5CrossRefGoogle Scholar
  12. 12.
    Bobadilla, J., Ortega, F., Hernando, A., Gutiérrez, A.: Recommender systems survey. Knowl.-Based Syst. 46, 109–132 (2013)CrossRefGoogle Scholar
  13. 13.
    Bridge, D., Göker, M.H., Mcginty, L., Smyth, B.: Case-based recommender systems. Knowl. Eng. Rev. 20(3), 315–320 (2005)CrossRefGoogle Scholar
  14. 14.
    Ohsugi, N., Tsunoda, M., Monden, A., Matsumoto, K.-i.: Effort estimation based on collaborative filtering. In: Bomarius, F., Iida, H. (eds.) PROFES 2004. LNCS, vol. 3009, pp. 274–286. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-24659-6_20CrossRefGoogle Scholar
  15. 15.
    Tsunoda, M., Kakimoto, T., Ohsugi, N., Monden, A., Matsumoto, K.-I.: Javawock: a Java class recommender system based on collaborative filtering. In: Proceedings of the 17th International Conference on Software Engineering and Knowledge Engineering (SEKE 2005), pp. 491–497, July 2005Google Scholar
  16. 16.
    Borg, M., Runeson, P.: Changes, Evolution and Bugs - Recommendation Systems for Issue Management. In: Robillard, M.P., Maalej, W., Walker, R.J., Zimmermann, T. (eds.) Recommendation Systems in Software Engineering, pp. 477–509, Springer, Heidelberg, 2014.  https://doi.org/10.1007/978-3-642-45135-5_18CrossRefGoogle Scholar
  17. 17.
    Dias-Neto, A.C., Travassos, G.H.: Supporting the combined selection of model-based testing techniques. IEEE Trans. Softw. Eng. 40(10), 1025–1041 (2014)CrossRefGoogle Scholar
  18. 18.
    Pilar, M., Simmonds, J., Astudillo, H.: Semi-automated tool recommender for software development processes. Electron. Notes Theor. Comput. Sci. 302, 95–109 (2014)CrossRefGoogle Scholar
  19. 19.
    Engström, E., Runeson, P., Skoglund, M.: A systematic review on regression test selection techniques. Inf. Softw. Technol. 52(1), 1–35 (2010)CrossRefGoogle Scholar
  20. 20.
    Vegas, S.: Characterization schema for selecting software testing techniques. Ph.D. Thesis. Facultad de Informática, Universidad Politécnica de Madrid, February 2002Google Scholar
  21. 21.
    Dias-Neto, A.C., Travassos, G.H.: Model-based testing approaches selection for software projects. Inf. Softw. Technol. 51(11), 1487–1504 (2009)CrossRefGoogle Scholar
  22. 22.
    Zaidan, A.A., Zaidan, B.B., Al-Haiqi, A., Kiah, M.L.M., Hussain, M., Abdulnabi, M.: Evaluation and selection of open-source EMR software packages based on integrated AHP and TOPSIS. J. Biomed. Inform. 53, 390–404 (2015)CrossRefGoogle Scholar
  23. 23.
    Nidhra, S.: Black box and white box testing techniques - a literature review. Int. J. Embed. Syst. Appl. 2(2), 29–50 (2012)Google Scholar
  24. 24.
    Jovanovic, I.: Software testing methods and techniques. IPSI BgD Trans. Internet Res. 5(1), 30–41 (2009)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Universidad Nacional Mayor de San MarcosLimaPeru
  2. 2.Universidad Nacional Agraria de la SelvaTingo MaríaPeru

Personalised recommendations