首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 156 毫秒
1.
协议的一致性测试可以验证协议实现的正确性,一致性关系是测试生成的基础。网络协议的特点之一是控制消息中会携带大量数据。针对网络协议的该特点提出了符号化的一致性关系模型。建立了网络协议的输入输出符号变迁系统,并且依据数据符号实例化策略建立了对应的语义模型,在该模型中系统的活动是集成控制和数据的复杂活动。在此输入输出符号变迁模型的基础上提出了一种符号化的一致性关系以生成测试套。为了便于测试套的自动生成,对所提出的一致性关系进行了简化。在上述过程中数据的处理通过符号化的变量进行建模,这样可以使用统一符号进行数据处理,而不必总是关心具体的数值,只需在适当的时机进行符号的实例化。文中所提出的一致性关系模型充分利用了符号化的变量,增加了该模型的抽象程度,避免了处理过程的复杂性,且可以指导测试套的自动生成。最后使用IPv6的邻居发现协议对该一致性关系进行了说明。  相似文献   

2.
针对EFSM中状态迁移不确定导致的协议一致性测试序列生成困难的问题, 提出了一种协议一致性测试序列生成算法。该算法基于互异代表系理论为每个协议状态变迁赋权值, 再基于分支界限法搜索生成的协议测试序列, 将协议一致性测试序列的生成转换为寻找最小权值状态变迁路径的问题。该算法克服了无赋权要求的宽度优先搜索的缺陷, 降低了测试序列的搜索与生成时间复杂度, 提高了测试序列生成的效率。  相似文献   

3.
文中将IOCO(Input-Output Conformance)一致性测试理论与着色Petri网(Colored Petri Nets,CPN)进行优势融合,提出一种使用CPN描述测试目的模型并驱动IOCO一致性测试选择的新方法,称为PN4TS方法.PN4TS方法首先定义了面向一致性测试的CPN模型(Conformance Testing oriented CPN,CT-CPN),描述软件系统的功能行为;定义了基于CT-CPN描述的PN-IOCO一致性关系;之后,构建CT-CPN描述的测试目的模型,并将该模型与描述软件功能行为的CT-CPN模型执行同步模拟,提出了一种测试目的模型驱动的IOCO一致性测试选择方法,并证明了所生成测试例的可靠性及其对测试目的的覆盖完备性.PN4TS方法以实际测试数据驱动测试例的生成过程,有效保证了经测试目的选择所生成的测试例是切实可执行的.文中使用简单文件传输协议例示了PN4TS方法的应用过程,之后结合数字内容点对点网络分发软件系统的实际测试生成和测试执行实践,证实了PN4TS方法应用于较大规模软件系统的一致性测试应用时具有更好的可用性和可靠性.  相似文献   

4.
本文采用通信有限状态机模型描述通信协议,基于通信有限状态机模型提出了协议一致性测试的测试序列生成方法,解决了构件化协议的测试序列生成的问题。本文实现了测试序列的生成算法,通过实例说明了采用测试序列生成算法生成了比传统算法更少的测试序列。同时本算法还可以用于多层协议测试。  相似文献   

5.
本文采用通信有限状态机模型描述通信协议,基于通信有限状态机模型提出了协议一致性测试的测试序列生成方法,解决了构件化协议的测试序列生成的问题。本文实现了测试序列的生成算法,通过实例说明了采用测试序列生成算法生成了比传统算法更少的测试序列。同时本算法还可以用于多层协议测试。  相似文献   

6.
张玉荣  李华  邢熠  王显荣  阮宏玮  张素梅 《软件学报》2017,28(10):2564-2582
在对复杂的软件系统进行测试时,生成的系统状态空间可能会非常庞大.为了避免对整个状态空间进行遍历,提出将on-the-fly方法与CPN形式化建模方法结合起来,用于生成测试例.在这种方法中,无需对整个状态空间进行遍历,只是仅对测试人员感兴趣的部分状态空间进行针对性的测试.首先,给出CPN和扩展可达图的定义,介绍了on-the-fly测试方法中涉及的相关概念,包括系统规约、测试目的、同步乘积和测试例等.然后,实现了同步乘积算法,并设计相关测试例对其进行了测试.最后,选定一个被测系统示例CPN建模与on-the-fly结合的方法,并通过适配器实现与被测系统的交互,生成和执行测试例,由此验证了方法的可行性和有效性.  相似文献   

7.
扩展有限状态机EFSM模型行为的动态解释是基于EFSM模型协议一致性测试中的关键技术之一.首先深入探讨了两类经典的模型行为解释技术:基于编译的方法和基于第三方软件扩展接口的方法.然后,在分析两类方法优缺点的基础上,提出了一种基于动态脚本交互技术的模型行为解释新方法.新方法把模型行为复杂的词法和语法解释任务化简为一个基于动态交互技术的脚本执行问题.最后,通过一个应用实例验证了新方法的可行性.  相似文献   

