Logo

Publikacije (41)

Nazad
A. Stratis, Adnan Causevic

In order to perform efficient testing of software intensive safety-critical products, organisations often utilise hardware-in-the-loop simulation of the system under test surrounding environment. This way, the system could be invoked and its behaviour could be observed in a controlled setting rather than in the field. However, what effect simulation quality might have on the effectiveness of the testing process still remains an open question. An answer to such a question is rather critical for organisations who are obliged to safety certify their products.In this paper, we are presenting an approach used by Bombardier Transportation to validate their hardware-in-the-loop simulation of a safety-critical system, by executing test cases both in the control setting (lab) and on the real product (train). The process is intended to be used when certifying the simulation which is a necessary step in order to certify the complete system. In addition, we are also presenting some observations from the pilot study and lessons learned.

Daniel Brahneborg, W. Afzal, Adnan Causevic

To enable fast and reliable delivery of mobile text messages (SMS), special bidirectional protocols are often used. Measuring the achieved throughput and involved latency is however non-trivial, due to the complexity of these protocols. Modifying an existing system would incur too much of a risk, so instead a new tool was created to analyse the log files containing information about this traffic in a black-box fashion. When the produced raw data was converted into graphs, they gave new insights into the behaviour of both the protocols and the remote systems involved.

Daniel Brahneborg, W. Afzal, Adnan Causevic

Regression testing research has received significant focus during the past decades, acknowledging the benefits it can provide to organisations in terms of reduced development and maintenance costs, as well as sustained end-user satisfaction. There are several challenges left to overcome before the industry can fully take advantage of the available research results in this area. To get a better overview of how current regression testing research fits in with today's industrial practices, we read a selection of papers in the field and based on our experience, critically examined their content. As a result, we present and discuss a taxonomy of regression testing challenges, from the perspectives of both methods and organisations, that we believe will foster the industrial uptake of regression testing.

Eduard Paul Enoiu, Daniel Sundmark, Adnan Causevic, P. Pettersson

Automated test generation has been suggested as a way of creating tests at a lower cost. Nonetheless, it is not very well studied how such tests compare to manually written ones in terms of cost and effectiveness. This is particularly true for industrial control software, where strict requirements on both specification-based testing and code coverage typically are met with rigorous manual testing. To address this issue, we conducted a case study in which we compared manually and automatically created tests. We used recently developed real-world industrial programs written in the IEC 61131-3, a popular programming language for developing industrial control systems using programmable logic controllers. The results show that automatically generated tests achieve similar code coverage as manually created tests, but in a fraction of the time (an average improvement of roughly 90%). We also found that the use of an automated test generation tool does not result in better fault detection in terms of mutation score compared to manual testing. Specifically, manual tests more effectively detect logical, timer and negation type of faults, compared to automatically generated tests. The results underscore the need to further study how manual testing is performed in industrial practice and the extent to which automated test generation can be used in the development of reliable systems.

Eduard Paul Enoiu, Adnan Causevic, Daniel Sundmark, P. Pettersson

In engineering of safety critical systems, regulatory standards often put requirements on both traceable specification-based testing, and structural coverage on program units. Automated test generation techniques can be used to generate inputs to cover the structural aspects of a program. However, there is no conclusive evidence on how automated test generation compares to manual test design, or how testing based on the program implementation relates to specification-based testing. In this paper, we investigate specification -- and implementation-based testing of embedded software written in the IEC 61131-3 language, a programming standard used in many embedded safety critical software systems. Further, we measure the efficiency and effectiveness in terms of fault detection. For this purpose, a controlled experiment was conducted, comparing tests created by a total of twenty-three software engineering master students. The participants worked individually on manually designing and automatically generating tests for two IEC 61131-3 programs. Tests created by the participants in the experiment were collected and analyzed in terms of mutation score, decision coverage, number of tests, and testing duration. We found that, when compared to implementation-based testing, specification-based testing yields significantly more effective tests in terms of the number of faults detected. Specifically, specification-based tests more effectively detect comparison and value replacement type of faults, compared to implementation-based tests. On the other hand, implementation-based automated test generation leads to fewer tests (up to 85% improvement) created in shorter time than the ones manually created based on the specification.

Adnan Causevic, R. Land, Ola Sellin

Organizations tend to limit their investment in test automation due to the lack of information on the actual tests reuse and when will automated tests really pay off. However, to perform efficient ...

Eduard Paul Enoiu, Daniel Sundmark, Adnan Causevic, P. Pettersson

Testing is an important activity in engineering of industrial embedded software. In certain application domains (e.g., railway industry) engineering software is certified according to safety standa ...

Eduard Paul Enoiu, Adnan Causevic

When it comes to industrial organizations, current collaboration efforts in software engineering research are very often kept in-house, depriving these organizations of the skills necessary to build independent collaborative research. The current trend, towards empirical software engineering research, requires certain standards to be established which would guide these collaborative efforts in creating a strong partnership that promote independent, evidence-based, software engineering research. This paper examines key enabling factors for an efficient and effective industry-academia collaboration in the software testing domain. A major finding of the research was that while technology is a strong enabler to better collaboration, it must be complemented with industrial openness to disclose research results and the use of a dedicated tooling platform. We use as an example an automated test generation approach that has been developed in the last two years collaboratively with Bombardier Transportation AB in Sweden.

Adnan Causevic, S. Punnekkat, Daniel Sundmark

Test driven development (TDD) appears not to be immune to positive test bias effects, as we observed in several empirical studies. In these studies, developers created a significantly larger set of positive tests, but at the same time the number of defects detected with negative tests is significantly higher than those detected by positive ones. In this paper we propose the concept of TDDHQ which is aimed at achieving higher quality of testing in TDD by augmenting the standard TDD with suitable test design techniques. To exemplify this concept, we present combining equivalence partitioning test design technique together with the TDD, for the purpose of improving design of test cases. Initial evaluation of this approach showed a noticeable improvement in the quality of test cases created by developers utilising TDDHQ approach.

Adnan Causevic, Rakesh Shukla, S. Punnekkat

Conducting empirical studies in industry always presents a major challenge for many researchers. Being a graduate student does not make things any easier. Often due to the lack of experience, credibility or just very limited networking, graduate students do not receive many opportunities to directly collaborate with industry and experiment their theoretical models in a realistic environment. On the other hand, empirical research conducted in an academic settings is often criticised for using students as subjects and working with a small sample size, thus creating major validity threat of the published results. In this paper we are presenting an experience report from an industrial empirical study conducted at Infosys Ltd., India with the support of their global internship program for graduate students, InStep. Focus of the paper is to present several challenges arisen before, during, and after the study, requiring an immediate attention in order to have a successful experiment completion. We also discuss and elaborate the data analysis results and its implication to our current research activities.

One of the most emphasised software testing activities in an Agile environment is the usage of the Test Driven Development (TDD) approach. TDD is a development activity where test cases are created ...

Nema pronađenih rezultata, molimo da izmjenite uslove pretrage i pokušate ponovo!

Pretplatite se na novosti o BH Akademskom Imeniku

Ova stranica koristi kolačiće da bi vam pružila najbolje iskustvo

Saznaj više