20 resultados para Software testing. Test generation. Grammars
Resumo:
Services in smart environments pursue to increase the quality of people?s lives. The most important issues when developing this kind of environments is testing and validating such services. These tasks usually imply high costs and annoying or unfeasible real-world testing. In such cases, artificial societies may be used to simulate the smart environment (i.e. physical environment, equipment and humans). With this aim, the CHROMUBE methodology guides test engineers when modeling human beings. Such models reproduce behaviors which are highly similar to the real ones. Originally, these models are based on automata whose transitions are governed by random variables. Automaton?s structure and the probability distribution functions of each random variable are determined by a manual test and error process. In this paper, it is presented an alternative extension of this methodology which avoids the said manual process. It is based on learning human behavior patterns automatically from sensor data by using machine learning techniques. The presented approach has been tested on a real scenario, where this extension has given highly accurate human behavior models,
Resumo:
Cognitive Wireless Sensor Networks are an emerging technology with a vast potential to avoid traditional wireless problems such as reliability, interferences and spectrum scarcity in Wireless Sensor Networks. Cognitive Wireless Sensor Networks test-beds are an important tool for future developments, protocol strategy testing and algorithm optimization in real scenarios. A new cognitive test-bed for Cognitive Wireless Sensor Networks is presented in this paper. This work in progress includes both the design of a cognitive simulator for networks with a high number of nodes and the implementation of a new platform with three wireless interfaces and a cognitive software for extracting real data. Finally, as a future work, a remote programmable system and the planning for the physical deployment of the nodes at the university building is presented.
Resumo:
Context. This thesis is framed in experimental software engineering. More concretely, it addresses the problems arisen when assessing process conformance in test-driven development experiments conducted by UPM's Experimental Software Engineering group. Process conformance was studied using the Eclipse's plug-in tool Besouro. It has been observed that Besouro does not work correctly in some circumstances. It creates doubts about the correction of the existing experimental data which render it useless. Aim. The main objective of this work is the identification and correction of Besouro's faults. A secondary goal is fixing the datasets already obtained in past experiments to the maximum possible extent. This way, existing experimental results could be used with confidence. Method. (1) Testing Besouro using different sequences of events (creation methods, assertions etc..) to identify the underlying faults. (2) Fix the code and (3) fix the datasets using code specially created for this purpose. Results. (1) We confirmed the existence of several fault in Besouro's code that affected to Test-First and Test-Last episode identification. These faults caused the incorrect identification of 20% of episodes. (2) We were able to fix Besouro's code. (3) The correction of existing datasets was possible, subjected to some restrictions (such us the impossibility of tracing code size increase to programming time. Conclusion. The results of past experiments dependent upon Besouro's data could no be trustable. We have the suspicion that more faults remain in Besouro's code, whose identification requires further analysis.
Resumo:
The search for new energy models arises as a necessity to have a sustainable power supply. The inclusion of distributed generation sources (DG) allows to reduce the cost of facilities, increase the security of the grid or alleviate problems of congestion through the redistribution of power flows. In remote microgrids it is needed in a particular way a safe and reliable supply, which can cover the demand for a low cost; due to this, distributed generation is an alternative that is being widely introduced in these grids. But the remote microgrids are especially weak grids because of their small size, low voltage level, reduced network mesh and distribution lines with a high ratio R/X. This ratio affects the coupling between grid voltages and phase shifts, and stability becomes an issue of greater importance than in interconnected systems. To ensure the appropriate behavior of generation sources inserted in remote microgrids -and, in general, any electrical equipment-, it is essential to have devices for testing and certification. These devices must, not only faithfully reproduce disturbances occurring in remote microgrids, but also to behave against the equipment under test (EUT) as a real weak grid. This also makes the device commercially competitive. To meet these objectives and based on the aforementioned, it has been designed, built and tested a voltage disturbances generator, in order to provide a simple, versatile, full and easily scalable device to manufacturers and laboratories in the sector.
Resumo:
Hoy en día existe una preocupación creciente por la calidad del software entregado en los proyectos que se realizan a lo largo del mundo. El trabajo de fin de grado que va a ser desarrollado en estas páginas pretende demostrar la importancia de la realización de tests funcionales durante el proceso de desarrollo de software para que el proyecto alcance la calidad requerida tan demandada en estos días. Para ello, después de una pequeña introducción a la historia del software, se presentarán y compararán diversos tipos de metodologías de desarrollo de software, tanto pesadas (cascada, espiral, etc.) como ágiles (Extreme Programming y Scrum), se enfatizará en dichas metodologías ágiles y cómo el proceso de testing y control de calidad encaja perfectamente con la filosofía de las citadas metodologías ágiles. Se desarrollará una explicación del papel de QA en el desarrollo de software, asi como una explicación de los tipos de test existentes, y las herramientas, tecnologías y patrones que existen a disposición de aquellos que quieran desempeñar el papel de QA. Para complementar el punto de vista teórico de este trabajo se presentará un caso práctico real realizado en la empresa bq bajo una metodología Scrum. Dicho caso práctico muestra el uso de ciertas herramientas y su aporte para el control de calidad del proyecto bajo desarrollo, demostrando su importancia. Se realizará énfasis en el proceso de automatización de ciertas baterías de test (llamadas test suites), mostrando desde el planteamiento inicial de las diferentes historias de usuario y la batería de test, pasando por la elección de las tecnologías más adecuadas para la elaboración de los test hasta llegar al lanzamiento de dicha batería de pruebas y la comprobación de éstas. El punto de vista práctico quedará complementado por una explicación del framework nightwatch.js, framework utilizado en el desarrollo del proyecto en bq para la automatización de test funcionales. Esta explicación comprenderá tanto la configuración y uso del framework como el uso de patrones y la estructura de las pruebas. ABSTRACT Nowadays there is a growing concern about the Quality of the software delivered in the projects that are made all around the world. This final project will try to prove the importance of performing functional tests during the Software Development Process in order to be able to reach the demanded Quality. To fulfill this objective, different types of Software Development methodologies will be presented and compared. Heavy methodologies (waterfall, spiral methodologies, etc.) as well as agile methodologies (Extreme Programming and Scrum). There will be an emphasis in the second kind (agile methodologies) and how the testing and quality assurance process fits perfectly in their philosophy. A deep explanation of the role that Quality Assurance holds on software development will be presented, as well as an explanation on the current types of testing and an explanation of the different tools; technologies and patrons that exist to help anyone who wants to perform the role of QA. To complement the theoretical perspective of this work a real case study, performed at the company bq under a Scrum methodology, will be presented. The mentioned study covers the use of certain tools and their input for the quality assurance of the project under development, proving its relevance. Emphasis will be made in the process of conducting a set of tests (called test suite), showing from the initial approach of the different users stories and the set of tests, going through the choosing of the most suitable technologies for the tests development, and ending with the performance of this battery of tests and their checkout. The practical point of view will be complemented by a deep explanation of the creation process using the nightwatch.js automated test framework, used in the project in bq. This explanation will cover both the configuration and use of the framework as the use of patterns and structure of the tests.