16 research outputs found
A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation
Otsingupõhine tarkvara testimine kasutab metaheuristilisi algoritme, et automatiseerida testide genereerimist. Selle töö eesmärgiks on osaliselt taasluua 2010. aastal kirjutatud Ali et al. artikkel, et uurida, kuidas on aastatel 2008-2015 kasutatud metaheuristilisi algoritme testide loomiseks. See töö analüüsib, kuidas on antud artiklid koostatud ning kuidas neis on algoritmide maksumust ja efektiivsust hinnatud. Kogutud tulemusi võrreldakse Ali et al. tulemustega.Search based software testing uses metaheuristic algorithms to automate the generation of test cases. This thesis partially replicates a literature study published in 2010 by Ali et al. to determine how studies published in 2008-2015 use metaheuristic algorithms to automate the generation of test cases. The thesis analyses how these studies were conducted and how the cost-effectiveness is assessed in these papers. The trends detected in the new publications are compared to those presented in Ali et al
A Survey on Software Testing Techniques using Genetic Algorithm
The overall aim of the software industry is to ensure delivery of high
quality software to the end user. To ensure high quality software, it is
required to test software. Testing ensures that software meets user
specifications and requirements. However, the field of software testing has a
number of underlying issues like effective generation of test cases,
prioritisation of test cases etc which need to be tackled. These issues demand
on effort, time and cost of the testing. Different techniques and methodologies
have been proposed for taking care of these issues. Use of evolutionary
algorithms for automatic test generation has been an area of interest for many
researchers. Genetic Algorithm (GA) is one such form of evolutionary
algorithms. In this research paper, we present a survey of GA approach for
addressing the various issues encountered during software testing.Comment: 13 Page
eCrash: a framework for performing evolutionary testing on third-party Java components
The focus of this paper is on presenting a tool for generating test data by employing evolutionary search techniques, with basis on the information provided by the structural analysis and interpretation of the Java bytecode of third-party Java components, and on the dynamic execution of the instrumented test object.
The main objective of this approach is that of evolving a set of test cases that yields full structural code coverage of the test object. Such a test set can be used for effectively performing the testing activity, providing confidence in the quality and robustness of the test object.
The rationale of working at the bytecode level is that even when the source code is unavailable structural testing requirements can still be derived, and used to assess the quality of a test set and to guide the evolutionary search towards reaching specific test goals
Pruebas unitarias para evaluar automáticamente la programación de clases en python
[EN] The Automatic Assessment (AA) of tasks presents several advantages, such as: its
application to a large number of students (due to the very short time that it requires
compared to manual evaluations), automatic and immediate feedback to the students
and lack of subjectivity .
In this paper we explain how to design unit tests to evaluate how the Object Oriented
Programming (OOP) classes of the assignment have been programmed. In this paper,
we focus on the Python programming language (rather than using Java as other works
of literature). In addition, we present a real case of practical laboratory assignment. We
also present their solution and the corresponding unit tests.
Finally, we prove the effectiveness of the unit tests by verifying that the results obtained
are the same as the evaluation carried out by visual inspection of the students’ code. In
addition, we also received positive feedback from students on the work presented in this
article.[ES] La Evaluación Automática (EA) de tareas presenta varias ventajas, tales como: su aplicación a un gran número de estudiantes (debido al tiempo tan reducido que requiere en comparación con las evaluaciones manuales), valoración automática e inmediata para los estudiantes y falta de subjetividad.En este trabajo explicamos como diseñar pruebas unitarias para evaluar como han sido programadas las clases de tareas de Programación Orientada a Objetos (POO). En este trabajo, nos enfocamos en el lenguaje de programación Python (en vez de utilizar Java tal y como lo hacen los otros trabajos de la literatura). Además, presentamos un caso real de un trabajo práctico de laboratorio. También presentamos su solución y las correspondientes pruebas unitarias.Finalmente, corroboramos la efectividad de los tests unitarios comprobando que los resultados obtenidos son los mismos que la evaluación realizada por inspección visual del código de los estudiantes. Además, también recibimos valoraciones positivas de los alumnos del trabajo presentado en este artículo.Climent Aunes, L.; Arbelaez Rodriguez, A. (2023). Pruebas unitarias para evaluar automáticamente la programación de clases en python. Editorial Universitat Politècnica de València. 398-408. https://doi.org/10.4995/INRED2023.2023.1659639840
mCrash: a framework for the evaluation of mobile devices' trustworthiness properties
Dissertação apresentada à Faculdade de Ciências e Tecnologia da Universidade de Coimbra para obtenção do grau de Mestre em "Informatics and Systems", orientada por Mário Alberto Zenha-Rela. Apenas está disponível um resumo da dissertação.Mobile devices, such as Smartphones, are being used virtually by every modern
individual. Such devices are expected to work continuously and
awlessly
for years, despite having been designed without criticality requirements.
However, the requirements of mobility, digital identi cation and authentication
lead to an increasing dependence of societies on the correct behaviour
of these \proxies for the individual".
The Windows Mobile 5.0 release has delivered a new set of internal state
monitoring services, centralized into the State and Noti cations Broker. This
API was designed to be used by context-aware applications, providing a comprehensive
monitoring of the internal state and resources of mobile devices.
We propose using this service to increase the dependability of mobile applications
by showing, through a series of fault-injection campaigns, that this
novel API is very e ective for error propagation pro ling and monitoring
Testing Container Classes: Random or Systematic?
Container classes such as lists, sets, or maps are elementary data struc-tures common to many programming languages. Since they are a part of stan-dard libraries, they are important to test, which led to research on advanced testing techniques targeting such containers and research on comparing testing techniques using such containers. However, these techniques have not been thor-oughly compared to simpler techniques such as random testing. We present the results of a larger case study in which we compare random testing with shape ab-straction, a systematic technique that showed the best results in a previous study. Our experiments show that random testing is about as effective as shape abstrac-tion for testing these containers, which raises the question whether containers are well suited as a benchmark for comparing advanced testing techniques