-
Test case quality: an empirical study on belief and evidence
Authors:
Daniel Lucrédio,
Auri Marcelo Rizzo Vincenzi,
Eduardo Santana de Almeida,
Iftekhar Ahmed
Abstract:
Software testing is a mandatory activity in any serious software development process, as bugs are a reality in software development. This raises the question of quality: good tests are effective in finding bugs, but until a test case actually finds a bug, its effectiveness remains unknown. Therefore, determining what constitutes a good or bad test is necessary. This is not a simple task, and there…
▽ More
Software testing is a mandatory activity in any serious software development process, as bugs are a reality in software development. This raises the question of quality: good tests are effective in finding bugs, but until a test case actually finds a bug, its effectiveness remains unknown. Therefore, determining what constitutes a good or bad test is necessary. This is not a simple task, and there are a number of studies that identify different characteristics of a good test case. A previous study evaluated 29 hypotheses regarding what constitutes a good test case, but the findings are based on developers' beliefs, which are subjective and biased. In this paper we investigate eight of these hypotheses, through an extensive empirical study based on open software repositories. Despite our best efforts, we were unable to find evidence that supports these beliefs. This indicates that, although these hypotheses represent good software engineering advice, they do not necessarily mean that they are enough to provide the desired outcome of good testing code.
△ Less
Submitted 12 July, 2023;
originally announced July 2023.
-
Metamodel Quality Requirements and Evaluation (MQuaRE)
Authors:
Taciana Novo Kudo,
Renato F. Bulcão-Neto,
Auri Marcelo Rizzo Vincenzi
Abstract:
Models are the primary artifacts of model-driven software engineering (MDSD) [1], and a terminal model is a representation that conforms to a given software metamodel [2, 3]. As the quality of a software metamodel directly impacts the quality of terminal models, software metamodel quality is an essential aspect of MDSD. However, the literature reports a few proposals for metamodel quality evaluati…
▽ More
Models are the primary artifacts of model-driven software engineering (MDSD) [1], and a terminal model is a representation that conforms to a given software metamodel [2, 3]. As the quality of a software metamodel directly impacts the quality of terminal models, software metamodel quality is an essential aspect of MDSD. However, the literature reports a few proposals for metamodel quality evaluation, but most lack a general solution for the quality issue. Some efforts focus on quality measures [4], a quality evaluation model [5], or a quality evaluation model with structural measures borrowed from OO design [6, 7, 8]. Thus, we support there is a need for a more thorough solution for metamodel quality evaluation, with potential benefits to MDSD in general. This document describes a metamodel quality evaluation framework called MQuaRE (Metamodel Quality Requirements and Evaluation). MQuaRE is an integrated framework composed of metamodel quality requirements, a metamodel quality model, metamodel quality measures, and an evaluation process, with a great contribution of the ISO/IEC 25000 series [9] for software product quality evaluation.
△ Less
Submitted 9 September, 2020; v1 submitted 19 August, 2020;
originally announced August 2020.
-
BULNER: BUg Localization with word embeddings and NEtwork Regularization
Authors:
Jacson Rodrigues Barbosa,
Ricardo Marcondes Marcacini,
Ricardo Britto,
Frederico Soares,
Solange Rezende,
Auri M. R. Vincenzi,
Marcio E. Delamaro
Abstract:
Bug localization (BL) from the bug report is the strategic activity of the software maintaining process. Because BL is a costly and tedious activity, BL techniques information retrieval-based and machine learning-based could aid software engineers. We propose a method for BUg Localization with word embeddings and Network Regularization (BULNER). The preliminary results suggest that BULNER has bett…
▽ More
Bug localization (BL) from the bug report is the strategic activity of the software maintaining process. Because BL is a costly and tedious activity, BL techniques information retrieval-based and machine learning-based could aid software engineers. We propose a method for BUg Localization with word embeddings and Network Regularization (BULNER). The preliminary results suggest that BULNER has better performance than two state-of-the-art methods.
△ Less
Submitted 26 August, 2019;
originally announced August 2019.