首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 109 毫秒
1.
基于脚本的构件测试自动化框架   总被引:1,自引:0,他引:1       下载免费PDF全文
倪铭  黄萍 《计算机工程》2010,36(6):94-96
针对传统的测试自动化技术已不适用于构件的问题,提出基于脚本的构件测试自动化框架。将面向对象单元测试自动化框架xUnit与数据驱动的测试框架结合并改进,实现构件测试脚本自动生成、测试脚本自动执行、测试结果自动验证与记录。实例表明,该框架能有效对构件进行自动化测试,自动化程度较高。  相似文献   

2.
自动化测试通过机器运行事先准备好的测试脚本进行测试,提升了软件测试效率。然而,测试脚本存在着编写专业性强、调试工作量大、维护成本高、难以复用等问题,成为自动化测试技术难以广泛使用的主要技术瓶颈。以嵌入式系统为测试对象,提出了模型驱动的测试脚本生成方法。该方法根据BPMN2.0建模标准对测试业务流程进行可视化建模;采用路径深度覆盖算法生成测试路径,根据路径上的约束条件生成测试输入参数;通过自定义的测试动作原语将测试路径和输入参数转化为可在嵌入式系统测试平台ETest上自动执行的测试脚本。实现的原型系统支持嵌入式系统的配置项级和系统级的测试脚本生成,提高了测试工具的易用性和测试模型及脚本的可理解性、可复用性和可维护性。  相似文献   

3.
软件测试自动化的目的是通过自动执行测试脚本,使测试人员在更短的时间内能够更快地完成更多的软件测试,降低测试成本、提高测试效率。因此,自动化测试工具的脚本自动化创建能力和可维护性,就成了衡量自动化测试工具的重要因素。本文利用在.NET框架下提供的反射及代码文档对象模型命名空间,以及数据驱动脚本技术实现了测试脚本的自动生成,从而实现了整个软件测试过程的自动化,提高了软件测试效率。  相似文献   

4.
研究了自动化测试脚本及基于构件的软件复用技术,提出一个测试脚本构件模型TSCM。该模型结合测试脚本特性,在借鉴现行软件构件模型基础上加入构件连接子增强测试脚本构件的独立性和可复用性。设计了TSCM模型的XML框架,实现了测试脚本构件自动生成、验证及不同测试语言之间的自动转换。  相似文献   

5.
性能测试是SIP协议测试的一个重要方面.本文提出了一种支持媒体流的SIP协议性能测试工具的设计与实现方法.这种测试工具读取用户编写的XML呼叫流程测试用例脚本,据此生成并模拟多路并发呼叫对被测系统进行性能测试.和现有的其它SIP性能测试工具相比,本测试工具针对对称性NAT网络环境中存在的媒体流中继问题,嵌入了支持多种音频编码解码方式的媒体流传输,增强了模拟呼叫的真实性,从而更为准确的反映了被测系统的整体性能,提高了测试结果的可信度.  相似文献   

6.
一个基于XML的自动化类测试框架   总被引:1,自引:0,他引:1  
针对当前自动化类测试工具/框架存在的问题,提出了一个基于XML的类测试框架。框架采用基于XML的自动化测试过程数据流模型,用XML语言来描述和组织测试用例,自动生成测试驱动程序,自动执行测试并生成测试结果。框架可用于不同语言应用程序的自动化类测试,框架实现测试设计、测试实现和测试执行的分离,利于测试脚本的维护,并保证测试脚本与测试用例的一致性。  相似文献   

7.
回归测试对修改后的软件重新进行测试,确认修改没有引入新的错误或导致其他代码产生错误。研究GUI回归测试脚本的自动化修复技术,采用有限状态机描述GUI的交互行为,并基于FSM产生测试用例集;使用自动化测试工具生成测试脚本,建立状态迁移和测试脚本的映射关系表;通过比较GUI新、旧版本的FSM得到GUI的变化信息,根据变化信息和映射表对原测试脚本自动修复。实例验证了脚本修复方法的可行性和有效性。  相似文献   

8.
通过LoadRunner企业级测试工具,对基于WAP协议的移动增值服务进行负载测试研究.结合WAP协议,为负载测试生成一个实用的、高效的脚本,继而设计一个负载测试方案,最后对测试结果的分析得到系统的性能.  相似文献   

9.
基于模型的测试以系统的抽象模型为依据,自动生成可执行的测试用例,自动地执行测试并自动评价测试结果,实现测试过程的自动化.论文主要研究测试执行自动化技术,设计实现一个自动化测试执行工具.工具的核心是设计基于XML的自动化测试脚本并实现了一个测试执行引擎.脚本拥有良好的结构定义,便于编辑和扩展,由自动化测试工具自动生成.引擎使用多线程技术模拟多用户的并行使用,解决了数据驱动测试执行方式和线程并行操作时的同步问题.  相似文献   

10.
基于Robot测试框架的关键字驱动的研究与应用   总被引:1,自引:1,他引:0  
为了有效提高软件的测试效率,通过对自动化测试技术之间优缺点比较,结合Web的特点和业务流程,提出了一种基于Robot测试框架的关键字驱动技术。在此技术的基础上,设计并实现了将Robot测试框架运行于RFT等测试工具,实现了测试脚本生成、测试执行与测试报告生成自动化,大大提高了自动化测试效率,保证了软件质量。  相似文献   

11.
Concurrent programs are hard to test due to the inherent nondeterminism. This paper presents a method and tool support for testing concurrent Java components. Tool support is offered through ConAn (Concurrency Analyser), a tool for generating drivers for unit testing Java classes that are used in a multithreaded context. To obtain adequate controllability over the interactions between Java threads, the generated driver contains threads that are synchronized by a clock. The driver automatically executes the calls in the test sequence in the prescribed order and compares the outputs against the expected outputs specified in the test sequence. The method and tool are illustrated in detail on an asymmetric producer-consumer monitor. Their application to testing over 20 concurrent components, a number of which are sourced from industry and were found to contain faults, is presented and discussed.  相似文献   

