201 |
Um ambiente para geração de cenários de testes para linhas de produtos de software sensíveis ao contexto / An environment for the generation of test scenarios for software product lines context sensitiveSantos, Ismayle de Sousa January 2013 (has links)
SANTOS, Ismayle de Sousa. Um ambiente para geração de cenários de testes para linhas de produtos de software sensíveis ao contexto. 2013. 135 f. Dissertação (Mestrado em ciência da computação)- Universidade Federal do Ceará, Fortaleza-CE, 2013. / Submitted by Elineudson Ribeiro (elineudsonr@gmail.com) on 2016-07-11T16:56:08Z
No. of bitstreams: 1
2013_dis_issantos.pdf: 3899116 bytes, checksum: 671b1907d9f723390441a5b8ed58142c (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-18T14:56:20Z (GMT) No. of bitstreams: 1
2013_dis_issantos.pdf: 3899116 bytes, checksum: 671b1907d9f723390441a5b8ed58142c (MD5) / Made available in DSpace on 2016-07-18T14:56:20Z (GMT). No. of bitstreams: 1
2013_dis_issantos.pdf: 3899116 bytes, checksum: 671b1907d9f723390441a5b8ed58142c (MD5)
Previous issue date: 2013 / A Context-Aware Software Product Line (CASPL) is a product line for developing context-aware applications, which dynamically change their behavior or provide services based on context information. With this kind of line, the productivity can be increased and the development costs of the context-aware application can be cut down. In this scenario, the testing activity needs to deal with the peculiarities of both context-aware applications and the product line development paradigm. Through the complexity involved in testing a CASPL is essential to have methods or tools for supporting this activity, especially with the goal of creating tests from requirements. The aim of this early testing generation is to identify and fix the defects in the early stages of development. Therefore, this work aims to propose an environment for generating test scenarios for a CASPL that takes into account the presence of context information and seeks to maximize the testing reuse. This environment consists of a testing scenario generation method, a template for textual use case specification and a support tool. The method uses as input textual use cases especifications with information about: funcionality, variability, and how the context afect the final products. The environment also has a use case template that supports the use of the method and a tool support, which allows the modeling of use cases according to this template and implements the proposed method. In order to verify the benefits of the environment as a way to testing generation for a Context-Aware Software Product Line, an assessment in the form of controlled experiment is conducted. Based on the collected results, it is observed that: the use of the template makes easy the understanding of a Context-Aware Software Product Line use case; the method favors the creation of a set of tests with higher coverage than a non-systematic testing generation; and the tool is the necessary support for the method. / Uma Linha de Produto de Software Sensível ao Contexto (LPSSC) é uma linha de produto para o desenvolvimento de aplicações sensíveis ao contexto, que alteram dinamicamente o comportamento ou que proveem serviços com base em informações de contexto. Nesse cenário, a atividade de testes precisa lidar ao mesmo tempo com as peculiaridades das aplicações finais, que são sensíveis ao contexto, e com o paradigma de desenvolvimento em linha de produto. Mediante a complexidade envolvida nos testes de uma LPSSC, é fundamental a existência de métodos ou ferramentas de suporte a essa atividade, especialmente com a intenção de criar testes a partir dos requisitos da linha. O objetivo dessa geração precoce dos testes é permitir a identificação e correção dos defeitos nos estágios iniciais de desenvolvimento. Dessa forma, esta dissertação tem por objetivo propor um ambiente de geração de cenários de testes para uma LPSSC que utiliza especificações textuais de casos de uso com informações de contexto e que possibilita a reutilização dos testes. Este ambiente é constituído pela proposta de um método de geração de cenários de testes, de um template para especificação textual de casos de uso de uma LPSSC e de uma ferramenta de apoio. O método utiliza como base especificações textuais de casos de uso com informações sobre: funcionalidade, variabilidade da linha, e como o contexto afeta os produtos finais. O ambiente também contém o template para caso de uso que fornece suporte ao uso do método e a ferramenta de apoio, que permite a modelagem de casos de uso segundo esse template e implementa o método proposto. Com a intenção de verificar os benefícios do ambiente, proposto nesta dissertação, quanto a geração de cenários de testes para uma LPSSC, conduziu-se uma avaliação preliminar na forma de experimento controlado. Baseado nos resultados coletados nessa avaliação percebeu-se que: o template favorece o entendimento de um caso de uso de uma LPSSC; o método favorece a criação de um conjunto de testes com uma maior cobertura para uma LPSSC, se comparado a criação de testes de forma não sistemática; e a ferramenta representa um suporte necessário.
|
202 |
Random testing with sanitizers to detect concurrency bugs in embedded avionics softwareJohansson, Viktor, Vallén, Alexander January 2018 (has links)
Fuzz testing is a random testing technique that is effective at finding bugs in large software programs and protocols. We investigate if the technology can be used to find bugs in multi-threaded applications by fuzzing a real-time embedded avionics platform together with a tool specialized at finding data races between multiple threads. We choose to fuzz an API (available to applications executing on top) of the platform. This thesis evaluates aspects of integrating a fuzzing program, AFL and a sanitizer, ThreadSanitizer with an embedded system. We investigate the modifications needed to create a correct run-time environment for the system, including supplying test data in a safe manner and we discuss hardware dependencies. We present a setup where we show that the tools can be used to find planted data races, however slowdown introduced by the tools is significant and the fuzzer only managed to find very simple planted data races during the test runs. Our findings also indicate what appear to be conflicts in instrumentation between the fuzzer and the sanitizer.
|
203 |
[en] GRAMMAR MODEL-BASED FUNCTIONAL TEST / [pt] TESTE FUNCIONAL BASEADO EM MODELOS GRAMATICAISRICARDO AUGUSTO BOITEUX MENDES LEAL 08 October 2008 (has links)
[pt] O teste funcional de software é um desafio enfrentado há
muito tempo por desenvolvedores. A complexidade crescente
de sistemas computacionais torna esse desafio ainda maior.
Uma tendência apontada como possível solução deste
problema é o uso de teste baseado em modelos. Inspirada
neste paradigma, esta dissertação retrata uma pesquisa
sobre o uso de gramáticas como modelos de teste
funcional. Modelos gramaticais podem capturar conceitos e
comportamentos de um sistema e de seu ambiente usando um
nível de abstração de acordo com o objetivo de teste. Eles
também podem ser aplicados para descrever casos de teste
funcional e guiar a execução de casos de teste gerados num
sistema em teste. O resultado desta execução, representado
na forma de um veredicto, revela a
conformidade do sistema com seus requisitos e
especificações. Para explorar o potencial dos modelos
gramaticais, este trabalho definiu uma maneira sistemática
de gerar e executar massas de teste. Esta solução permitiu
a programação de diferentes estratégias de teste. Ela
também facilitou a adaptação dos testes a
mudanças de requisitos e promoveu o reuso dos testes
existentes. Como efeito colateral deste estudo, um processo
de teste funcional foi desenvolvido e a
arquitetura de apoio aqui introduzida pode ser reutilizada
ou estendida por futuras soluções de teste funcional. / [en] Software functional test is a challenge faced by developers
for a long time.
The growing complexity of computing systems turns this
challenge even greater.
Model-based testing is a trend pointed out by the academia
and the industry as a
possible solution to this matter. Inspired by this
paradigm, this dissertation
depicts a research made on the use of grammars as
functional test models.
Grammar models can capture concepts and behaviors of a
system and its
environment at a level of abstraction according to the test
goal. They also can be
applied to describe functional test cases and guide the
execution of the generated
test cases against a system under test. The result of this
execution, represented as
a verdict, reveals the system conformity with its
requirements and specifications.
In order to explore grammar models potential, this work
defined a systematic way
to generate and execute a mass of tests. This solution
allowed the implementation
of different test strategies. It also assisted test
adjustment to requirements change
and promoted existing tests reuse. As a side-effect of this
study, a functional test
process was developed and the supporting architecture
introduced here may be
reused or extended by future functional test solutions.
|
204 |
Avaliação de sistemas de informações geográficas na internet através de teste de software. / Evaluation of geographic information systems on the internet through software testing.Patricia Oliveira Venezia 26 August 2010 (has links)
Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro / A utilização de sistemas de informações geográficas via Web (Sigweb) tem crescido nos últimos anos pela facilidade na manipulação e visualização de informações de diferentes lugares através da Internet. O objetivo deste estudo é realizar testes de sistemas de informações geográficas na Internet com ênfase na técnica funcional para avaliar a funcionalidade, usabilidade, a navegabilidade dos programas conhecidos como Sigweb prontos para usar. Para tanto, foi necessária a identificação dos casos de uso dos programas propostos para o estudo. Como resultado se pode conferir o comportamento dos sistemas durante os testes, além de distinguir as características de cada SigWeb e as dificuldades encontradas. / The use of Geographic Information System by Web (SIGWeb) has grown in the last years by the facility in manipulation and visualization of informations of different places through of Internet. The purpose of this work is accomplish test methods with emphasis in the functional technique where is valuated the functionality, usability, navigability among other types of test programs that are known as Ready Sigweb to use. Therefore, it was necessary to identify cases of use of each proposed for the study. As a result it can check the behavior of systems during the tests, and distinguish the characteristics of each Sigweb and the difficulties.
|
205 |
Integrando injeção de falhas ao perfil UML 2.0 de testes / Integrating fault injection to the UML 2.0 testing profileGerchman, Júlio January 2008 (has links)
Mecanismos de tolerância a falhas são implementados em sistemas computacionais para atingir níveis de dependabilidade mais elevados. O teste desses mecanismos é essencial para validar seu funcionamento e demonstrar sua eficácia. Uma técnica de teste usada nesse caso é a injeção de falhas: uma simulação ou protótipo funcional é executado em um ambiente onde falhas são artificialmente emuladas e o sistema monitorado de forma a entender seu comportamento, bem como avaliar a eficiência da implementação dos mecanismos de tolerância. Descrever as atividades de teste usando modelos é útil para a documentação do sistema. O Perfil UML 2.0 de Testes (U2TP) é uma linguagem padronizada para a descrição de modelos de testes, possibilitando a representação de ambientes e atividades de verificação e validação. No entanto, U2TP não oferece elementos para suportar técnicas de injeção de falhas. Este trabalho apresenta U2TP-FI, uma extensão do Perfil UML 2.0 de Testes para a descrição de atividades de teste que usem técnicas de injeção de falhas. U2TP-FI é uma linguagem de modelagem que oferece elementos para representar as falhas a serem emuladas em um ambiente de teste, descrevendo os parâmetros que regem seu comportamento, suas condições de ativação e suas relações com os componentes do sistema. O estabelecimento dessa linguagem permite uma melhor visualização da atividade, um melhor projeto do teste e uma fácil documentação do projeto. Além disso, possibilita a criação de ferramentas para automação do processo de injeção de falhas. Como prova de conceito para demonstrar a viabilidade da proposta, foram desenvolvidos usando U2TP-FI modelos de teste para a injeção de falhas em aplicações usando injetores existentes. Ferramentas de transformação de modelos foram aplicadas para gerar de forma automatizada artefatos a serem usados na atividade, como cargas de falhas e relatórios. / Computer systems use fault tolerance mechanisms to reach higher dependability levels. Testing those mechanisms is essential for the validation of their proper operation and for the verification of their effectiveness. Fault injection is a technique for testing fault tolerance mechanisms: a simulation or a functional prototype of the system is executed in a testbed environment where faults are artificially emulated. Monitoring its behavior enables the validation of the implementation and the evaluation of the efficiency of the fault tolerance mechanisms. It is useful for documenting the system to describe the test activities using models. The UML 2.0 Testing Profile is a standard language to create test models, enabling the test engineer to describe the environment, data, components, validations and other elements of the activity. However, U2TP does not offer elements that support fault injection techniques. This work presents U2TP-FI, an extension of the UML 2.0 Testing Profile to model test activities that use fault injection techniques. U2TP-FI is a modeling language offering elements to represent the faults to be emulated on a test environment, describing the parameters which govern their behavior, the activation conditions and the relations between them and the system components. Using this language allows a better visualization of the test activity, a better test project and an easier project documentation. Besides, it enables the development of automation tools for the fault injection process. As a proof of concept to demonstrate the viability of the proposal, U2TP-FI was used to create test models for applications using existing fault injectors. Model transformation tools were applied to automatically generate test artifacts such as faultloads and reports.
|
206 |
Metodologia de projeto de software embarcado voltada ao testeGomes, Humberto Vargas January 2010 (has links)
Devido ao crescente incremento de complexidade do software embarcado atual, dada a abundância de recursos disponíveis de hardware, está cada vez mais difícil manter a qualidade do software embarcado desenvolvido sem incorrer em aumentos de custo que inviabilizem o projeto. Com isto, o teste de software embarcado é atualmente uma importante área de pesquisa, onde são buscadas técnicas de teste que maximizem o número de falhas encontradas ainda em tempo de projeto e a um custo satisfatório. Muitas das soluções pesquisadas envolvem aspectos não apenas relativos ao teste propriamente dito, mas ao projeto do produto desde a sua concepção, daí a necessidade de metodologias conjuntas de desenvolvimento e teste. Neste trabalho, é apresentada uma metodologia de desenvolvimento e testes de software embarcado com o objetivo de permitir que grande parte da tarefa de desenvolvimento e teste seja executada em um ambiente de desenvolvimento de software de aplicação, sem a presença do hardware. Neste ambiente, o desenvolvimento é pensado desde o início do projeto visando à qualidade do teste, assim caracterizando esta metodologia como uma técnica DFT (do inglês design for testability). Na abordagem proposta, o hardware físico é substituído por modelos funcionais, construídos na mesma linguagem de programação do software em desenvolvimento. O uso destes modelos permite ao desenvolvedor a construção e aplicação de casos de teste capazes de exercitar o software embarcado tanto no ambiente de software de aplicação, quanto na plataforma alvo, sem alterações. Esta dissertação mostra a metodologia sendo aplicada ao software embarcado de um medidor eletrônico de energia, onde cinco modelos de dispositivos de hardware foram construídos, que permitiram a execução tanto de testes de unidade, quanto de testes de integração, em um ambiente de desenvolvimento de software de aplicação. Finalmente, uma análise de cobertura, realizada com o auxílio de uma ferramenta que, de outra forma, não seria compatível com o software da plataforma alvo, mostrou que a execução conjunta do software e dos modelos permite atingir a cobertura de quase a totalidade do software embarcado desenvolvido, onde os casos de teste foram capazes de verificar desde as camadas de software de aplicação até as camadas de software dependente do hardware. / Due to the growing increment of complexity of the current embedded software, given the abundance of hardware resources, it is becoming increasingly difficult to maintain the software quality without requiring high development and test costs that could make the project impracticable. In this context, embedded software testing is an important research area, where test techniques that maximize the number of errors detected during design time at a satisfactory cost have been investigated. Many of the proposed solutions involve aspects not related only to the testing itself, but to the product design since its conception, hence the need of methodologies for the development and test of software. In this work, we present a methodology of development and test of embedded software that allows the execution of most of the task of development and test in an application software development environment, without the physical hardware. In the application software environment, the development is thought, since the first stages, aiming the execution of the test, hence this methodology can be seen as a DFT (design for testability) technique. In the proposed approach, the physical hardware is replaced by functional models, constructed using the same programming language of the embedded software under development. The use of such models allows the developer to construct and apply test cases capable of exercising the embedded software both in the application software environment and in the target platform environment, without any change. In this work, the presented methodology is applied to the embedded software of an electronic energy meter, where five hardware device models were constructed, which enabled the execution of both unit and integration tests in the application software environment. Finally, the coverage analysis, performed with a software tool that otherwise would not be compatible with the target platform, showed that the simultaneous execution of the software and the models make it possible to achieve an almost complete coverage of the developed embedded software, where the test cases were able to verify the software from the application layers to the hardware dependent layers.
|
207 |
Geração automática de casos de teste para sistemas baseados em agentes móveis. / Automatic test case generation for mobile agent-based systems.FIGUEIREDO, André Luiz Lima de. 18 September 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-09-18T16:07:15Z
No. of bitstreams: 1
ANDRÉ LUIZ LIMA DE FIGUEIREDO - DISSERTAÇÃO PPGCC 2005..pdf: 9317771 bytes, checksum: ca97057cbb4f85db739568ea619fd2c4 (MD5) / Made available in DSpace on 2018-09-18T16:07:15Z (GMT). No. of bitstreams: 1
ANDRÉ LUIZ LIMA DE FIGUEIREDO - DISSERTAÇÃO PPGCC 2005..pdf: 9317771 bytes, checksum: ca97057cbb4f85db739568ea619fd2c4 (MD5)
Previous issue date: 2005-06-06 / Na busca por mais confiança a respeito da correção de seus sistemas, desenvolvedores têm, cada vez mais,utilizado teste de software, onde este pode ser definido como um conjunto de experimentos realizados sobre uma implementação, cujos resultados são observados e analisados. Dentre os diversos tipos de teste, este trabalho se concentra em um tipo especial deteste funcional chamado deTeste Formal. A partir de uma especificação formal e por meio de procedimentos formais, um método de teste formal é capaz de gerar, automaticamente, casos de teste que visam verificar a conformidade
entre a especificação e a implementação. Um tipo de sistema em que este tipo de teste é útil é o baseado em Agentes Móveis. Um Agente Móvel pode ser definido como um programa autônomo capaz de migrar pelos diferentes pontos do sistema durante sua execução preservando seu estado. Este tipo de sistema distribuído ainda possui alto grau de complexidade inerente ao seu desenvolvimento devido, principalmente, à imaturidade dos processos de desenvolvimento em relação ao tratamento do conceito de mobilidade. Visando amenizar tal problema, este trabalho apresenta uma proposta de geração automática de casos de teste para sistemas baseados em Agentes Móveis. Tal proposta
consiste em apresentar um formalismo de especificação de sistemas a ser usado com Agentes Móveis e uma estratégia de geração de casos de teste através de ferramentas. Além disto, visando tomar proveito dos modelos UML existentes para este tipo de sistema, uma proposta de transformação informal de modelos escritos em tal linguagem para modelos escritos no formalismo utilizado pelo método é apresentada. Após o método ter sido proposto, um estudo de caso foi realizado visando mostrar a aplicabilidade do método. Os casos de teste gerados foram analisados em relação ao seu potencial em
serem implementados e em revelarem faltas nos sistemas. Motivados pelos estudos realizados sobre os casos deteste, bem como pelo crescente interesse no uso de padrões de projetos, uma metodologia para a identificação de padrões de teste a partir de especificações de padrões de projeto é proposta, em conjunto com um formato de definição para tais padrões e com um conjunto de padrões de teste para sistemas baseados em Agentes Móveis. / Looking for reliability regarding to their systems correction, developers have, increasingly, used software testing. This activity can be defined as a set of experiments performed over an implementation, which the results are observed and analyzed. Among the existing kinds of test, this work takes special attention to a specific kind of functional test, called Formal Test. From a formal specification and through formal procedures, aformaltest method isable to,automatically, generate test cases that aim to verify conformance between specification and implementation. Mobile Agent-based systems can benefit from formal testing. Mobile Agent can be defined as an autonomous program that can
migrateamongdifferent points ofadistributed systemduring itsexecution preserving its state. Develop this kind of system is still a complex activity, due to, mainly, development processes immaturity regarding to mobility issues handling. Aiming to soften this problem, this work presents an automatic test case generation proposal to Mobile Agent-based systems. This proposal comprises presenting a system specification formalism to be used with Mobile Agents and a strategy for test case generation via tools. Moreover, aiming to take advantage of the existing UMLmodelos to this kind of system, a informal transformation from models written such language, to the formalism language used by the
presented method is proposed. After the method has been proposed, a case study was carried out addressing to show the method’s applicability. The generated test cases were analyzed with relation to its potential to be implemented and to reveal system faults. Motivated by the test cases study, and by the increasing interest atthe use of design patterns as well, a methodology foridentification oftest patterns from Mobile Agent design patterns is proposed, in addition to a test pattern template for this kind of pattern, and a set of test patterns to Mobile Agent-based systems.
|
208 |
Property preserving development and testing for CSP-CASLKahsai, Temesghen January 2009 (has links)
This thesis describes a theoretical study and an industrial application in the area of formal systems development, verification and formal testing using the specification language CSP-CASL. The latter is a comprehensive specification language which allows to describe systems in a combined algebraic / process algebraic notation. To this end it integrates the process algebra CSP and the algebraic specification language CASL. In this thesis we propose various formal development notions for CSP-CASL capable of capturing informal vertical and horizontal software development which we typically find in industrial applications. We provide proof techniques for such development notions and verification methodologies to prove interesting properties of reactive systems. We also propose a theoretical framework for formal testing from CSP-CASL specifications. Here, we present a conformance relation between a physical system and a CSP-C ASL specification. In particular we study the relationship between CSP-CASL development notions and the implemented system. The proposed theoretical notions of formal system development, property verification and formal testing for CSP-CASL, have been successfully applied to two industrial application: an electronic payment system called EP2 and the starting system of the BR725 Rolls- Royce jet engine control software.
|
209 |
Practical Approach to Developing an Automation Testing ToolStåhlberg, Povel, Persson, Hannes January 2018 (has links)
Manually verifying a software under development can be time consuming because ofits complexity, but also because of frequent updates to different parts of the system. As thesoftware grows larger, a way of verifying the software automatically withoutuser-interaction is a good approach. Verifying a software systematically and automaticallywill both save time for the developers; and assure that the updated version functions asbefore. This report will present a starting point for automatic testing. This is done incooperation with XperDi, a company developing a plug-in for CAD-software thatcurrently verifies their functionality manually. This was achieved by developing a testingtool that support communication between Windows applications used by the plug-in; thiswas needed to automate the testing process. The reached conclusions during this thesisare promising as a starting point for XperDi; to move from manually to automaticverification. There are however several improvements that this report presents for furtherdevelopment of testing tool.
|
210 |
Padrões de testes automatizados / Automated Test PatternsPaulo Cheque Bernardo 04 July 2011 (has links)
A qualidade dos sistemas de software é uma preocupação de todo bom projeto e muito tem se estudado para melhorar tanto a qualidade do produto final quanto do processo de desenvolvimento. Teste de Software é uma área de estudo que tem crescido significativamente nos últimos tempos, em especial a automação de testes que está cada vez mais em evidência devido à agilidade e qualidade que pode trazer para o desenvolvimento de sistemas de software. Os testes automatizados podem ser eficazes e de baixo custo de implementação e manutenção e funcionam como um bom mecanismo para controlar a qualidade de sistemas. No entanto, pouco conhecimento sobre a área e erros comuns na escrita e manutenção dos testes podem trazer dificuldades adicionais aos projetos de software. Testes automatizados de baixa qualidade não contribuem efetivamente com o controle de qualidade dos sistemas e ainda demandam muito tempo do desenvolvimento. Para evitar esses problemas, esta dissertação apresenta de forma crítica e sistemática as principais práticas, padrões e técnicas para guiar o processo da criação, manutenção e gerenciamento dos casos de testes automatizados. Inicialmente, são feitas comparações entre a automação de testes e outras práticas de controle e garantia de qualidade. Em seguida, são apresentados os problemas e soluções mais comuns durante a automação de testes, tais como questões relacionadas a tipos específicos de algoritmos, sistemas com persistência de dados, testes de interfaces de usuário e técnicas de desenvolvimento de software com testes automatizados. Para finalizar, a dissertação traz uma reflexão sobre o gerenciamento e a abordagem da automação de testes para tornar o processo mais produtivo e eficaz. / The quality of software systems is a concern of every good project and much has been studied to improve the quality of the final product and process development. Software Testing is an increasing area, especially test automation, which is in evidence due to the speed and quality that it may bring to the development of software systems. Automated tests can be effective and can have a low cost of implementation and maintenance to ensure and control the quality of the systems. However, little knowledge about the area and common errors in writing and maintaining tests may bring additional difficulties to the software projects. Low quality automated tests do not contribute effectively to quality control systems and still take a long time of development. To avoid these problems, we present critically and systematically the core practices, standards and techniques to guide the process of creation, maintenance and management of automated test cases. Initially, comparisons are made between the test automation, other control practices, and quality assurance. Next, we present the most common problems and solutions for the automation of tests, such as issues related to specific types of algorithms, systems with data persistence, testing user interfaces and techniques for software development with automated tests. Finally, this essay reflects on the management and approach to test automation to make the process more productive and effective.
|
Page generated in 0.1004 seconds