首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 187 毫秒
1.
为了提高迭代式增量软件开发中的回归测试效率、改善测试脚本和用例的维护性和复用性,基于关键字驱动的思想设计了层次化的测试自动化框架模型,提出了对应的三层关键字设计方法.通过 C++项目-机械系统动力学 CAE 平台MWorks 回归自动化测试框架详细的系统实现证明了模型的可行性,合理的关键字划分隔离了测试脚本开发人员、测试用例开发人员和测试执行人员关注的问题,有助于组织和管理测试和测试用例,使得框架便于使用、维护和扩展.测试工具的多进程并行和异常处理进一步提高了测试效率  相似文献   

2.
由于功能增加、性能调优、错误修复等原因,软件常常动态演化.现有测试技术难以满足软件演化过程中变化的测试需求,因此需要系统的测试用例演化技术,以有效保障演化软件的质量.回顾测试用例演化技术的研究现状,分别对测试用例选择、测试用例修复和测试用例集扩增这3部分内容进行了详细的比较和分析.最后提出测试用例演化技术领域存在的挑战和未来的研究方向.  相似文献   

3.
Java的类加载机制是Java技术体系中比较核心的部分,这种机制虽然不和开发人员直接接触,但是如果对其背后的机理有一定理解的话,有助于开发人员排查程序中出现的类加载失败等技术问题,对理解Java虚拟机的连接模型和Java语言的动态性都有很大帮助。  相似文献   

4.
软件测试是一项重要的软件确认活动,通过运行测试用例,旨在发现软件中存在的错误,保证交付出高质量的软件。为保证水利业务应用系统的质量,需要在建设过程中对系统进行充分的测试。研究测试用例的生成方法,包括逻辑覆盖和基本路径测试等白盒测试技术,以及等价划分和边界值分析等黑盒测试技术。选择防汛信息查询模块,重点探讨使用白盒和黑盒测试技术对该模块进行测试用例的生成,再运行测试用例对系统进行测试。2种测试技术能够有效地检测出系统中存在的错误,使开发人员能够及时修正错误。  相似文献   

5.
Web服务对外只提供接口文档,可利用生成测试用例的信息不够充分,现有方法所生成的用例冗余度高、查错能力有限.文中基于现有Web服务功能和用户协同推荐构建用户需求模型,再使用领域知识和使用场景生成测试用例,并通过实验演示过程,实验结果表明该文方法生成组合Web服务测试用例的有效性.以用户需求驱动组合Web服务测试,既能保证所选服务真正符合用户需求,又可根据用户使用场景来丰富测试需求信息,结合领域知识启发式生成测试用例.  相似文献   

6.
赵逸凡  郝丹 《软件学报》2023,34(6):2708-2726
在软件交付越来越强调迅速、可靠的当下,持续集成成为一项备受关注的技术.开发人员不断将工作副本集成到代码主干完成软件演化,每次集成会通过自动构建测试来验证代码更新是否引入错误.但随着软件规模的增大,测试用例集包含的测试用例越来越多,测试用例的覆盖范围、检错效果等特征也随着集成周期的延长而变化,传统的测试用例排序技术难以适用.基于强化学习的测试排序技术可以根据测试反馈动态调整排序策略,但现有的相关技术不能综合考虑测试用例集中的信息进行排序,这限制了它们的性能.提出一种新的基于强化学习的持续集成环境中测试用例排序方法——指针排序方法:方法使用测试用例的历史信息等特征作为输入,在每个集成周期中,智能体利用指针注意力机制获得对所有备选测试用例的关注程度,由此得到排序结果,并从测试执行的反馈得到策略更新的方向,在“排序-运行测试-反馈”的过程中不断调整排序策略,最终达到良好的排序性能.在5个规模较大的数据集上验证了所提方法的效果,并探究了使用的历史信息长度对方法性能的影响,方法在仅含回归测试用例的数据集上的排序效果,以及方法的执行效率.最后,得到如下结论:(1)与现有方法相比,指针排序方法能够随着软件版本的演化调整排序策略,在持续集成环境下有效地提升测试序列的检错能力.(2)指针排序方法对输入的历史信息长度有较好的鲁棒性,少量的历史信息即可使其达到最优效果.(3)指针排序方法能够很好地处理回归测试用例和新增测试用例.(4)指针排序方法的时间开销不大,结合其更好、更稳定的排序性能,可以认为指针排序方法是一个非常有竞争力的方法.  相似文献   

7.
软件测试是软件生产厂商在软件开发过程中非常重要的一个阶段。本文围绕着测试用例集约简技术展开研究。首先阐述了测试用例集的约简技术的含义与作用,分析了测试用例集的约简技术能够降低软件测试成本以及提高软件测试效率的方法。本文结合几种常用的测试用例集的约简技术,提出一种关于测试需求集的测试用例集极小化方法,该方法基于测试需求集的最小测试用例集的形成算法,从而得到优化的代表测试用例集,为测试用例集约简技术提供很好的理论基础和测试技术的依据。  相似文献   