12.
This paper describes intra‐method control‐flow and data‐flow testing criteria for the Java bytecode language. Six testing criteria are considered for the generation of testing requirements: four control‐flow and two data‐flow based. The main reason to work at a lower level is that, even when there is no source code, structural testing requirements can still be derived and used to assess the quality of a given test set. It can be used, for instance, to perform structural testing on third‐party Java components. In addition, the bytecode can be seen as an intermediate language, so the analysis performed at this level can be mapped back to the original high‐level language that generated the bytecode. To support the application of the testing criteria, we have implemented a tool named JaBUTi (Java Bytecode Understanding and Testing). JaBUTi is used to illustrate the application of the ideas developed in this paper. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

13.
14.
We propose in this paper a way to measure the coverage of a Java test suite by considering the JML specification associed to the Java program under test. This approach is based on extracting a predicate-based graph from the JML method specifications. We then measure the coverage of this latter w.r.t. nodes of the graph that are visited by the test suite. In addition, we propose to check whether the test suite satisfies classical condition coverage criteria. We also introduce a tool, to be used as precompiler for Java, that is in charge of measuring and reporting the coverage according to these criteria.  相似文献   

15.
并发Java程序动态分析及重演技术研究   总被引:2,自引:0,他引:2  
Java语言在并发程序方面的广泛应用对软件测试提出了新的挑战。众所周知,由于并发程序的不确定性,使得并发程序的设计、开发、调试和测试都非常困难。文章介绍了Safepro/Java中的多线程测试技术,通过对Java源程序进行适当的修改并且保持语义不变,跟踪并发Java程序的运行过程,收集有关数据并对数据进行分析,最终控制并发Java程序的重演。  相似文献   

16.
毛天宇  王星宇  常瑞  申文博  任奎 《软件学报》2023,34(6):2628-2640
随着开源软件技术的不断发展,为提高开发效率并降低人力成本,组件化开发模式逐渐得到行业的认可,开发人员可以利用相关工具便捷地使用第三方组件,也可将自己开发的组件贡献给开发社区,从而形成了软件供应链.然而,这种开发模式必然会导致高危漏洞随组件之间的依赖链条扩散到其他组件或项目,从而造成漏洞影响的扩大化,例如2021年底披露的Log4j2漏洞,通过软件供应链对Java生态安全造成了巨大影响.当前针对Java语言软件供应链安全的分析与研究大多是对组件或项目进行抽样调研,这忽略了组件或项目对整个开源生态的影响,无法精准衡量其对生态所产生的影响.为此,本文针对Java语言生态软件供应链安全分析技术展开研究,首次给出了软件供应链安全领域的组件依赖关系和影响力等重要指标的形式化定义,并依据此提出了基于索引文件的增量式组件配置收集和基于POM语义的多核并行依赖解析,设计实现了Java开源生态组件依赖关系提取与解析框架,收集并提取超过880万个组件版本和6500万条依赖关系.在此基础上,本文以受到漏洞影响的日志库Log4j2为例,全面评估其对生态的影响以及修复比例,结果表明该漏洞影响了生态15.12%的组件(71082个)以及16.87%的组件版本(1488971个)同时仅有29.13%的组件在最新版本中进行了修复.  相似文献   

17.
在基于构件的软件开发方法基础上,本文提出使用组装模式的方法进行构件的组装,并应用扩展的MSC对构件及构件组装模式进行描述。最后介绍用Java语言实现一种构件及组装模式描述工具。  相似文献   

18.
JCrasher: an automatic robustness tester for Java   总被引:1,自引:0,他引:1  
JCrasher is an automatic robustness testing tool for Java code. JCrasher examines the type information of a set of Java classes and constructs code fragments that will create instances of different types to test the behavior of public methods under random data. JCrasher attempts to detect bugs by causing the program under test to ‘crash’, that is, to throw an undeclared runtime exception. Although in general the random testing approach has many limitations, it also has the advantage of being completely automatic: o supervision is required except for off‐line inspection of the test ases that have caused a crash. Compared to other similar commercial and research tools, JCrasher offers several novelties: it transitively analyzes methods, determines the size of each tested method's parameter‐space and selects parameter combinations and therefore test cases at random, taking into account the time allocated for testing; it defines heuristics for determining whether a Java exception should be considered as a program bug or whether the JCrasher supplied inputs have violated the code's preconditions; it includes support for efficiently undoing all the state changes introduced by previous tests; it produces test files for JUnit, a popular Java testing tool; and it can be integrated in the Eclipse IDE. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

19.
TestEra: Specification-Based Testing of Java Programs Using SAT   总被引:3,自引:0,他引:3  
TestEra is a framework for automated specification-based testing of Java programs. TestEra requires as input a Java method (in sourcecode or bytecode), a formal specification of the pre- and post-conditions of that method, and a bound that limits the size of the test cases to be generated. Using the method's pre-condition, TestEra automatically generates all nonisomorphic test inputs up to the given bound. It executes the method on each test input, and uses the method postcondition as an oracle to check the correctness of each output. Specifications are first-order logic formulae. As an enabling technology, TestEra uses the Alloy toolset, which provides an automatic SAT-based tool for analyzing first-order logic formulae. We have used TestEra to check several Java programs including an architecture for dynamic networks, the Alloy-alpha analyzer, a fault-tree analyzer, and methods from the Java Collection Framework.  相似文献   

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

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