首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
测试自动化是提高软件测试效率的重要途径。基于UML模型的面向对象软件测试是当前研究的热点。这些研究大都是类或集成测试,对于如何自动生成较为完整、合理的系统测试用例较少。在总结研究现状的基础上,以应用举例的方式提出一种从描述系统用例问顺序依赖关系的活动图和用例实现的活动图中获取系统功能测试线索的方法。  相似文献   

2.
Due to the large size and complexity of software, exhaustive testing becomes impossible. Hence, testing must be done in an optimized way keeping in mind factors, such as requirements of the customer, cost and time. For this, there is a need to generate test cases and exercise them to gain maximum throughput by uncovering defects. Test case/scenario prioritization is a well known and efficient technique to ensure the software quality. Prioritization of test scenarios helps in early detection of bugs. In this paper, we present an integrated approach and a prioritization technique to generate cluster-level test scenarios from UML communication and activity diagrams. In our approach, we first construct a tree representation of communication diagrams, and then a tree representation of activity diagrams. We convert them into an intermediate tree named as COMMACT tree. We, then carry out a post-order traversal of the constructed tree for selecting conditional predicates from the intermediate tree. Then, we propose an algorithm to generate test scenarios from the constructed tree. Next, the necessary information, such as method-activity sequence, associated objects, and constraint conditions is extracted from test scenario. The test sequences are a set of theoretical paths starting from initialization to end, while taking conditions (pre- and post-condition) into consideration. Each generated test sequence corresponds to a particular scenario of the considered use case. The third phase is to generate test scenarios from the tree satisfying the message–activity path test adequacy criteria. Preliminary results obtained on a case-study indicate that the technique is effective in extracting the critical scenarios from the communication and activity diagrams. Our approach generates redundant test scenarios and still achieves adequate test coverage.  相似文献   

3.
The model-based analysis is receiving a wide acceptance as compare to code-based analysis in the context of prioritizing and guiding the testing effort and speeding up the development process. Ordinarily, system analysts as well as developers follow Unified Modeling Language (UML) activity diagrams to render all realizable flows of controls commonly recognized as scenarios of use cases. This paper applies a bio-inspired algorithm to produce test scenarios for the concurrent section in UML activity diagram. Here, the heuristic draws its inspiration from the internal mechanism of the slime mould Physarum Polycephalum, a large single-celled amoeboid organism. Simulations are performed using eight subject systems taken from the LINDHOLMEN data-set, two models taken from real life student projects and five synthetic models. The results obtained through different approaches are validated through the statistical analysis which demonstrates that our proposed approach is better than the existing Ant Colony Optimization (ACO) and Genetic Algorithm (GA) by a number of feasible test scenarios generated.  相似文献   

4.
有效降低测试成本是软件测试优化的重要研究问题。将遗传算法引入到软件测试中,对生成测试场景提供了必要的动力,然而遗传算法局域搜索能力差,在进化后期搜索效率低,导致算法比较费时。基于UML活动图提出了混合遗传算法生成测试场景的方法,该方法结合遗传算法和爬山法,有效地加快了测试场景的生成速度。为了避免局部性问题,在算法每次进行爬山操作之前调用种群生成函数。实验结果表明,与简单的遗传算法相比,混合遗传算法不仅有效地解决了局部性问题,而且较大地提高了生成测试场景的效率,降低了软件测试成本。  相似文献   

5.
In software engineering, UML activity diagrams in general can be useful for a modeling system functional behavior, ranging from the sequences of activities/actions from business processes within an organization or among organizations down to the detail of an algorithm. The stepwise refinement process makes activity diagrams more and more complex. To guarantee the behavior consistency and correctness under refinement, the activity diagrams must be decomposed according to the divide‐and‐conquer strategy. Traditional decomposition methods adopt manual techniques and cannot ensure the independence and completeness of the obtained subdiagrams. In this paper, a novel decomposition approach is proposed, which can automatically divide an activity diagram into atomic and correct subdiagrams (subdiagrams without abnormal behavioral problems) at the same level. When such an activity diagram specifies the whole functional behavior of a software system, the approach can in fact decompose a system into multiple atomic subsystems. Every atomic subsystem is a completely independent system. It may be independently developed, independently tested, and independently deployed. The method facilitates the management, development, and maintenance of a software system. With the help of a prototype tool, a case study demonstrates the decomposition method.  相似文献   

