16 research outputs found

    The Theory of Software Testing

    Get PDF
    Software testing is the process of testing bugs in lines of code of a program that can be performed by manual or automation testing. The theory of software testing involves problem definitions of testing such as test team, failure after testing, manual testing, uncertainty principle, participation, and incorrect test case selection. This article shows the details of a critical part of software testing, which is how to test the performance of new software and the entire system. The outcome of this article is the whole picture of three phases for software testing as follows: preliminary testing, testing and user acceptance testing

    Experiments on the effectiveness of dataflow- and controlflow-based test adequacy criteria

    Get PDF
    This paper reports an experimental study investigating the effectiveness of two code-based test adequacy criteria for identifying sets of test cases that detect faults. The alledges and all-D Us (modified all-uses) coverage criteria were applied to 130 faulty program versions derived from seven moderate size base programs by seeding realistic faults. We generated several thousand test sets for each faulty program and examined the relationship between fault detection and coverage. Within the limited domain of our experiments, test sets achieving coverage levels over 90?Zo usually showed sigrdjlcantly better fault detection than randomly chosen test sets of the same size. In addition, sigrd$cant improvements in the effectiveness of coverage-based tests usually occurred as coverage increased from 90 % to 100Yo. Howeve ~ the results also indicate that 100?Zo code coverage alone is not a reliable indicator of the effectiveness of a test set. We also found that tests based respectively on controljlow and dataflow criteria are frequently complementary in their effectiveness

    Teste de fluxo de dados de programas com ponteiros e registros.

    Get PDF
    Dois modelos mais precisos de análise de fluxo de dados voltados para o teste de programas que utilizaram ponteiros e campos de registros são apresentados. Os modelos propostos são baseados em uma abordagem conservadora e foram implementados na ferramenta POKE-TOOL. A conjectura é que a análise de fluxo de dados mais precisa aumenta a eficácia do teste a um custo razoável .Para investigar essa conjectura, um estudo de caso foi realizado para avaliar a eficácia eo custo da utilização dos dois modelos no teste com duas famílias diferentes de critérios de teste baseados em análise de fluxo de dados. Os resultados obtidos indicam que a eficácia dos modelos dependem do programa e dos defeitos que ele contém. A segunda observação em especial indica que existem defeitos cuja detecção é facilitada quando os modelos propostos são utilizados. Para uma das famílias de critérios de teste, foi observado que o custo adicional causado pela análise mais precisa de fluxo de dados é razoável.bitstream/CNPTIA/9956/1/bolpesq4.pdfAcesso em: 28 maio 2008

    Processo de depuração depois do teste: definição e análise.

    Get PDF
    O objetivo da realização deste trabalho foi analisar em detalhes o processo de depuração que ocorre depois da atividade de teste. Por tanto, vários processos de depuração de software foram analisados. Baseado nessa análise foi definido um processo de Depuração depois do teste (DDT) que enfativa os seguintes aspectos: identificação, avaliação e refinamento sucessivo de sintomas internos até a localização do defeito; e tipo de informação de teste utilizada. Várias técnicas de depuração foram então avaliadas em termos de mecanismos de apoio ao processo DDT e quanto a sua escabilidade para programas reais. Dessa avaliação, observou-se que os resultados do teste sistemático de software, quando utilizado na depuração, resultam em técnicas de baixo custo e com maiores perspectivas de escabilidade para programas reais. Infelizmente, esses resultados têm sido utilizados apenas para apoiar um dos aspectos do processo DDT- identificação de sintomas internos. Essa observação motiva a definição de estratégias de depuração que utilizem, de maneira eficaz e eficiente, as informações de teste na avaliação e no refinamento de sintomas internos.bitstream/CNPTIA/9957/1/bolpesq5.pdfAcesso em: 28 maio 2008

    Structured query language (SQL) related tools

    Get PDF
    The widespread adoption of web services as an instant means of information dissemination and various other transactions, including those having financial consequences, have essentially made them a key component of today\u27s Internet infrastructure. Underneath the infrastructure, relational database plays an important role, in a sense, as organizing data and making the retrieval and insertion of the data in an efficient and secure fashion. Structured Query Language (SQL) is designed to query data contained in a relational database. SQL is important as it is the only way for a user to interact with a relational database. But little focus has been put on SQL because people consider SQL as a simple language. But in fact, SQL legacy code repository could be as huge as some mainstream languages such as C, Java etc. In this paper, we focus on SQL Injection Attacks and SQL Code Coverage

    Multi-Point Stride Coverage: A New Genre of Test Coverage Criteria

    Get PDF
    We introduce a family of coverage criteria, called Multi-Point Stride Coverage (MPSC). MPSC generalizes branch coverage to coverage of tuples of branches taken from the execution sequence of a program. We investigate its potential as a replacement for dataflow coverage, such as def-use coverage. We find that programs can be instrumented for MPSC easily, that the instrumentation usually incurs less overhead than that for def-use coverage, and that MPSC is comparable in usefulness to def-use in predicting test suite effectiveness. We also find that the space required to collect MPSC can be predicted from the number of branches in the program

    基于超级块支配图插装的软件测试工具设计与实现

    Get PDF
    通过超级块支配图来分析软件测试探针的合理插装位置,可有效地减少插装探针数量,降低代码插装对程序的影响。基于超级块支配图的代码插装原理,设计一种针对C语言的软件自动测试工具(SAT),介绍了该工具中词法语法分析器、静态分析器、代码插装器等主要功能模块的具体实现方案,同时对SAT的插装性能进行了分析

    Structural testing techniques for the selective revalidation of software

    Get PDF
    The research in this thesis addresses the subject of regression testing. Emphasis is placed on developing a technique for selective revalidation which can be used during software maintenance to analyse and retest only those parts of the program affected by changes. In response to proposed program modifications, the technique assists the maintenance programmer in assessing the extent of the program alterations, in selecting a representative set of test cases to rerun, and in identifying any test cases in the test suite which are no longer required because of the program changes. The proposed technique involves the application of code analysis techniques and operations research. Code analysis techniques are described which derive information about the structure of a program and are used to determine the impact of any modifications on the existing program code. Methods adopted from operations research are then used to select an optimal set of regression tests and to identify any redundant test cases. These methods enable software, which has been validated using a variety of structural testing techniques, to be retested. The development of a prototype tool suite, which can be used to realise the technique for selective revalidation, is described. In particular, the interface between the prototype and existing regression testing tools is discussed. Moreover, the effectiveness of the technique is demonstrated by means of a case study and the results are compared with traditional regression testing strategies and other selective revalidation techniques described in this thesis
    corecore