8.
基于TTCN的协议的一致性测试是保证协议实现正确的重要方法.在介绍ICMPv6协议和TTCN标准的基础上,构建了一种基于TTCN标准的一致性测试系统.介绍了该测试系统的架构与工作原理,同时给出了ICMPv6一致性测试的方法和步骤,并在测试平台上执行了测试套.  相似文献   

9.
为解决现有协议建模方法验证困难及测试序列生成算法复杂度高和测试序列长的问题,提出了一种基于行为树(BT)的协议描述新方法.采用行为树模型对协议的控制流程进行建模,提出了基于行为树描述的协议验证方法,并给出了基于行为树的测试序列生成方法.以某监控协议为例给出了基于行为树的建模过程,将所建模型转换为通信顺序进程(CSP)后采用过程分析工具(PAT)完成了协议验证,并完成了测试序列的计算与对比分析,结果表明提出的方法能方便地完成对协议的描述与验证,能降低测试序列计算复杂度并减少生成的测试序列长度.  相似文献   

10.
对于类的状态测试,无论采用何种方法生成测试用例,首先要保证测试模型的确定性、一致性和完备性.本文讨论了在软件开发过程中对类的行为建模时,对UML Statechart语义做适当约束,检查类的状态图确定性、一致性,以及构造一个基于FREE模型、具备完备性的可测试模型的方法与步骤.  相似文献   

11.
针对链表、树和图等这类复杂结构类型的测试数据自动生成问题,提出一种面向路径的基于内存建模的测试数据生成方法.采用一种将结构变量和数值变量分别建模的抽象内存模型,并利用此模型辅助符号执行被测路径;把路径执行过程中语句的语义操作映射到对抽象内存的操作,解决指针引起的别名问题,并且在抽象内存中精准地记录了路径的约束条件;最后通过约束求解得到测试数据.文中方法已应用于自主开发的自动单元测试系统——UATS,通过实验证明了该方法的可行件.  相似文献   

12.
测试用例自动生成是软件测试自动化中最为关键的组成部分之一,符号执行作为一种程序分析方法,以其可提供高覆盖率测试用例的优势被广泛应用其中,但路径爆炸和约束求解问题很大程度制约了符号执行技术在现实程序分析中的应用。将研究粒度由语句提升至函数,利用抽象语法树和字节码序列提取到的函数关键信息和控制信息得到函数调用关系模型,设计算法生成函数调用路径(函数调用路径表示程序从开始到结束之间函数的调用或执行序列)。该方法不仅减少了测试路径数目缓解了路径爆炸问题,还有效解决了控制条件中存在函数导致符号表达式难求解的问题。实验结果表明该方法可优化测试路径集,在不降低覆盖率的前提下减少测试用例数量。  相似文献   

13.

Unit testing is widely used in software development. One important activity in unit testing is automatic test data generation. Constraint-based test data generation is a technique for automatic generation of test data, which uses symbolic execution to generate constraints. Unit testing only tests functions instead of the whole program, where individual functions typically have preconditions imposed on their inputs. Conventional symbolic execution cannot detect these preconditions, let alone converting these preconditions into constraints. To overcome these limitations, we propose a novel unit test data generation approach using rule-directed symbolic execution for dealing with functions with missing input preconditions. Rule-directed symbolic execution uses predefined rules to detect preconditions in the individual function, and generates constraints for inputs based on preconditions. We introduce implicit constraints to represent preconditions, and unify implicit constraints and program constraints into integrated constraints. Test data generated based on integrated constraints can explore previously unreachable code and help developers find more functional faults and logical faults. We have implemented our approach in a tool called CTS-IC, and applied it to real-world projects. The experimental results show that rule-directed symbolic execution can find preconditions (implicit constraints) automatically from an individual function. Moreover, the unit test data generated by our approach achieves higher coverage than similar tools and efficiently mitigates missing input preconditions problems in unit testing for individual functions.

  相似文献   

14.
设计并实现一种基于符号化执行的Fuzzing测试方法。通过代码插装,在程序执行过程中收集路径约束条件,依据一定的路径遍历算法生成新路径约束条件并进行求解,构造可以引导程序向新路径执行的输入测试数据。提出一种改进的污点分析机制,对路径约束条件进行简化,提高了代码覆盖率和漏洞检测的效率。  相似文献   

15.
提出了一种可执行的测试序列的自动生成策略。先从UML模型中提取出协议模型的EFSM信息,然后利用变迁可执行性分析自动生成可执行的测试序列。该生成策略同时结合了数据流测试和控制流测试的优点,既具有比较高的错误覆盖率,又对通信协议中的数据部分进行了充分的测试,从而提高了一致性测试的效率。  相似文献   