8.
为了提高回归测试用例集的测试效率和有效性,提出由需求得到回归测试用例排序技术及其实现算法。由需求得到回归测试用例排序技术,将与软件需求相关的需求描述度、需求实现复杂度、需求稳定度和需求覆盖度等因素应用于测试用例排序,以缺陷检测加权平均百分比作为度量标准。通过实验,比较排序后用例和未排序用例缺陷检测情况,实验结果表明该技术排序后的回归测试用例集,能够尽早地发现更多的软件错误,有效提高回归测试效率,保证软件质量。  相似文献   

9.
为了提高回归测试用例集的测试效率和有效性,提出由需求得到回归测试用例排序技术及其实现算法。由需求得到回归测试用例排序技术,将与软件需求相关的需求描述度、需求实现复杂度、需求稳定度和需求覆盖度等因素应用于测试用例排序,以缺陷检测加权平均百分比作为度量标准。通过实验,比较排序后用例和未排序用例缺陷检测情况,实验结果表明该技术排序后的回归测试用例集,能够尽早地发现更多的软件错误,有效提高回归测试效率,保证软件质量。  相似文献   

10.
程序切片技术是一种重要的程序分析理解方法,可以帮助开发人员和维护人员理解程序的结构和作用。随着编程语言逐渐趋于人性化、多功能化和复杂化,为了适应编程语言的这种进步,程序切片技术也在不断的演化发展着。文章中主要介绍了程序切片技术的一些基本的准则,介绍了程序切片的一些类型,以及如何利用源程序和图形进行程序切片,并且进行了举例说明。  相似文献   

11.
Test suites are a valuable source of up-to-date documentation as developers continuously modify them to reflect changes in the production code and preserve an effective regression suite. While maintaining traceability links between unit test and the classes under test can be useful to selectively retest code after a change, the value of having traceability links goes far beyond this potential savings. One key use is to help developers better comprehend the dependencies between tests and classes and help maintain consistency during refactoring. Despite its importance, test-to-code traceability is not common in software development and, when needed, traceability information has to be recovered during software development and evolution. We propose an advanced approach, named SCOTCH+ (Source code and COncept based Test to Code traceability Hunter), to support the developer during the identification of links between unit tests and tested classes. Given a test class, represented by a JUnit class, the approach first exploits dynamic slicing to identify a set of candidate tested classes. Then, external and internal textual information associated with the classes retrieved by slicing is analyzed to refine this set of classes and identify the final set of candidate tested classes. The external information is derived from the analysis of the class name, while internal information is derived from identifiers and comments. The approach is evaluated on five software systems. The results indicate that the accuracy of the proposed approach far exceeds the leading techniques found in the literature.  相似文献   

12.
ContextThe intensive human effort needed to manually manage traceability information has increased the interest in using semi-automated traceability recovery techniques. In particular, Information Retrieval (IR) techniques have been largely employed in the last ten years to partially automate the traceability recovery process.AimPrevious studies mainly focused on the analysis of the performances of IR-based traceability recovery methods and several enhancing strategies have been proposed to improve their accuracy. Very few papers investigate how developers (i) use IR-based traceability recovery tools and (ii) analyse the list of suggested links to validate correct links or discard false positives. We focus on this issue and suggest exploiting link count information in IR-based traceability recovery tools to improve the performances of the developers during a traceability recovery process.MethodTwo empirical studies have been conducted to evaluate the usefulness of link count information. The two studies involved 135 University students that had to perform (with and without link count information) traceability recovery tasks on two software project repositories. Then, we evaluated the quality of the recovered traceability links in terms of links correctly and erroneously traced by the students.ResultsThe results achieved indicate that the use of link count information significantly increases the number of correct links identified by the participants.ConclusionsThe results can be used to derive guidelines on how to effectively use traceability recovery approaches and tools proposed in the literature.  相似文献   

13.
14.
Recovering traceability links between code and documentation   总被引:2,自引:0,他引:2  
Software system documentation is almost always expressed informally in natural language and free text. Examples include requirement specifications, design documents, manual pages, system development journals, error logs, and related maintenance reports. We propose a method based on information retrieval to recover traceability links between source code and free text documents. A premise of our work is that programmers use meaningful names for program items, such as functions, variables, types, classes, and methods. We believe that the application-domain knowledge that programmers process when writing the code is often captured by the mnemonics for identifiers; therefore, the analysis of these mnemonics can help to associate high-level concepts with program concepts and vice-versa. We apply both a probabilistic and a vector space information retrieval model in two case studies to trace C++ source code onto manual pages and Java code to functional requirements. We compare the results of applying the two models, discuss the benefits and limitations, and describe directions for improvements.  相似文献   

