Being different from testing for popular GUI software, the “instruction-category” approach is proposed for testing embedded system. This approach is constructed by three steps including refining items, drawing instr...Being different from testing for popular GUI software, the “instruction-category” approach is proposed for testing embedded system. This approach is constructed by three steps including refining items, drawing instruction-brief and instruction-category, and constructing test suite. Consequently, this approach is adopted to test oven embedded system, and detail process is deeply discussed. As a result, the factual result indicates that the “instruction-category” approach can be effectively applied in embedded system testing as a black-box method for conformity testing.展开更多
In this paper, the test suite construction for GUI (Graphical User Interface) software may be executed centered on grey-box approach with the prior test design of window access controls for unit testing, including fro...In this paper, the test suite construction for GUI (Graphical User Interface) software may be executed centered on grey-box approach with the prior test design of window access controls for unit testing, including front-end method of white box and follow-up black box method for integration testing. Moreover, two key opinions are proposed for the test suite construction for GUI software, the first one is that the “Triple-step method” should be used for unit testing with the prior disposing of data boundary value testing of input controls, and another one is that the “Grey-box approach” should be applied in integration testing for GUI software with necessary testing preparation in the precondition. At the same time, the testing of baseline version and the incremental testing should be considered for the test case construction to coordinate with the whole evolution of software product today. Additionally, all our opinion and thought are verified and tested with a typical case of GUI software—PQMS (Product Quality Monitoring Software/System), and results indicate that these methods and specific disposing are practical and effective.展开更多
Formal methods for test sequence generation from FSM have been studied widely andthoroughly,but most real communication systems can only be modeled as EFSM exactly.Data portion in EFSM brings difficulties for test sui...Formal methods for test sequence generation from FSM have been studied widely andthoroughly,but most real communication systems can only be modeled as EFSM exactly.Data portion in EFSM brings difficulties for test suite generation.In this paper,the strategyof generating test suite from protocols modelled as EFSM is presented.This strategy consid-ers testing of both the control portion and data portion of protocols.A software,the testsuite generation system(TSGS)based on above strategy,is introduced.展开更多
Software testing plays a pivotal role in entire software development lifecycle.It provides researchers with extensive opportunities to develop novel methods for the optimized and cost-effective test suite Although imp...Software testing plays a pivotal role in entire software development lifecycle.It provides researchers with extensive opportunities to develop novel methods for the optimized and cost-effective test suite Although implementation of such a cost-effective test suite with regression testing is being under exploration still it contains lot of challenges and flaws while incorporating with any of the new regression testing algorithm due to irrelevant test cases in the test suite which are not required.These kinds of irrelevant test cases might create certain challenges such as code-coverage in the test suite,fault-tolerance,defects due to uncovered-statements and overall-performance at the time of execution.With this objective,the proposed a new Modified Particle Swarm optimization used for multi-objective test suite optimization.The experiment results involving six subject programs show that MOMPSO method can outer perform with respect to both reduction rate(90.78%to 100%)and failure detection rate(44.56%to 55.01%).Results proved MOMPSO outperformed the other stated algorithms.展开更多
Side-channel attacks allow adversaries to infer sensitive information,such as cryptographic keys or private user data,by monitoring unintentional information leaks of running programs.Prior side-channel detection meth...Side-channel attacks allow adversaries to infer sensitive information,such as cryptographic keys or private user data,by monitoring unintentional information leaks of running programs.Prior side-channel detection methods can identify numerous potential vulnerabilities in cryptographic implementations with a small amount of execution traces due to the high diffusion of secret inputs in crypto primitives.However,because non-cryptographic programs cover different paths under various sensitive inputs,extending existing tools for identifying information leaks to non-cryptographic applications suffers from either insufficient path coverage or redundant testing.To address these limitations,we propose a new dynamic analysis framework named SPIDER that uses fuzzing,execution profiling,and clustering for a high path coverage and test suite reduction,and then speeds up the dynamic analysis of side-channel vulnerability detection in non-cryptographic programs.We analyze eight non-cryptographic programs and ten cryptographic algorithms under SPIDER in a fully automated way,and our results confirm the effectiveness of test suite reduction and the vulnerability detection accuracy of the whole framework.展开更多
Purpose–Test suite prioritization technique is the process of modifying the order in which tests run to meet certain objectives.Early fault detection and maximum coverage of source code are the main objectives of tes...Purpose–Test suite prioritization technique is the process of modifying the order in which tests run to meet certain objectives.Early fault detection and maximum coverage of source code are the main objectives of testing.There are several test suite prioritization approaches that have been proposed at the maintenance phase of software development life cycle.A few works are done on prioritizing test suites that satisfy modified condition decision coverage(MC/DC)criteria which are derived for safety-critical systems.The authors know that it is mandatory to do MC/DC testing for Level A type software according to RTCA/DO178C standards.The paper aims to discuss this issue.Design/methodology/approach–This paper provides a novel method to prioritize the test suites for a system that includes MC/DC criteria along with other important criteria that ensure adequate testing.Findings–In this approach,the authors generate test suites from the input Java program using concolic testing.These test suites are utilized to measure MC/DC%by using the coverage calculator algorithm.Now,use MC/DC%and the execution time of these test suites in the basic particle swarm optimization technique with a modified objective function to prioritize the generated test suites.Originality/value–The proposed approach maximizes MC/DC%and minimizes the execution time of the test suites.The effectiveness of this approach is validated by experiments on 20 moderate-sized Java programs using average percentage of fault detected metric.展开更多
In this paper, we analyze the features and distinctions of 6 classical algorithms: greedy algorithm (G), greedy evolution algorithm (GE), heuristics algorithm (H), greedy heuristic G (GRE), integer linear pro...In this paper, we analyze the features and distinctions of 6 classical algorithms: greedy algorithm (G), greedy evolution algorithm (GE), heuristics algorithm (H), greedy heuristic G (GRE), integer linear programming algorithm (ILP) and genetic algorithm (GA) to ensure the main influencing factors-the performance of algorithms and the running time of algorithms. What's more, we would not only present a research design that aims at gaining deeper understanding about the algorithm classification and its function as well as their distinction, but also make an empirical study in order to obtain a practical range standard that can guide the selection of reduction algorithms. When the size of a test object (product of test requirements and test cases) is smaller than 2000×2000, G algorithm is the commonly recommended algorithm. With the growth of test size, the usage of GE and GRE becomes more general.展开更多
Regression testing(RT)is an essential but an expensive activity in software development.RT confirms that new faults/errors will not have occurred in the modified program.RT efficiency can be improved through an effect...Regression testing(RT)is an essential but an expensive activity in software development.RT confirms that new faults/errors will not have occurred in the modified program.RT efficiency can be improved through an effective technique of selected only modified test cases that appropriate to the modifications within the given time frame.Earlier,several test case selection approaches have been introduced,but either these techniques were not sufficient according to the requirements of software tester experts or they are ineffective and cannot be used for available test suite specifications and architecture.To address these limitations,we recommend an improved and efficient test case selection(TCS)algorithm for RT.Our proposed technique decreases the execution time and redundancy of the duplicate test cases(TC)and detects onlymodified changes that appropriate to themodifications in test cases.To reduce execution time for TCS,evaluation results of our proposed approach are established on fault detection,redundancy and already executed test case.Results indicate that proposed technique decreases the inclusive testing time of TCS to execute modified test cases by,on average related to a method of Hybrid Whale Algorithm(HWOA),which is a progressive TCS approach in regression testing for a single product.展开更多
A model comparison based software testing method (MCST) is proposed. In this method, the requirements aria programs or software under test are transformed into the ones in the same form, and described by the same mo...A model comparison based software testing method (MCST) is proposed. In this method, the requirements aria programs or software under test are transformed into the ones in the same form, and described by the same model describe language (MDL). Then, the requirements are transformed into a specification model and the programs into an implementation model. Thus, the elements and structures of the two models are compared, and the differences between them are obtained. Based on the diffrences, a test suite is generated. Different MDLs can be chosen for the software under test. The usages of two classical MDLs in MCST, the equivalence classes model and the extended finite state machine (EFSM) model, are described with example applications. The results show that the test suites generated by MCST are more efficient and smaller than some other testing methods, such as the pathcoverage testing method, the object state diagram testing method, etc.展开更多
程序似然不变量是程序中隐含的属性,可以应用于程序验证、软件测试技术、逆向工程等领域。针对自动化测试工具C++Test产生的测试用例集,利用程序不变量分析工具Daikon判断这些测试用例是否改变了当前的不变量;并将两种工具结合生产一种...程序似然不变量是程序中隐含的属性,可以应用于程序验证、软件测试技术、逆向工程等领域。针对自动化测试工具C++Test产生的测试用例集,利用程序不变量分析工具Daikon判断这些测试用例是否改变了当前的不变量;并将两种工具结合生产一种自动化测试用例集约简工具CDRT(C++Test And Daikon Reduction Testing),从而达到约简测试用例集的效果,再通过变异测试工具INSURE++对简化后的测试用例集进行评估。实验结果表明,CDRT工具能有效地约简测试用例集。展开更多
Reusing test cases from existing test case library is quite common in the software testing field. Testing practice tells us that there is a strong relationship between the granularity of a function unit under testing ...Reusing test cases from existing test case library is quite common in the software testing field. Testing practice tells us that there is a strong relationship between the granularity of a function unit under testing and that of the test case. A function unit with small granularity usually results in the test cases with the same small granularity. Therefore a test case defined as the function point,i. e.,the smallest size function unit,was provided for the first time.Though test cases with smaller granularity usually have better reusability,the cost of accurately reusing and integrating such test cases is also higher. In order to balance the test case reusability and the cost of test case reuse,a novel test case reuse model based on the function point was proposed in this paper. In this model,a reusable test case for specification-based testing was defined and some reuse strategies and three formal reuse methods were given. Finally,the complete automatic software process was realized by a reusing generation tool. The new method has improved reuse accuracy,while greatly enhances the software productivity.展开更多
An approach to generating and optimizing test cases is proposed for Web application testing based on user sessions using genetic algorithm. A large volume of meaningful user sessions are obtained after purging their i...An approach to generating and optimizing test cases is proposed for Web application testing based on user sessions using genetic algorithm. A large volume of meaningful user sessions are obtained after purging their irrelevant information by analyzing user logs on the Web server. Most of the redundant user sessions are also removed by the reduction process. For test reuse and test concurrency, it divides the user sessions obtained into different groups, each of which is called a test suite, and then prioritizes the test suites and the test cases of each test suite. So, the initial test suites and test cases, and their initial executing sequences are achieved. However, the test scheme generated by the elementary prioritization is not much approximate to the best one. Therefore, genetic algorithm is employed to optimize the results of grouping and prioritization. Meanwhile, an approach to generating new test cases is presented using crossover. The new test cases can detect faults caused by the use of possible conflicting data shared by different users.展开更多
文摘Being different from testing for popular GUI software, the “instruction-category” approach is proposed for testing embedded system. This approach is constructed by three steps including refining items, drawing instruction-brief and instruction-category, and constructing test suite. Consequently, this approach is adopted to test oven embedded system, and detail process is deeply discussed. As a result, the factual result indicates that the “instruction-category” approach can be effectively applied in embedded system testing as a black-box method for conformity testing.
文摘In this paper, the test suite construction for GUI (Graphical User Interface) software may be executed centered on grey-box approach with the prior test design of window access controls for unit testing, including front-end method of white box and follow-up black box method for integration testing. Moreover, two key opinions are proposed for the test suite construction for GUI software, the first one is that the “Triple-step method” should be used for unit testing with the prior disposing of data boundary value testing of input controls, and another one is that the “Grey-box approach” should be applied in integration testing for GUI software with necessary testing preparation in the precondition. At the same time, the testing of baseline version and the incremental testing should be considered for the test case construction to coordinate with the whole evolution of software product today. Additionally, all our opinion and thought are verified and tested with a typical case of GUI software—PQMS (Product Quality Monitoring Software/System), and results indicate that these methods and specific disposing are practical and effective.
基金Sponsored by Natural Sclence Foundation of China.
文摘Formal methods for test sequence generation from FSM have been studied widely andthoroughly,but most real communication systems can only be modeled as EFSM exactly.Data portion in EFSM brings difficulties for test suite generation.In this paper,the strategyof generating test suite from protocols modelled as EFSM is presented.This strategy consid-ers testing of both the control portion and data portion of protocols.A software,the testsuite generation system(TSGS)based on above strategy,is introduced.
文摘Software testing plays a pivotal role in entire software development lifecycle.It provides researchers with extensive opportunities to develop novel methods for the optimized and cost-effective test suite Although implementation of such a cost-effective test suite with regression testing is being under exploration still it contains lot of challenges and flaws while incorporating with any of the new regression testing algorithm due to irrelevant test cases in the test suite which are not required.These kinds of irrelevant test cases might create certain challenges such as code-coverage in the test suite,fault-tolerance,defects due to uncovered-statements and overall-performance at the time of execution.With this objective,the proposed a new Modified Particle Swarm optimization used for multi-objective test suite optimization.The experiment results involving six subject programs show that MOMPSO method can outer perform with respect to both reduction rate(90.78%to 100%)and failure detection rate(44.56%to 55.01%).Results proved MOMPSO outperformed the other stated algorithms.
基金supported in part by the National Natural Science Foundation of China (Nos.61272452 and 61872430)the National Key Basic Research and Development (973)Program of China (No.2014CB340601)+1 种基金the Key R&D Program of Hubei Province (No.2020BAA003)the Prospective Applied Research Program of Suzhou City (No.SYG201845).
文摘Side-channel attacks allow adversaries to infer sensitive information,such as cryptographic keys or private user data,by monitoring unintentional information leaks of running programs.Prior side-channel detection methods can identify numerous potential vulnerabilities in cryptographic implementations with a small amount of execution traces due to the high diffusion of secret inputs in crypto primitives.However,because non-cryptographic programs cover different paths under various sensitive inputs,extending existing tools for identifying information leaks to non-cryptographic applications suffers from either insufficient path coverage or redundant testing.To address these limitations,we propose a new dynamic analysis framework named SPIDER that uses fuzzing,execution profiling,and clustering for a high path coverage and test suite reduction,and then speeds up the dynamic analysis of side-channel vulnerability detection in non-cryptographic programs.We analyze eight non-cryptographic programs and ten cryptographic algorithms under SPIDER in a fully automated way,and our results confirm the effectiveness of test suite reduction and the vulnerability detection accuracy of the whole framework.
文摘Purpose–Test suite prioritization technique is the process of modifying the order in which tests run to meet certain objectives.Early fault detection and maximum coverage of source code are the main objectives of testing.There are several test suite prioritization approaches that have been proposed at the maintenance phase of software development life cycle.A few works are done on prioritizing test suites that satisfy modified condition decision coverage(MC/DC)criteria which are derived for safety-critical systems.The authors know that it is mandatory to do MC/DC testing for Level A type software according to RTCA/DO178C standards.The paper aims to discuss this issue.Design/methodology/approach–This paper provides a novel method to prioritize the test suites for a system that includes MC/DC criteria along with other important criteria that ensure adequate testing.Findings–In this approach,the authors generate test suites from the input Java program using concolic testing.These test suites are utilized to measure MC/DC%by using the coverage calculator algorithm.Now,use MC/DC%and the execution time of these test suites in the basic particle swarm optimization technique with a modified objective function to prioritize the generated test suites.Originality/value–The proposed approach maximizes MC/DC%and minimizes the execution time of the test suites.The effectiveness of this approach is validated by experiments on 20 moderate-sized Java programs using average percentage of fault detected metric.
基金Supported by the National Natural Science Foundation of China(10904080)
文摘In this paper, we analyze the features and distinctions of 6 classical algorithms: greedy algorithm (G), greedy evolution algorithm (GE), heuristics algorithm (H), greedy heuristic G (GRE), integer linear programming algorithm (ILP) and genetic algorithm (GA) to ensure the main influencing factors-the performance of algorithms and the running time of algorithms. What's more, we would not only present a research design that aims at gaining deeper understanding about the algorithm classification and its function as well as their distinction, but also make an empirical study in order to obtain a practical range standard that can guide the selection of reduction algorithms. When the size of a test object (product of test requirements and test cases) is smaller than 2000×2000, G algorithm is the commonly recommended algorithm. With the growth of test size, the usage of GE and GRE becomes more general.
基金This work was supported in part by the Research Management Center(RMC),Universiti Teknologi Malaysia(UTM)and Ministry of Higher Education Malaysia(MOHE)through the UTM High Impact Research(UTMHR)grant scheme under(Vot Number Q.J130000.2451.08G55).
文摘Regression testing(RT)is an essential but an expensive activity in software development.RT confirms that new faults/errors will not have occurred in the modified program.RT efficiency can be improved through an effective technique of selected only modified test cases that appropriate to the modifications within the given time frame.Earlier,several test case selection approaches have been introduced,but either these techniques were not sufficient according to the requirements of software tester experts or they are ineffective and cannot be used for available test suite specifications and architecture.To address these limitations,we recommend an improved and efficient test case selection(TCS)algorithm for RT.Our proposed technique decreases the execution time and redundancy of the duplicate test cases(TC)and detects onlymodified changes that appropriate to themodifications in test cases.To reduce execution time for TCS,evaluation results of our proposed approach are established on fault detection,redundancy and already executed test case.Results indicate that proposed technique decreases the inclusive testing time of TCS to execute modified test cases by,on average related to a method of Hybrid Whale Algorithm(HWOA),which is a progressive TCS approach in regression testing for a single product.
基金The National Natural Science Foundationof Hubei Province (No.2005ABA266)
文摘A model comparison based software testing method (MCST) is proposed. In this method, the requirements aria programs or software under test are transformed into the ones in the same form, and described by the same model describe language (MDL). Then, the requirements are transformed into a specification model and the programs into an implementation model. Thus, the elements and structures of the two models are compared, and the differences between them are obtained. Based on the diffrences, a test suite is generated. Different MDLs can be chosen for the software under test. The usages of two classical MDLs in MCST, the equivalence classes model and the extended finite state machine (EFSM) model, are described with example applications. The results show that the test suites generated by MCST are more efficient and smaller than some other testing methods, such as the pathcoverage testing method, the object state diagram testing method, etc.
文摘程序似然不变量是程序中隐含的属性,可以应用于程序验证、软件测试技术、逆向工程等领域。针对自动化测试工具C++Test产生的测试用例集,利用程序不变量分析工具Daikon判断这些测试用例是否改变了当前的不变量;并将两种工具结合生产一种自动化测试用例集约简工具CDRT(C++Test And Daikon Reduction Testing),从而达到约简测试用例集的效果,再通过变异测试工具INSURE++对简化后的测试用例集进行评估。实验结果表明,CDRT工具能有效地约简测试用例集。
基金National Natural Science Foundation of China(No.61262010)
文摘Reusing test cases from existing test case library is quite common in the software testing field. Testing practice tells us that there is a strong relationship between the granularity of a function unit under testing and that of the test case. A function unit with small granularity usually results in the test cases with the same small granularity. Therefore a test case defined as the function point,i. e.,the smallest size function unit,was provided for the first time.Though test cases with smaller granularity usually have better reusability,the cost of accurately reusing and integrating such test cases is also higher. In order to balance the test case reusability and the cost of test case reuse,a novel test case reuse model based on the function point was proposed in this paper. In this model,a reusable test case for specification-based testing was defined and some reuse strategies and three formal reuse methods were given. Finally,the complete automatic software process was realized by a reusing generation tool. The new method has improved reuse accuracy,while greatly enhances the software productivity.
文摘An approach to generating and optimizing test cases is proposed for Web application testing based on user sessions using genetic algorithm. A large volume of meaningful user sessions are obtained after purging their irrelevant information by analyzing user logs on the Web server. Most of the redundant user sessions are also removed by the reduction process. For test reuse and test concurrency, it divides the user sessions obtained into different groups, each of which is called a test suite, and then prioritizes the test suites and the test cases of each test suite. So, the initial test suites and test cases, and their initial executing sequences are achieved. However, the test scheme generated by the elementary prioritization is not much approximate to the best one. Therefore, genetic algorithm is employed to optimize the results of grouping and prioritization. Meanwhile, an approach to generating new test cases is presented using crossover. The new test cases can detect faults caused by the use of possible conflicting data shared by different users.