43 research outputs found
Metamorphic testing: a review of challenges and opportunities
Metamorphic testing is an approach to both test case generation and test result verification. A central element is a set of metamorphic relations, which are necessary properties of the target function or algorithm in relation to multiple inputs and their expected outputs. Since its first publication, we have witnessed a rapidly increasing body of work examining metamorphic testing from various perspectives, including metamorphic relation identification, test case generation, integration with other software engineering techniques, and the validation and evaluation of software systems. In this paper, we review the current research of metamorphic testing and discuss the challenges yet to be addressed. We also present visions for further improvement of metamorphic testing and highlight opportunities for new research
Hepatitis B and Renal Disease
Glomerulonephritis is an important extrahepatic manifestation of chronic hepatitis B virus (HBV) infection. The uncommon occurrence, variability in renal histopathology, and heterogeneity in clinical course present challenges in clinical studies and have resulted in a relative paucity of data and uncertainty with regard to the optimal management of HBV-related glomerular diseases. The advent of nucleos(t)ide analogue medications that effectively suppress HBV replication has markedly altered the clinical outcomes of kidney transplant recipients with HBV infection, but the emergence of drug resistance is an escalating problem. This article reviews the recent knowledge of the pathogenesis and treatment of HBV-related membranous nephropathy, and discusses the management of hepatitis B in kidney transplant recipients, which is continuously evolving
Baseline characteristics of patients in the reduction of events with darbepoetin alfa in heart failure trial (RED-HF)
<p>Aims: This report describes the baseline characteristics of patients in the Reduction of Events with Darbepoetin alfa in Heart Failure trial (RED-HF) which is testing the hypothesis that anaemia correction with darbepoetin alfa will reduce the composite endpoint of death from any cause or hospital admission for worsening heart failure, and improve other outcomes.</p>
<p>Methods and results: Key demographic, clinical, and laboratory findings, along with baseline treatment, are reported and compared with those of patients in other recent clinical trials in heart failure. Compared with other recent trials, RED-HF enrolled more elderly [mean age 70 (SD 11.4) years], female (41%), and black (9%) patients. RED-HF patients more often had diabetes (46%) and renal impairment (72% had an estimated glomerular filtration rate <60 mL/min/1.73 m2). Patients in RED-HF had heart failure of longer duration [5.3 (5.4) years], worse NYHA class (35% II, 63% III, and 2% IV), and more signs of congestion. Mean EF was 30% (6.8%). RED-HF patients were well treated at randomization, and pharmacological therapy at baseline was broadly similar to that of other recent trials, taking account of study-specific inclusion/exclusion criteria. Median (interquartile range) haemoglobin at baseline was 112 (106–117) g/L.</p>
<p>Conclusion: The anaemic patients enrolled in RED-HF were older, moderately to markedly symptomatic, and had extensive co-morbidity.</p>
Introduction to the Special Issue on Test Oracles
Software testing is the de facto technique for correctness verification. Although there are different motivations and approaches to testing, fundamentally, it involves the running of test cases against the software under test. An important aspect is the ability to tell whether the execution results agree with the expected outcomes. The mechanism to determine the correctness of the results is called a test oracle. Unfortunately, such a mechanism does not always exist or may exist but cannot be feasibly used, which is known as the oracle problem. This is a major challenge to software testers, severely curtailing the application of testing approaches
and methods to practical situations.
In spite of the vast amount of interest in software testing, studies on test oracles drew much less attention than other aspects of software testing until quite recently. The increasing number of research activities surrounding the oracle problem reflects a growing interest in the area.
This special issue documents some of the new contributions in software test oracles. We received a total of 19 submissions. Each submission has been reviewed by at least three reviewers. Six papers have been accepted for publication.
In general, test oracle issues may involve identifying the expected program properties, test case generation, test sequencing and concurrency, test output verification, and fault localization. To deal with the identification of expected program properties, paper 1 titled “Automated Inference of Likely Metamorphic Relations for Model Transformations” by Troya et al. proposes a method of automatically
inferring likely metamorphic relations, in the context of metamorphic testing, for the verification of model transformations. To handle test case generation and conduct run-time assertion checking, paper 2 titled “Contract-Based Testing for PHP with Praspel” by Dadeau et al. makes use of contracts, which enable the automation of these processes. To tackle the test sequencing question, paper 3 titled “Temporal Algebraic Query of Test Sequences” by Prasetya studies the question of test sequences using formalism based on algebraic relations and linear temporal logic. Paper 4 titled “Stateless Techniques for Generating Global and Local Test Oracles for Message-Passing Concurrent Programs” by Carver and Lei considers the state explosion problem of test sequences and proposes a stateless method to generate test oracles for concurrent
programs. To address the test output verification problem, paper 5 titled “VISOR: A Fast Image Processing Pipeline with Scaling and Translation Invariance for Test Oracle Automation of Visual Output Systems” by Kıraç et al. focuses on the verification of visual output and introduces an automated test oracle that avoids false positives in image comparison caused by scaling and translation. To investigate software fault localization in the face of the oracle problem, paper 6 titled “Exploring the Usefulness of Unlabelled Test Cases in Software Fault Localization” by Zhang et al. develops an approach based on a core idea of test classification.
We would like to thank the authors for their contributions, and the reviewers for their invaluable comments
Classification-tree restructuring methodologies: a new perspective
The classification-tree method developed by Grochtmann et al. provided a useful
approach for constructing test cases from functional specifications. It was automated by Chen and
Poou through their tree construction methodology. In a follow-up study, Chen and Poon found that
the cffectiveness of constructing lcgitimate test cases could be improved under certain circumstances
via a classification-tree restructuring algorithm. We develop another tree restructuring
algorithm to cater for other situations not covered previously. The algorithms complement each
other. We also compare the relative effectiveness of these algorithms and provide guidelines on
applying them in practice
Contributions of tester experience and a checklist guideline to the identification of categories and choices for software testing
An early step for most black-box testing methods is to identify a set of categories and choices (or their equivalents) from the specification. The identification is often performed in an ad hoc manner, thus the quality of categories and choices is in doubt. Poorly identified categories and choices will affect the comprehensiveness of test cases. In this paper, we describe several comparative studies using three commercial specifications and discuss the major results. The objectives of our studies are (a) to investigate the differences in the types and amounts of mistakes made between inexperienced and experienced software testers in an ad hoc identification approach and (b) to determine the extent of mistake reduction after discussing the mistakes with the software testers and providing them with an identification checklist