6.
Context:The Unified Modeling Language (UML) has become the de facto standard for software modeling. UML models are often used to visualize, understand, and communicate the structure and behavior of a system. UML activity diagrams (ADs) are often used to elaborate and visualize individual use cases. Due to their higher level of abstraction and process-oriented perspective, UML ADs are also highly suitable for model-based test generation. In the last two decades, different researchers have used UML ADs for test generation. Despite the growing use of UML ADs for model-based testing, there are currently no comprehensive and unbiased studies on the topic.Objective:To present a comprehensive and unbiased overview of the state-of-the-art on model-based testing using UML ADs.Method:We review and structure the current body of knowledge on model-based testing using UML ADs by performing a systematic mapping study using well-known guidelines. We pose nine research questions, outline our selection criteria, and develop a classification scheme.Results:The results comprise 41 primary studies analyzed against nine research questions. We also highlight the current trends and research gaps in model-based testing using UML ADs and discuss some shortcomings for researchers and practitioners working in this area. The results show that the existing approaches on model-based testing using UML ADs tend to rely on intermediate formats and formalisms for model verification and test generation, employ a multitude of graph-based coverage criteria, and use graph search algorithms.Conclusion:We present a comprehensive overview of the existing approaches on model-based testing using UML ADs. We conclude that (1) UML ADs are not being used for non-functional testing, (2) only a few approaches have been validated against realistic, industrial case studies, (3) most approaches target very restricted application domains, and (4) there is currently a clear lack of holistic approaches for model-based testing using UML ADs.  相似文献   

7.
We present a method to generate cluster level test cases based on UML communication diagrams. In our approach, we first construct a tree representation of communication diagrams. We then carry out a post-order traversal of the constructed tree for selecting conditional predicates from the communication diagram. We transform the conditional predicates on the communication diagram and apply function minimization technique to generate the test data. The generated test cases achieve message paths coverage as well as boundary coverage. We have implemented our technique and tested it on several example problems.  相似文献   

8.
We describe a tool that supports verification of workflow models specified in UML activity diagrams. The tool translates an activity diagram into an input format for a model checker according to a mathematical semantics. With the model checker, arbitrary propositional requirements can be checked against the input model. If a requirement fails to hold, an error trace is returned by the model checker, which our tool presents by highlighting a corresponding path in the activity diagram. We summarize our formal semantics, discuss the techniques used to reduce an infinite state space to a finite one, and motivate the need for strong fairness constraints to obtain realistic results. We define requirement-preserving rules for state space reduction. Finally, we illustrate the whole approach with a few example verifications.  相似文献   

9.
Milicev  D. 《Software, IEEE》2002,19(2):90-97
Many modeling domains can be meta modeled using the core UML structural concepts. When the user needs other specific forms generated from models in such domains, such as source code, model transformations should be defined. The author advocates a specification method for defining model translation that is visual, making specifications easier to create and modify  相似文献   

10.
基于扩展UML活动图的过程建模研究   总被引:2,自引:0,他引:2  
针对传统过程建模不能对仿真编码阶段前的过程进行有效的描述的问题,提出了一种基于扩展UML活动图的建模方法,并从信息活动和物理活动两方面对其进行建模。最后通过一个实例表明该方法能清楚描述过程建模的具体活动,且有利于用户和系统开发者进行沟通和交流。  相似文献   

11.
扩展UML活动图在工作流建模中的应用*   总被引:1,自引:0,他引:1  
针对UML对数据和信息流描述缺乏充分表达业务工作流程的问题,借助新创建的活动图,提出了基于扩展UML活动图的工作流过程建模方法。应用实例表明,扩展的UML活动图对工作流程的语义表达更丰富,更准确地描述工作流建模所需表达的内容,以满足工作流过程建模的要求。  相似文献   

12.
ContextIt is a difficult and challenging task to fully automatize model-based testing because this demands complete and unambiguous system models as input. Therefore, in practice, test cases, especially on the system level, are still derived manually from behavioral models like UML activity diagrams or state machines. But this kind of manual test case derivation is error-prone and knowing these errors makes it possible to provide guidelines to reduce them.ObjectiveThe objective of the study presented in this paper therefore is to examine which errors are possible and actually made when manually deriving test cases from UML activity diagrams or state machines and whether there are differences between these diagram types.MethodWe investigate the errors made when deriving test cases manually in a controlled student experiment. The experiment was performed and internally replicated with overall 84 participants divided into three groups at two institutions.ResultsAs a result of our experiment, we provide a taxonomy of errors made and their frequencies. In addition, our experiment provides evidence that activity diagrams have a higher perceived comprehensibility but also a higher error-proneness than state machines with regard to manual test case derivation. This information helps to develop guidelines for manual test case derivation from UML activity diagrams and state machines.ConclusionMost errors observed were due to missing test steps, conditions or results, or content was written into the wrong field. As activity diagrams have a higher perceived comprehensibility, but also more error-prone than state machines, both diagram types are useful for manual test case derivation. Their application depends on the context and should be complemented with clear rules on how to derive test cases.  相似文献   

13.
测试用例的自动生成是软件测试研究的主要方向之一。针对现有的UML模型驱动测试方法在测试数据生成方面存在低效、无目的性、冗余等问题,提出了基于UML活动图模型驱动的划分测试用例自动生成方法。该方法将测试场景归为五种类型,并为每种类型规划了测试数据取值范围和选择方法。构建了基于该方法的原型工具软件,提供被测软件原模型和数据约束即可生成测试用例。实验结果表明,该方法能够在不降低测试覆盖率的情况下,能生成数量少、针对性强的测试用例集。  相似文献   