15.
王攀藻 《计算机科学》2017,44(Z6):515-518
研究了物联网终端设备软件的开发系统,开发了终端软件并进行了 仿真和测试。通过进入该系统的软件开发平台,采用JAVA编写程序,然后使用系统切换平台把编写的程序软件导入到主测试平台,测试软件参数并进行仿真。高校智慧食堂的APP软件开发及仿真测试结果表明,该程序满足指标和功能要求。本系统以虚拟云桌面操作系统为平台,使用Citrix虚拟桌面客户端软件登录服务器,能够完成以云+端虚拟桌面系统实现实验环境与真实环境发展的同步,构造一体化的移动应用开发与测试环境,使得开发人员能够快速学习终端软件开发知识并提高开发技能。  相似文献   

16.
Design-code traceability recovery: selecting the basic linkage properties   总被引:1,自引:0,他引:1  
Traceability ensures that software artifacts of subsequent phases of the development cycle are consistent. Few works have so far addressed the problem of automatically recovering traceability links between object-oriented (OO) design and code entities. Such a recovery process is required whenever there is no explicit support of traceability from the development process. The recovered information can drive the evolution of the available design so that it corresponds to the code, thus providing a still useful and updated high-level view of the system.

Automatic recovery of traceability links can be achieved by determining the similarity of paired elements from design and code. The choice of the properties involved in the similarity computation is crucial for the success of the recovery process. In fact, design and code objects are complex artifacts with several properties attached. The basic anchors of the recovered traceability links should be chosen as those properties (or property combinations) which are expected to be maintained during the transformation of design into code. This may depend on specific practices and/or the development environment, which should therefore be properly accounted for.

In this paper different categories of basic properties of design and code entities will be analyzed with respect to the contribution they give to traceability recovery. Several industrial software components will be employed as a benchmark on which the performances of the alternatives are measured.  相似文献   


17.

Context

For large software projects it is important to have some traceability between artefacts from different phases (e.g.requirements, designs, code), and between artefacts and the involved developers. However, if the capturing of traceability information during the project is felt as laborious to developers, they will often be sloppy in registering the relevant traceability links so that the information is incomplete. This makes automated tool-based collection of traceability links a tempting alternative, but this has the opposite challenge of generating too many potential trace relationships, not all of which are equally relevant.

Objective

This paper evaluates how to rank such auto-generated trace relationships.

Method

We present two approaches for such a ranking: a Bayesian technique and a linear inference technique. Both techniques depend on the interaction event trails left behind by collaborating developers while working within a development tool.

Results

The outcome of a preliminary study suggest the advantage of the linear approach, we also explore the challenges and potentials of the two techniques.

Conclusion

The advantage of the two techniques is that they can be used to provide traceability insights that are contextual and would have been much more difficult to capture manually. We also present some key lessons learnt during this research.  相似文献   

18.
软件资产追踪关系逆向恢复是软件维护和逆向工程领域的一个重要研究内容。然而,大多数现有的资产追踪研究都是针对同一软件版本内的追踪关系。与已有的研究工作不同,文中主要关注多个层次(变更文档层、配置管理层、实现代码层)上的演化信息之间的追踪关系逆向恢复。这些演化信息之间追踪关系的恢复对于理解软件演化和维护过程、学习并借鉴软件维护知识都具有重要的意义。针对不同层次演化信息的特点,提出了一种结合关键字检索和启发式规则的演化信息追踪关系逆向恢复方法,并针对一个开源软件系统的演化过程进行了实验分析。  相似文献   

19.
正确建立软件文档与代码间的可追踪关系对程序理解、软件维护等非常重要。近年来,软件文档与代码间的可追踪性研究大多基于文本词汇相似度,没有充分利用软件文档和代码所蕴含的结构信息,针对这一问题提出了将软件结构信息与信息检索模型相结合进行文档与代码间可追踪性分析的方法。通过对文档和代码结构信息的分析,改善预处理效果,优化相似度计算过程,进而提高整体方法的有效性。实验结果表明,该方法比单纯基于信息检索的方法在查全率和查准率上都有所提高,而且能提取到更多的可追踪性链。  相似文献   

20.
Traceability is the ability to describe and follow the life of a software artifact and a means for modeling the relations between software artifacts in an explicit way. Traceability has been successfully applied in many software engineering communities and has recently been adopted to document the transition among requirements, architecture and implementation. We present an approach to customize traceability to the situation at hand. Instead of automating tracing, or representing all possible traces, we scope the traces to be maintained to the activities stakeholders must carry out. We define core traceability paths, consisting of essential traceability links required to support the activities. We illustrate the approach through two examples: product derivation in software product lines, and release planning in software process management. By using a running software product line example, we explain why the core traceability paths identified are needed when navigating from feature to structural models and from family to product level and backward between models used in software product derivation. A feasibility study in release planning carried out in an industrial setting further illustrates the use of core traceability paths during production and measures the increase in performance of the development processes supported by our approach. These examples show that our approach can be successfully used to support both product and process traceability in a pragmatic yet efficient way.  相似文献   

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

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