16.
控制器合成是针对给定的获胜目标,在开放的实时系统环境中,自动地寻找获胜策略的过程.这个策略可以表述为一系列的符号化状态和动作的映射关系.在本文中,我们主要针对以线性时序逻辑(LTL)描述的可达性作为获胜目标,进行合成策略的发现.文中介绍了一种采用on-the-fly思路的合成算法,以规避状态数目太多带来的内存溢出问题.文中算法是对文献[1]的一种扩展,该算法主要用于解决基于分支时序逻辑(CTL)的控制器合成.另外,我们实现了相关的控制器合成工具CTAV/TGA(Timed Gamed Automata),在实现的过程中,使用on-the-fly的方式,避免了穷尽状态空间,同时,通过使用zone和抽象,大大缩减了状态数目,使时空效率控制在可接受的范围内.  相似文献   

17.
谢肖飞  李晓红  陈翔  孟国柱  刘杨 《软件学报》2019,30(10):3071-3089
软件测试是保障软件质量的常用方法,如何获得高覆盖率是测试中十分重要且具有挑战性的研究问题.模糊测试与符号执行作为两大主流测试技术已被广泛研究并应用到学术界与工业界中,这两种技术都具有一定的优缺点:模糊测试随机变异生成测试用例并动态执行程序,可以执行并覆盖到较深的分支,但其很难通过变异的方法生成覆盖到复杂条件分支的测试用例.而符号执行依赖约束求解器,可以生成覆盖复杂条件分支的测试用例,但在符号化执行过程中往往会出现状态爆炸问题,因此很难覆盖到较深的分支.有工作已经证明,将符号执行与模糊测试相结合可以获得比单独使用模糊测试或者符号执行更好的效果.分析符号执行与模糊测试的优缺点,提出了一种基于分支覆盖将两种方法结合的混合测试方法——Afleer,结合双方优点从而可以生成具有更高分支覆盖率的测试用例.具体来说,模糊测试(例如AFL)为程序快速生成大量可以覆盖较深分支的测试用例,符号执行(例如KLEE)基于模糊测试的覆盖信息进行搜索,仅为未覆盖到的分支生成测试用例.为了验证Afleer的有效性,选取标准程序集LAVA-M以及实际项目oSIP作为评测对象,以漏洞检测能力以及覆盖能力作为评测指标.实验结果表明:(1)在漏洞检测能力上,Afleer总共可以发现755个漏洞,而AFL仅发现1个;(2)在覆盖能力上,Afleer在标准程序集上以及实际项目中都有不同程度的提升.其中,在oSIP中,Afleer比AFL在分支覆盖率上提高2.4倍,在路径覆盖率上提升6.1倍.除此之外,Afleer在oSIP中还检测出一个新的漏洞.  相似文献   

18.
Conformance testing for real-time systems   总被引:1,自引:0,他引:1  
We propose a new framework for black-box conformance testing of real-time systems. The framework is based on the model of partially-observable, non-deterministic timed automata. We argue that partial observability and non-determinism are essential features for ease of modeling, expressiveness and implementability. The framework allows the user to define, through appropriate modeling, assumptions on the environment of the system under test (SUT) as well as on the interface between the tester and the SUT. We consider two types of tests: analog-clock tests and digital-clock tests. Our algorithm for generating analog-clock tests is based on an on-the-fly determinization of the specification automaton during the execution of the test, which in turn relies on reachability computations. The latter can sometimes be costly, thus problematic, since the tester must quickly react to the actions of the system under test. Therefore, we provide techniques which allow analog-clock testers to be represented as deterministic timed automata, thus minimizing the reaction time to a simple state jump. We also provide algorithms for static or on-the-fly generation of digital-clock tests. These tests measure time only with finite-precision digital clocks, another essential condition for implementability. We also propose a technique for location, edge and state coverage of the specification, by reducing the problem to covering a symbolic reachability graph. This avoids having to generate too many tests. We report on a prototype tool called and two case studies: a lighting device and the Bounded Retransmission Protocol. Experimental results obtained by applying on the Bounded Retransmission Protocol show that only a few tests suffice to cover thousands of reachable symbolic states in the specification.  相似文献   

19.
With the advent of advanced program analysis and constraint solving techniques,several test generation tools use variants of symbolic execution.Symbolic techniques have been shown to be very effective in path-based test generation;however,they fail to scale to large programs due to the exponential number of paths to be explored.In this paper,we focus on tackling this path explosion problem and propose search strategies to achieve quick branch coverage under symbolic execution,while exploring only a fraction...  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号