14.
Unified Modeling Language (UML) activity diagrams are widely used to model concurrent interaction among multiple objects. In this paper, we propose a transformation‐based approach to generating scenario‐oriented test cases for applications modeled by UML activity diagrams. Using a set of transformation rules, the proposed approach first transforms a UML activity diagram specification into an intermediate representation, from which it then constructs test scenarios with respect to the given concurrency coverage criteria. The approach then finally derives a set of test cases for the constructed test scenarios. The approach resolves the difficulties associated with fork and join concurrency in the UML activity diagram and enables control over the number of the resulting test cases. We further implemented a tool to automate the proposed approach and studied its feasibility and effectiveness using a case study. Experimental results show that the approach can generate test cases on demand to satisfy a given concurrency coverage criterion and can detect up to 76.5% of seeded faults when a weak coverage criterion is used. With the approach, testers can not only schedule the software test process earlier, but can also better allocate the testing resources for testing concurrent applications. Copyright © 2015 John Wiley & Sons, Ltd.  相似文献   

15.
基于扩展UML活动图的工作流模型研究*   总被引:5,自引:0,他引:5  
针对目前工作流管理系统在表达能力和适应性方面存在的问题,在给出三层工作流过程元模型的基础上,提出了基于扩展UML活动图的工作流建模方法,扩展了多实例、条件路由和协调节点等建模元素,描述了扩展建模元素的定义、路由结构和建模规则。应用模型实例表明,此方法增强了模型描述能力,在模型适应性和柔性方面具有明显的优势。  相似文献   

16.
由序列图合成状态图   总被引:2,自引:0,他引:2  
序列图和状态图对于描述和理解面向对象软件系统有着极其重要的作用。符合UML标准的序列图和状态图存在信息重叠,根据序列图提供的信息可以合成状态图。给出了在Rational Rose中由序列图合成状态图工具的实现。  相似文献   

17.
随着软件测试自动化的要求,以及UML在面向对象软件开发领域中的广泛应用,基于UML的面向对象软件测试正日益受到关注。集成测试是面向对象软件测试的一个重要阶段,在基于UML协作图生成面向对象软件的集成测试用例的过程中,一个重要内容是测试序列的生成。针对集成测试序列数量容易膨胀的现象,根据UML协作图的特点,应用过程间受限控制流图(IR-CFG)描述协作图的消息间逻辑控制关系。给出了由RationalRose开发的规格说明文件生成IRCFG的算法,并介绍了IRCFG的几种覆盖准则与基于IRCFG生成测试序列的方法。  相似文献   

18.

UML sequence diagrams are visual representations of object interactions in a system and can provide valuable information for program comprehension, debugging, maintenance, and software archeology. Sequence diagrams generated from legacy code are independent of existing documentation that may have eroded. We present a framework for static generation of UML sequence diagrams from object-oriented source code. The framework provides a query refinement system to guide the user to interesting interactions in the source code. Our technique involves constructing a hypergraph representation of the source code, traversing the hypergraph with respect to a user-defined query, and generating the corresponding set of sequence diagrams. We implemented our framework as a tool, StaticGen (supporting software: StaticGen), analyzing a corpus of 30 Android applications. We provide experimental results demonstrating the efficacy of our technique (originally appeared in the Proceedings of Fundamental Approaches to Software Engineering—20th International Conference, FASE 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, April 22–29, 2017).

  相似文献   

19.
为了减少测试工作量,防止测试用例数目过多而导致爆炸,提出了使用改进的蚁群算法直接从UML状态机图中生成测试用例的方法.利用UML状态图是对系统可能的生命历程进行建模,由于状态图具有直观性,所以简化了生成测试用例过程,从而减少了测试的工作量.通过构造人工蚁群以及动态更新信息素矩阵,让蚂蚁选择还没有搜索或边信息素最小的顶点,确保了测试用例的数量既满足测试需求,又不会过多.通过编写算法及模拟仿真,对该算法的可行性和有效性做了验证和仿真分析.  相似文献   

20.
Assessment of the correctness of software models is a key issue to ensure the quality of the final application. To this end, this paper presents an automatic method for the verification of UML class diagrams extended with OCL constraints. Our method checks compliance of the diagram with respect to several correctness properties including weak and strong satisfiability or absence of constraint redundancies among others. The method works by translating the UML/OCL model into a Constraint Satisfaction Problem (CSP) that is evaluated using state-of-the-art constraint solvers to determine the correctness of the initial model. Our approach is particularly relevant to current MDA and MDD methods where software models are the primary artifacts of the development process and the basis for the (semi-)automatic code-generation of the final application.  相似文献   

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

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