26 research outputs found

    Optimal Software Testing

    Get PDF
    In this paper, we formulate an optimal testing procedure for software. The objective function is taken to be the expected value of the cost associated with accepting faulty software plus the expected value of the accumulated cost of testing. The model can be used to design optimal testing plans for unit testing as well as for complete programs. The model assigns different costs for normal bugs and major bugs, and considers the costs of various types of misclassification as well The model is demonstrated by an example, and the cost function is plotted for a range of test cycles to illustrate the minimum cost solution

    Optimal Software Testing

    Get PDF
    In this paper, we formulate an optimal testing procedure for software. The objective function is taken to be the expected value of the cost associated with accepting faulty software plus the expected value of the accumulated cost of testing. The model can be used to design optimal testing plans for unit testing as well as for complete programs. The model assigns different costs for normal bugs and major bugs, and considers the costs of various types of misclassification as well The model is demonstrated by an example, and the cost function is plotted for a range of test cycles to illustrate the minimum cost solution

    Robust Dynamic Selection of Tested Modules in Software Testing for Maximizing Delivered Reliability

    Full text link
    Software testing is aimed to improve the delivered reliability of the users. Delivered reliability is the reliability of using the software after it is delivered to the users. Usually the software consists of many modules. Thus, the delivered reliability is dependent on the operational profile which specifies how the users will use these modules as well as the defect number remaining in each module. Therefore, a good testing policy should take the operational profile into account and dynamically select tested modules according to the current state of the software during the testing process. This paper discusses how to dynamically select tested modules in order to maximize delivered reliability by formulating the selection problem as a dynamic programming problem. As the testing process is performed only once, risk must be considered during the testing process, which is described by the tester's utility function in this paper. Besides, since usually the tester has no accurate estimate of the operational profile, by employing robust optimization technique, we analysis the selection problem in the worst case, given the uncertainty set of operational profile. By numerical examples, we show the necessity of maximizing delivered reliability directly and using robust optimization technique when the tester has no clear idea of the operational profile. Moreover, it is shown that the risk averse behavior of the tester has a major influence on the delivered reliability.Comment: 19 pages, 4 figure

    Towards research on software cybernetics

    Get PDF
    Software cybernetics is a newly proposed area in software engineering. It makes better use of the interplay between control theory/engineering and software engineering. In this paper, we look into the research potentials of this emerging area.published_or_final_versio

    Modern software cybernetics: new trends

    Get PDF
    Software cybernetics research is to apply a variety of techniques from cybernetics research to software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work relating to software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the software under observation and control. Beyond the first-order cybernetics, the software, developers/users, and running environments influence each other and thus create feedback to form more complicated systems. We classify software cybernetics as Software Cybernetics I based on the first-order cybernetics, and as Software Cybernetics II based on the higher order cybernetics. This paper provides a review of the literature on software cybernetics, particularly focusing on the transition from Software Cybernetics I to Software Cybernetics II. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Software Cybernetics II. The paper identifies the relationships between the techniques of Software Cybernetics II applied and the new research areas to which they have been applied, formulates research problems and challenges of software cybernetics with the application of principles of Phase II of software cybernetics; identifies and highlights new research trends of software cybernetic for further research

    Automatic Functional Testing of GUIs

    Get PDF
    Functional testing of GUIs can be automated using a test oracle derived from the GUI’s specification and from a restricted set of randomised test data. As test data, a set of randomly distorted test objects seems to work well, especially starting as we do with a ‘perfect’ object and then distorting this more and more as the test progresses. The number of test cases needed seems to be much smaller than that reported in other random testing papers. More work is needed to see if the approach is generally applicable: if so, the test engineer can spend his time writing GUI specifications at a high level of abstraction, rather than hand-generating test cases
    corecore