Skip to main content
Erschienen in: Software Quality Journal 2/2014

01.06.2014

Similarity-based test case prioritization using ordered sequences of program entities

verfasst von: Chunrong Fang, Zhenyu Chen, Kun Wu, Zhihong Zhao

Erschienen in: Software Quality Journal | Ausgabe 2/2014

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Test suites often grow very large over many releases, such that it is impractical to re-execute all test cases within limited resources. Test case prioritization rearranges test cases to improve the effectiveness of testing. Code coverage has been widely used as criteria in test case prioritization. However, the simple way may not reveal some bugs, such that the fault detection rate decreases. In this paper, we use the ordered sequences of program entities to improve the effectiveness of test case prioritization. The execution frequency profiles of test cases are collected and transformed into the ordered sequences. We propose several novel similarity-based test case prioritization techniques based on the edit distances of ordered sequences. An empirical study of five open source programs was conducted. The experimental results show that our techniques can significantly increase the fault detection rate and be effective in detecting faults in loops. Moreover, our techniques are more cost-effective than the existing techniques.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literatur
Zurück zum Zitat Andrews, J., Briand, L., Labiche, Y., & Namin, A. (2006). Using mutation analysis for assessing and comparing testing coverage criteria. IEEE Transactions on Software Engineering, 32(8), 608–624.CrossRef Andrews, J., Briand, L., Labiche, Y., & Namin, A. (2006). Using mutation analysis for assessing and comparing testing coverage criteria. IEEE Transactions on Software Engineering, 32(8), 608–624.CrossRef
Zurück zum Zitat Carlson, R., Do, H., & Denton, A. (2011). A clustering approach to improving test case prioritization: An industrial case study In Proceedings of the 27th International Conference on Software Maintenance (ICSM’011), 2011, pp. 382–391. IEEE. Carlson, R., Do, H., & Denton, A. (2011). A clustering approach to improving test case prioritization: An industrial case study In Proceedings of the 27th International Conference on Software Maintenance (ICSM’011), 2011, pp. 382–391. IEEE.
Zurück zum Zitat Chen, Z., Duan, Y., Zhao, Z., Xu, B., & QIAN, J. (2011). Using program slicing to improve the efficiency and effectiveness of cluster test selection. International Journal of Software Engineering and Knowledge Engineering, 21(6), 759.CrossRef Chen, Z., Duan, Y., Zhao, Z., Xu, B., & QIAN, J. (2011). Using program slicing to improve the efficiency and effectiveness of cluster test selection. International Journal of Software Engineering and Knowledge Engineering, 21(6), 759.CrossRef
Zurück zum Zitat Dickinson, W., Leon, D., & Podgurski, A. (2001). Pursuing failure: The distribution of program failures in a profile space. In ACM SIGSOFT Software Engineering Notes, (Vol. 26, pp. 246–255). ACM. Dickinson, W., Leon, D., & Podgurski, A. (2001). Pursuing failure: The distribution of program failures in a profile space. In ACM SIGSOFT Software Engineering Notes, (Vol. 26, pp. 246–255). ACM.
Zurück zum Zitat Do, H., Rothermel, G., & Kinneer, A. (2004). Empirical studies of test case prioritization in a junit testing environment. In Proceedings of the 15th International Symposium on Software Reliability Engineering (ISSRE’04), 2004, pp. 113–124. IEEE. Do, H., Rothermel, G., & Kinneer, A. (2004). Empirical studies of test case prioritization in a junit testing environment. In Proceedings of the 15th International Symposium on Software Reliability Engineering (ISSRE’04), 2004, pp. 113–124. IEEE.
Zurück zum Zitat Do, H., & Rothermel, G. (2006). On the use of mutation faults in empirical a ssessments of test case prioritization techniques. IEEE Transactions on Software Engineering, 32(9), 733–752. Do, H., & Rothermel, G. (2006). On the use of mutation faults in empirical a ssessments of test case prioritization techniques. IEEE Transactions on Software Engineering, 32(9), 733–752.
Zurück zum Zitat Do, H., Mirarab, S., Tahvildari, L., & Rothermel, G. (2010). The effects of time constraints on test case prioritization: A series of controlled experiments. IEEE Transactions on Software Engineering, 36(5), 593–617.CrossRef Do, H., Mirarab, S., Tahvildari, L., & Rothermel, G. (2010). The effects of time constraints on test case prioritization: A series of controlled experiments. IEEE Transactions on Software Engineering, 36(5), 593–617.CrossRef
Zurück zum Zitat Elbaum, S., Malishevsky, A. G., & Rothermel, G. (2002). Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering, 28(2), 159–182.CrossRef Elbaum, S., Malishevsky, A. G., & Rothermel, G. (2002). Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering, 28(2), 159–182.CrossRef
Zurück zum Zitat Fang, C., Chen, Z., & Xu, B. (2012). Comparing logic coverage criteria on test case prioritization. Science China Information Sciences, 55(12), 2826–2840.CrossRefMathSciNet Fang, C., Chen, Z., & Xu, B. (2012). Comparing logic coverage criteria on test case prioritization. Science China Information Sciences, 55(12), 2826–2840.CrossRefMathSciNet
Zurück zum Zitat Hemmati, H., Arcuri, A., & Briand, L. (2010). Reducing the cost of model-based testing through test case diversity. Testing Software and Systems, 6435, 63–78.CrossRef Hemmati, H., Arcuri, A., & Briand, L. (2010). Reducing the cost of model-based testing through test case diversity. Testing Software and Systems, 6435, 63–78.CrossRef
Zurück zum Zitat Hemmati, H., Briand, L. (2010). An industrial investigation of similarity measures for model-based test case selection. In Proceedings of the 8th 21st International Symposium on Software Reliability Engineering (ISSRE’10), 2010, pp. 141–150. IEEE. Hemmati, H., Briand, L. (2010). An industrial investigation of similarity measures for model-based test case selection. In Proceedings of the 8th 21st International Symposium on Software Reliability Engineering (ISSRE’10), 2010, pp. 141–150. IEEE.
Zurück zum Zitat Irvine, S., Pavlinic, T., Trigg, L., Cleary, J., Inglis, S., & Utting, M. (2007). Jumble java byte code to measure the effectiveness of unit tests. In Testing: Academic and Industrial Conference Practice and Research Techniques-MUTATION, (TAICPART-MUTATION’07), 2007, pp. 169–175. IEEE. Irvine, S., Pavlinic, T., Trigg, L., Cleary, J., Inglis, S., & Utting, M. (2007). Jumble java byte code to measure the effectiveness of unit tests. In Testing: Academic and Industrial Conference Practice and Research Techniques-MUTATION, (TAICPART-MUTATION’07), 2007, pp. 169–175. IEEE.
Zurück zum Zitat Jiang, B., Zhang, Z., Chan, W., & Tse, T. (2009). Adaptive random test case prioritization. In Proceedings of the 24th International Conference on Automated Software Engineering (ASE’09), 2009, pp. 233–244. IEEE. Jiang, B., Zhang, Z., Chan, W., & Tse, T. (2009). Adaptive random test case prioritization. In Proceedings of the 24th International Conference on Automated Software Engineering (ASE’09), 2009, pp. 233–244. IEEE.
Zurück zum Zitat Jones, J., & Harrold, M. (2003). Test-suite reduction and prioritization for modified condition/decision coverage. IEEE Transactions on Software Engineering, 29(3), 195–209.CrossRef Jones, J., & Harrold, M. (2003). Test-suite reduction and prioritization for modified condition/decision coverage. IEEE Transactions on Software Engineering, 29(3), 195–209.CrossRef
Zurück zum Zitat Leon, D., Podgurski, A. (2003). A comparison of coverage-based and distribution-based techniques for filtering and prioritizing test cases. In Proceedings of the 14th International Symposium on Software Reliability Engineering (ISSRE’03), 2003, pp. 442–453. IEEE. Leon, D., Podgurski, A. (2003). A comparison of coverage-based and distribution-based techniques for filtering and prioritizing test cases. In Proceedings of the 14th International Symposium on Software Reliability Engineering (ISSRE’03), 2003, pp. 442–453. IEEE.
Zurück zum Zitat Li, Z., Harman, M., & Hierons, R. (2007). Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering, 33(4), 225–237.CrossRef Li, Z., Harman, M., & Hierons, R. (2007). Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering, 33(4), 225–237.CrossRef
Zurück zum Zitat Lo, D., Cheng, H., Han, J., Khoo, S., Sun, C. (2009). Classification of software behaviors for failure detection: a discriminative pattern mining approach. In Proceedings of the 15th International Conference on Knowledge Discovery and Data Mining (SEKE’09), ACM, 2009, pp. 557–566. Lo, D., Cheng, H., Han, J., Khoo, S., Sun, C. (2009). Classification of software behaviors for failure detection: a discriminative pattern mining approach. In Proceedings of the 15th International Conference on Knowledge Discovery and Data Mining (SEKE’09), ACM, 2009, pp. 557–566.
Zurück zum Zitat Malishevsky, A., Rothermel, G., Elbaum, S. (2002). Modeling the cost-benefits tradeoffs for regression testing techniques. In Proceedings of the 18th International Conference on Software Maintenance (ICSM’02), 2002, pp. 204–213. IEEE. Malishevsky, A., Rothermel, G., Elbaum, S. (2002). Modeling the cost-benefits tradeoffs for regression testing techniques. In Proceedings of the 18th International Conference on Software Maintenance (ICSM’02), 2002, pp. 204–213. IEEE.
Zurück zum Zitat Marick, B. (1994). The craft of software testing: Subsystem testing including object-based and object-oriented testing. Champaign: Prentice-Hall. Marick, B. (1994). The craft of software testing: Subsystem testing including object-based and object-oriented testing. Champaign: Prentice-Hall.
Zurück zum Zitat Masri, W., Podgurski, A., & Leon, D. (2007). An empirical study of test case filtering techniques based on exercising information flows. IEEE Transactions on Software Engineering, 33(7), 454–477.CrossRef Masri, W., Podgurski, A., & Leon, D. (2007). An empirical study of test case filtering techniques based on exercising information flows. IEEE Transactions on Software Engineering, 33(7), 454–477.CrossRef
Zurück zum Zitat Renieres, M., Reiss, S. (2003) Fault localization with nearest neighbor queries. In Proceedings of the 18th International Conference on Automated Software Engineering (ASE’03), 2003, pp. 30–39. IEEE. Renieres, M., Reiss, S. (2003) Fault localization with nearest neighbor queries. In Proceedings of the 18th International Conference on Automated Software Engineering (ASE’03), 2003, pp. 30–39. IEEE.
Zurück zum Zitat Rothermel, G., Untch, R., Chu, C., & Harrold, M. (2001). Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering, 27(10), 929–948.CrossRef Rothermel, G., Untch, R., Chu, C., & Harrold, M. (2001). Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering, 27(10), 929–948.CrossRef
Zurück zum Zitat Sampath, S., Bryce, R., C., Viswanath, G., Kandimalla, V., & Koru, A., G., (2008). Prioritizing user-session-based test cases for web applications testing. In Proceedings of the 1st International Conference on Software Testing, Verification and Validation (ICST’08), 2008., pp. 141–150. IEEE. Sampath, S., Bryce, R., C., Viswanath, G., Kandimalla, V., & Koru, A., G., (2008). Prioritizing user-session-based test cases for web applications testing. In Proceedings of the 1st International Conference on Software Testing, Verification and Validation (ICST’08), 2008., pp. 141–150. IEEE.
Zurück zum Zitat Sumner, W., Bao, T., Zhang, X. (2011). Selecting peers for execution comparison. In Proceedings of the 20th International Symposium on Software Testing and Analysis (ISSTA’11), 2011, pp. 309–319. IEEE. Sumner, W., Bao, T., Zhang, X. (2011). Selecting peers for execution comparison. In Proceedings of the 20th International Symposium on Software Testing and Analysis (ISSTA’11), 2011, pp. 309–319. IEEE.
Zurück zum Zitat Wu, K., Fang, C., Chen, Z., Zhao, Z. (2012) Test case prioritization incorporating ordered sequence of program elements. In Proceedings of the 7th International Workshop on Automation of Software Test (AST’12), 2012, pp. 124–130. Wu, K., Fang, C., Chen, Z., Zhao, Z. (2012) Test case prioritization incorporating ordered sequence of program elements. In Proceedings of the 7th International Workshop on Automation of Software Test (AST’12), 2012, pp. 124–130.
Zurück zum Zitat Yan, S., Chen, Z., Zhao, Z., Zhang, C., Zhou, Y. (2010). A dynamic test cluster sampling strategy by leveraging execution spectra information. In Proceedings of the 3rd International Conference on Software Testing, Verification and Validation (ICST’10), 2010, pp. 147–154. IEEE. Yan, S., Chen, Z., Zhao, Z., Zhang, C., Zhou, Y. (2010). A dynamic test cluster sampling strategy by leveraging execution spectra information. In Proceedings of the 3rd International Conference on Software Testing, Verification and Validation (ICST’10), 2010, pp. 147–154. IEEE.
Zurück zum Zitat Yoo, S., & Harman, M. (2012). Regression testing minimization, selection and prioritization: A survey. Software Testing, Verification and Reliability, 22(2), 67–120.CrossRef Yoo, S., & Harman, M. (2012). Regression testing minimization, selection and prioritization: A survey. Software Testing, Verification and Reliability, 22(2), 67–120.CrossRef
Zurück zum Zitat Yoo, S., Harman, M., Tonella, P., Susi, A. (2009). Clustering test cases to achieve effective and scalable prioritisation incorporating expert knowledge. In Proceedings of the 8th International Symposium on Software Testing and Analysis (ISSTA’09), 2009, pp. 201–212. ACM. Yoo, S., Harman, M., Tonella, P., Susi, A. (2009). Clustering test cases to achieve effective and scalable prioritisation incorporating expert knowledge. In Proceedings of the 8th International Symposium on Software Testing and Analysis (ISSTA’09), 2009, pp. 201–212. ACM.
Zurück zum Zitat Zhang, C., Chen, Z., Zhao, Z., Yan, S., Zhang, J., Xu, B. (2010). An improved regression test selection technique by clustering execution profiles. In Proceedings of the 10th International Conference on Quality Software (QSIC’10), 2010, pp. 171–179. IEEE. Zhang, C., Chen, Z., Zhao, Z., Yan, S., Zhang, J., Xu, B. (2010). An improved regression test selection technique by clustering execution profiles. In Proceedings of the 10th International Conference on Quality Software (QSIC’10), 2010, pp. 171–179. IEEE.
Metadaten
Titel
Similarity-based test case prioritization using ordered sequences of program entities
verfasst von
Chunrong Fang
Zhenyu Chen
Kun Wu
Zhihong Zhao
Publikationsdatum
01.06.2014
Verlag
Springer US
Erschienen in
Software Quality Journal / Ausgabe 2/2014
Print ISSN: 0963-9314
Elektronische ISSN: 1573-1367
DOI
https://doi.org/10.1007/s11219-013-9224-0

Weitere Artikel der Ausgabe 2/2014

Software Quality Journal 2/2014 Zur Ausgabe

EditorialNotes

In this issue

Premium Partner