16 research outputs found
Dynamic Optimization of Network Routing Problem through Ant Colony Optimization (ACO)
Search Based Software Engineering (SBSE) is a new paradigm of Software engineering, which considers software engineering problems as search problems and emphasizes to find out optimal solution for the given set of available solutions using metaheuristic techniques like hill climbing simulated annealing, evolutionary programming and tabu search. On the other hand AI techniques like Swarm particle optimization and Ant colony optimization (ACO) are used to find out solutions for dynamic problems. SBSE is yet not used for dynamic problems. In this study ACO techniques are applied on SBSE problem by considering Network routing problem as case study, in which the nature of problem is dynamic. Keywords: SBSE, ACO, Metaheuristic search techniques, dynamic optimizatio
Recommended from our members
Automatic generation of test sequences form EFSM models using evolutionary algorithms
Automated test data generation through evolutionary testing (ET) is a topic of interest to the software engineering community. While there are many ET-based techniques for automatically generating test data from code, the problem of generating test data from an extended finite state machine (EFSMs) is more complex and has received little attention. In this paper, we introduce a novel approach that addresses the problem of generating input test sequences that trigger given feasible paths in an EFSM model by employing an ET-based technique. The proposed approach expresses the problem as a search for input parameters to be applied to a set of functions to be called sequentially. In order to apply ET-based technique, a new fitness function is introduced to cope with the case when a test target involves calls to a set of transitions sequentially. We evaluate our approach empirically using five sets of randomly generated paths through two EFSM case studies: INRES and class 2 transport protocols. In the experiments, we apply two search techniques: a random and an ET-based which utilizes our new fitness function. Experimental results show that the proposed approach produces input test sequences that trigger all the feasible paths used with a success rate of 100%, however, the random technique failed in most cases with a success rate of 20.8%
Survey on Mutation-based Test Data Generation
The critical activity of testing is the systematic selection of suitable test cases, which be able to reveal highly the faults. Therefore, mutation coverage is an effective criterion for generating test data. Since the test data generation process is very labor intensive, time-consuming and error-prone when done manually, the automation of this process is highly aspired. The researches about automatic test data generation contributed a set of tools, approaches, development and empirical results. In this paper, we will analyse and conduct a comprehensive survey on generating test data based on mutation. The paper also analyses the trends in this field
Cloud engineering is search based software engineering too
Many of the problems posed by the migration of computation to cloud platforms can be formulated and solved using techniques associated with Search Based Software Engineering (SBSE). Much of cloud software engineering involves problems of optimisation: performance, allocation, assignment and the dynamic balancing of resources to achieve pragmatic trade-offs between many competing technical and business objectives. SBSE is concerned with the application of computational search and optimisation to solve precisely these kinds of software engineering challenges. Interest in both cloud computing and SBSE has grown rapidly in the past five years, yet there has been little work on SBSE as a means of addressing cloud computing challenges. Like many computationally demanding activities, SBSE has the potential to benefit from the cloud; ‘SBSE in the cloud’. However, this paper focuses, instead, of the ways in which SBSE can benefit cloud computing. It thus develops the theme of ‘SBSE for the cloud’, formulating cloud computing challenges in ways that can be addressed using SBSE
Generator of Values for Functional Test Cases
Diversos autores coinciden en la importancia de las pruebas como elemento de control de calidad del software y en la imposibilidad de realización de pruebas exhaustivas. Este criterio está sustentado en que la cantidad de escenarios y valores de prueba necesarios para lograr cobertura total es grande, lo que convierte el diseño de casos de prueba y en particular la generación de sus valores en un problema combinatorio.Este trabajo presenta una propuesta para la generación automática de valores de casos de prueba funcionales, mediante el uso de algoritmos metaheurísticos, maximizando la cobertura de los escenarios. Además, se detallan los algoritmos implementados para la generación de valores iniciales y para la generación de combinaciones. Adicionalmente se describen un conjunto de buenas prácticas para utilizar el componente y la comparación de los resultados obtenidos con otras soluciones existentes.Several authors agree with the importance of the tests like element of quality control of the software and in the impossibility of their realization of exhaustive way. This opinion defends that, the necessary quantity of stages and test values to achieve the maximum coverage is too big, what converts the test-case design, and in particular the generation of its values, in a combinatorial problem. That´s why, in many instances, in front of the impossibility of covering all the stages, testers leave out of the design some interesting values, which can discover inconsistencies with the specified requirements. This work presents a proposal for the automatic generation of values of functional test cases, by means of the use of meta-heuristic algorithms and maximizing the coverage of the stages. Furthermore, the algorithms implemented for the generation of initial values and for the generation of combinations are detailed. Additionally a set of good practices to use the component and the comparison of the obtained results with other existing solutions are described
Recommended from our members
A search-based technique for testing from extended finite state machine model
Extended finite state machines (EFSMs), and languages such as state-charts that are similar to EFSMs, are widely used to model state-based systems. When testing from an EFSM M it is common to aim to produce a set of test sequences (input sequences) that satisfies a test criterion that relates to the transition paths (TPs) of M that are executed by the test sequences. For example, we might require that the set of TPs triggered includes all of the transitions of M. One approach to generating such a set of test sequences is to split the problem into two stages: choosing a set of TPs that achieves the test criterion and then producing test sequences to trigger these TPs. However, the EFSM may contain infeasible TPs and the problem of generating a test sequence to trigger a given feasible TP (FTP) is generally uncomputable. In this paper we present a search-based approach that uses two techniques: (1) A TP fitness metric based on our previous work that estimates the feasibility of a given transition path; and (2) A fitness function to guide the search for a test sequence to trigger a given FTP. We evaluated our approach on five EFSMs: A simple in-flight safety system; a class II transport protocol; a lift system; an ATM; and the Inres initiator. In the experiments the proposed approach successfully tested approximately 96.75 % of the transitions and the proposed test sequence generation technique triggered all of the generated FTPs
Automatic execution of tests in enterprise production environments for software
Este trabajo presenta un conjunto de buenas prácticas para introducir en las organizaciones de desarrollo de software la ejecución automática de pruebas. Se persigue como objetivo la integración de las pruebas con el entorno de trabajo para alcanzar niveles superiores de cobertura y asistir a los desarrolladores y probadores en el diseño y ejecución de los casos de prueba.La propuesta contempla entornos de integración continua de aplicaciones, con modelos para la generación y ejecución automática de casos de prueba. Se hace un análisis de las propuestas existentes en este ámibito, sus contribuciones y limitaciones fundamentales; como punto de partida para la presentación del modelo para la ejecución automática de pruebas de software.El modelo Mtest.search contiene procedimientos y métodos para la generación y ejecución de casos de pruebas insertados en un entorno de integración continua dentro del propio proceso de desarrollo de aplicaciones. Esta propuesta puede ser adecuada a las condiciones específicas de cada empresa según su propia plataforma de desarrollo.Se exponen las experiencias de aplicación del modelo en un entorno de desarrollo universitario
PALABRAS CLAVES: ejecución automática de pruebas, generación automática de casos de prueba, integración continua.ABSTRACT
This paper presents a set of good practices for introducing automatic test execution in software devel- opment organizations. The objective is to integrate the tests with the work environment to reach higher levels of coverage and to assist the developers and testers in the design and execution of the test cases. The proposal contemplates environments of continuous integration of applications, with models for the automatic generation and execution of test cases. An analysis is made of the existing proposals in this area, their fundamental contributions and limitations; as a starting point for the presentation of the model for the automatic execution of software tests.The Mtest.search model contains procedures and methods for generating and executing test cases in- serted in a seamless integration environment within the application development process itself. This proposal can be adapted to the specific conditions of each company according to its own development platform.The experiences of application of the model in an environment of university development are exposed.
KEYWORDS: automatic execution of test, automatic generation of test cases, continuous integration
Recommended from our members
Feedback-Based Random Test Generator for TSTL
Software testing is the process of evaluating the accuracy and performance of software, and automated software testing allows programmers to develop software more efficiently by decreasing testing costs. We compared two advanced random test generators, a Feedback-Directed Random Test Generator (FDR) and a Feedback-Controlled Random Test Generator (FCR), for an automated software testing tool in Python 2.x, the Template Scripting Testing Language (TSTL).
An FDR generates test inputs incrementally. Feedback from previous trials is used to generate new inputs. As each test input is executed, the software properties are assessed to determine if there is any value. Because of this process of gradually generating new tests, the FDR avoids redundant and illegal test inputs commonly produced by traditional random test generators. An FCR employs a different feedback technique. It controls the feedback to produce varied test inputs using multiple input containers. In our experiments, we compared the performance of our test generators with TSTL’s generator in terms of coverage, time-efficiency, and error-detection capability