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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
Khan, M.E.: Different forms of software testing techniques for finding errors. Int. J. Comput. Sci. Issues 7(3), 11–16 (2010)
Luo, L.: Software testing techniques. Institute for Software Research International Carnegie Mellon University, Pittsburgh, PA, vol. 15232, no. 1–19, p. 19 (2001)
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)
Vegas, S., Basili, V.R.: A characterization schema for software testing techniques. Empir. Softw. Eng. 10(4), 437–466 (2005)
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)
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)
Brosse, E., Bagnato, A., Vos, T.E.J., Condori-Fernandez, N.: Evaluating the FITTEST Automated Testing Tools in SOFTEAM : An Industrial Case Study, May 2014
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)
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)
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_5
Bobadilla, J., Ortega, F., Hernando, A., Gutiérrez, A.: Recommender systems survey. Knowl.-Based Syst. 46, 109–132 (2013)
Bridge, D., Göker, M.H., Mcginty, L., Smyth, B.: Case-based recommender systems. Knowl. Eng. Rev. 20(3), 315–320 (2005)
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_20
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 2005
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_18
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)
Pilar, M., Simmonds, J., Astudillo, H.: Semi-automated tool recommender for software development processes. Electron. Notes Theor. Comput. Sci. 302, 95–109 (2014)
Engström, E., Runeson, P., Skoglund, M.: A systematic review on regression test selection techniques. Inf. Softw. Technol. 52(1), 1–35 (2010)
Vegas, S.: Characterization schema for selecting software testing techniques. Ph.D. Thesis. Facultad de Informática, Universidad Politécnica de Madrid, February 2002
Dias-Neto, A.C., Travassos, G.H.: Model-based testing approaches selection for software projects. Inf. Softw. Technol. 51(11), 1487–1504 (2009)
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)
Nidhra, S.: Black box and white box testing techniques - a literature review. Int. J. Embed. Syst. Appl. 2(2), 29–50 (2012)
Jovanovic, I.: Software testing methods and techniques. IPSI BgD Trans. Internet Res. 5(1), 30–41 (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Recommendations for Target Projects (TP)
A Recommendations for Target Projects (TP)
TP | Recommender | Recommendation | TP | Recommender | Recommendation |
---|---|---|---|---|---|
0 | E1 | DT, ECP, FI | 6 | E1 | FGN, NL, FT |
0 | E2 | DCC, DT, DCH | 6 | E2 | OA, FT, DTC |
0 | E3 | DT, STD, FI | 6 | E3 | CL, BC, FT |
0 | RS | BC, DCC, CW | 6 | RS | DCC, GM, OA |
1 | E1 | DT, STD, APT | 7 | E1 | DT, CW, SC |
1 | E2 | DTC, DT, OA | 7 | E2 | FC, DTC, DT |
1 | E3 | ECP, DT, DCC | 7 | E3 | BC, NL, CW |
1 | RS | CW, BC, FC | 7 | RS | BC, DCC, CW |
2 | E1 | DTC, ECP, BVA | 8 | E1 | DTC, DT, FI |
2 | E2 | OA, DTC, DT | 8 | E2 | DT, DCC, GM |
2 | E3 | ECP, DTC, DT | 8 | E3 | CL, BC, CW |
2 | RS | DCC, GM, BC | 8 | RS | BC, DCC, CW |
3 | E1 | FGN, CW, FT | 9 | E1 | ECP, CW, STD |
3 | E2 | BC, ECP, SL | 9 | E2 | OA, BC, DTC |
3 | E3 | BC, APT, FT | 9 | E3 | DCC, OA, DCH |
3 | RS | CW, OA, BC | 9 | RS | BC, DCC, FC |
4 | E1 | BC, ECP, CW | 10 | E1 | CL, FT, DCC |
4 | E2 | DCC, FT, DT | 10 | E2 | BC, FC, BVA |
4 | E3 | ECP, DCC, FI | 10 | E3 | DT, SC, FI |
4 | RS | CW, BC, DCC | 10 | RS | BC, OA, DCC |
5 | E1 | CL, FI, STD | |||
5 | E2 | DTC, SC, BVA | |||
5 | E3 | DT, NL, FI | |||
5 | RS | OA, DCC, CW |
Legend
.DT: Decision Tables | OA: Orthogonal Arrays |
ECP: Equivalence Class Partitioning | FC: Function Coverage |
FI: Formal Inspections | BVA: Boundary Value Analysis |
DCC: Decision/Condition Coverage | GM: Graph Matrices |
DCH: Desk checking | FGN: Flow Graph Notation |
STD: State Transition Diagrams | FT: Fuzz Testing |
BC: Branch coverage | SL: Simple Loops |
CW: Code walkthrough | CL: Concatenated loops |
APT: All Pairs Technique | SC: Statement coverage |
DTC: Deriving Test Cases | NL: Nested loops |
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Ibarra, R., Rodriguez, G. (2019). SoTesTeR: Software Testing Techniques’ Recommender System Using a Collaborative Approach. In: Lossio-Ventura, J., Muñante, D., Alatrista-Salas, H. (eds) Information Management and Big Data. SIMBig 2018. Communications in Computer and Information Science, vol 898. Springer, Cham. https://doi.org/10.1007/978-3-030-11680-4_28
Download citation
DOI: https://doi.org/10.1007/978-3-030-11680-4_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-11679-8
Online ISBN: 978-3-030-11680-4
eBook Packages: Computer ScienceComputer Science (R0)