1 |
[en] AUTOMATIC GENERATION AND EXECUTION OF TEST SCRIPTS FOR WEB APPLICATIONS FROM USE CASE DRIVEN BY BEHAVIOR / [pt] GERAÇÃO E EXECUÇÃO AUTOMÁTICA DE SCRIPTS DE TESTE PARA APLICAÇÕES WEB A PARTIR DE CASOS DE USO DIRECIONADOS POR COMPORTAMENTOMARCOS BORGES PESSOA 07 February 2012 (has links)
[pt] Este trabalho visa explorar os requisitos de software, descritos na forma de
casos de uso, como instrumento capaz de apoiar a geração e execução automática
de testes funcionais, com o intuito de verificar automaticamente se o resultado
obtido nos testes gerados e executados estão em conformidade com o
especificado. O trabalho consiste em utilizar um processo e ferramenta para
documentar casos de uso e automaticamente gerar e executar scripts de teste para
verificar o comportamento funcional de aplicações web. As informações do caso
de uso, em especial os fluxos de eventos (principal e alternativos), devem ser
estruturados obedecendo um modelo de comportamento para que seja possível
armazenar os dados e utilizá-los como entrada na integração com a ferramenta de
testes. Neste trabalho, utilizou-se a ferramenta Selenium para a automação da
interação com o navegador. A avaliação do esforço deu-se através da aplicação do
processo em sistemas reais e através de comparação com outras técnicas aplicadas
nos mesmos sistemas. / [en] This work aims at exploring the software requirements, described in the
form of use cases, as an instrument to support the automatic generation and
execution of functional tests, in order to automatically check if the results
obtained in the tests generated and executed are in accordance with specified. The
establishes a process and a tool for documenting use cases and automatically
generating and executing test scripts that verify the behavior of web applications.
The content of the use case, especially the flow of events (main and alternative), is
structured in accordance to a "behavior model" that stores the test data and
generates input for a browser testing tool. In this work, we have used the
Selenium tool to automate the interaction with the browser. The assessment of our
approach involved the application of the process and generating tool in real
systems, comparing the results with other techniques applied in the same systems.
|
2 |
[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.
|
3 |
[en] AN EFFECTIVE ANALYSIS OF EXECUTABLE ASSERTIVES AS INDICATORS OF SOFTWARE FAILS / [pt] UMA ANÁLISE DA EFICÁCIA DE ASSERTIVAS EXECUTÁVEIS COMO OBSERVADORA DE FALHAS EM SOFTWAREFISCHER JONATAS FERREIRA 17 February 2016 (has links)
[pt] A confiabilidade absoluta do software é considerada inatingível, pois mesmo quando confeccionado seguindo regras rígidas de qualidade, o software não está livre da ocorrência de falhas durante a sua vida útil. O nível de confiabilidade do software está relacionado, entre outros, à quantidade de defeitos remanescentes que serão exercitados durante seu uso. Contendo menos defeitos remanescentes, espera-se que o software falhe menos frequentemente, embora muitos desses defeitos sejam exercitados nenhuma vez durante a vida útil do software. Mas desenvolvedores, além de redigir programas, utilizam cada vez mais bibliotecas e serviços remotos que muitas vezes possuem qualidade duvidosa. Na tentativa de tornar o software capaz de observar erros em tempo de execução, surge a hipótese que o uso dos Métodos Formais Leves, por meio do emprego sistemático de assertivas executáveis, pode ser eficaz e economicamente viável para assegurar a confiabilidade do software, tanto em tempo de teste como em tempo de uso. O objetivo principal desta pesquisa é avaliar a eficácia de assertivas executáveis para prevenção e observação de falhas em tempo de execução. As avaliações da eficácia foram feitas por intermédio de uma análise quantitativa utilizando experimentos. Estes, utilizam, implementações de estruturas de dados instrumentadas com assertivas executáveis, submetidas a testes baseados em mutações. Os resultados mostraram que todos os mutantes não equivalentes foram identificados pelas assertivas, embora os testes não foram capazes disso. Também é apresentada uma estimativa do custo computacional relativo ao uso de assertivas executáveis. Com base na infraestrutura criada para realização dos experimentos é proposta uma política de instrumentação de programas utilizando assertivas executáveis a serem mantidas ativas tanto durante os testes como durante o uso produtivo. / [en] Absolute reliability of software is considered unattainable, because even when it is build following strict quality rules, software is not free of failure occurrences during its lifetime. Software s reliability level is related, among others, to the amount of remaining defects that will be exercised during its use. If software contains less remaining defects, it is expected that failures will occur less often, although many of these defects will never be exercised during its useful life. However, libraries and remote services of dubious quality are frequently used. In an attempt to enable software to check mistakes at runtime, hypothetically Lightweight Formal Methods, by means of executable assertions, can be effective and economically viable to ensure software s reliability both at test time as well as at run-time. The main objective of this research is to evaluate the effectiveness of executable assertions for the prevention and observation of run-time failures. Effectiveness was evaluated by means of experiments. We instrumented data structures with executable assertions, and subjected them to tests based on mutations. The results have shown that all non-equivalent mutants were detected by assertions, although several of them were not detected by tests using non-instrumented versions of the programs. Furthermore, estimates of the computational cost for the use of executable assertions are presented. Based on the infrastructure created for the experiments we propose an instrumentation policy using executable assertions to be used for testing and to safeguard run-time.
|
4 |
[en] USING DECISION TABLES TO AUTOMATE THE GENERATION AND EXECUTION OF TEST CASES / [pt] O USO DE TABELAS DE DECISÃO PARA A AUTOMAÇÃO DA GERAÇÃO E DA EXECUÇÃO DE CASOS DE TESTELUANA LACHTERMACHER 31 August 2010 (has links)
[pt] Teste é uma etapa muito importante no desenvolvimento de software. No
entanto, essa área ainda carece de ferramentas mais eficazes e com um grau de
automação maior e mais abrangente do que o atualmente disponível. Uma boa
parte das técnicas de geração de casos de teste utiliza explicitamente ou
implicitamente tabelas de decisão como instrumento intermediário na geração dos
casos de teste específicos. Essa dissertação tem por objetivo desenvolver um
processo semi-automático de geração de suítes de teste e que inicia em tabelas de
decisão. As suítes geradas devem ser adequadas a ferramentas de execução dos
testes totalmente automáticas. Para atingir esse objetivo foram implementados: (i)
um editor de tabelas de decisão, (ii) um gerador automático de casos de teste e
(iii) um gerador de scripts de teste para o framework FEST. A seguir foram
avaliados os benefícios que esse conjunto de ferramentas pode trazer ao processo
de automação dos testes, tanto no planejamento (geração de casos de testes
valorados a partir dos casos de teste semânticos) quanto na execução dos casos de
teste. A avaliação foi baseada em uma série de exemplos envolvendo elementos
específicos de interfaces humanas, e, também, na aplicação a um software real. / [en] Testing is a very important area in the software development. However, this
area needs more effective tools with a higher level of automation with are more
comprehensive than the tools available today. A large part of the techniques that
do generation of test cases use explicity or implicitly decision tables as an
auxiliary tool. This dissertation aims to develop a semi-automatic process that has
as outputs tests suites that were generated using decision tables. These suites must
be appropriate for the test automation tools. To achieve these goals were
implemented: (i) an decision table editor, (ii) a automatic generator case test, and
(iii) an automatic test scripts generator of the FEST framework. After it was
necessary evaluate the benefits that these tools could bring for the test area, both
in the planning (generation of valued test cases from semantic test cases) and in
the execution of test cases. The evaluation was based on a series of examples
involving specific elements of human interfaces, and also in application to real
software.
|
5 |
[pt] MITIGAÇÃO PROATIVA DE VULNERABILIDADES EM SISTEMAS DA WEB BASEADOS EM PLUGIN / [en] PROACTIVE MITIGATION OF VULNERABILITIES IN PLUGIN-BASED WEB SYSTEMSOSLIEN MESA RODRIGUEZ 12 May 2020 (has links)
[pt] Uma estratégia comum de linha de produtos de software envolve sistemas da Web baseados em plug-ins que suportam a incorporação simples
e rápida de comportamentos personalizados, sendo amplamente adotados
para criar aplicativos baseados na web. A popularidade dos ecossistemas
que suportam o desenvolvimento baseado em plug-ins (como o WordPress)
é, em grande parte, devido ao número de opções de personalização disponíveis como plug-ins contribuídos pela comunidade. Entretanto, as vulnerabilidades relacionadas a plug-ins tendem a ser recorrentes, exploráveis e
difíceis de serem detectadas e podem levar a graves conseqüências para o
produto personalizado. Portanto, é necessário entender essas vulnerabilidades para permitir a prevenção de ameaças de segurança relevantes. Neste
trabalho, realizamos um estudo exploratório para caracterizar vulnerabilidades causadas por plug-ins em sistemas baseados na web, examinando os
boletins de vulnerabilidade do WordPress catalogados pelo National Vulnerability Database e os patches associados, mantidos pelo repositório de
plugins do WordPress. Identificamos os principais tipos de vulnerabilidades, o seu impacto e o tamanho do patch para corrigir a vulnerabilidade.
Identificamos, também, os tópicos mais comuns relacionados à segurança
discutidos entre os desenvolvedores do WordPress. Observamos que, embora as vulnerabilidades possam ter consequências graves e permanecerem
despercebidas por muito tempo, elas geralmente podem ser atenuadas com
pequenas alterações no código-fonte. A caracterização ajuda a fornecer uma
compreensão de como tais vulnerabilidades se manifestam na prática e contribui com as novas gerações de ferramentas de teste de vulnerabilidades
capazes de antecipar sua possível ocorrência. Esta pesquisa propõe uma
ferramenta de suporte para mitigar a ocorrência de vulnerabilidades em sistemas baseados em plugins web, facilitando a descoberta e antecipação da
possível ocorrência de vulnerabilidades. / [en] A common software product line strategy involves plug-in-based web
systems that support the simple and rapid incorporation of custom behaviors and are widely adopted for building web-based applications. The popularity of ecosystems that support plug-in-based development (such as
WordPress) is largely due to the number of customization options available
as community-contributed plugins. However, plug-in related vulnerabilities
tend to be recurring, exploitable and difficult to detect and can lead to serious consequences for the custom product. Therefore, these vulnerabilities
must be understood to enable the prevention of relevant security threats. In
this paper, we conduct an exploratory study to characterize plug-in vulnerabilities in web-based systems by examining the WordPress vulnerability
bulletins cataloged by the National Vulnerability Database and the associated patches maintained by the WordPress plugin repository. We identify
the main types of vulnerabilities, their impact, and the size of the patch to
address the vulnerability. We have also identified the most common securityrelated topics discussed among WordPress developers. We note that while
vulnerabilities can have serious consequences and remain unnoticed for a
long time, they can often be mitigated with minor changes to source code.
Characterization helps provide an understanding of how such vulnerabilities
manifest themselves in practice and contributes to new generations of vulnerability testing tools that can anticipate their potential occurrence. This
research proposes a support tool to mitigate the occurrence of vulnerabilities in web plugin based systems, facilitating the discovery and anticipation
of the possible occurrence of vulnerabilities.
|
Page generated in 0.0243 seconds