LOGISCOPE是法国Telelogic公司推出的专用于软件质量保证和软件测试的产品。其主要功能是对软件做质量分析和测试以保证软件的质量,并可做认证、反向工程和维护,特别是针对要求高可靠性和高安全性的软件项目和工程。 |
本产品应用于软件的整个生命周期,它贯穿于软件需求分析阶段à设计阶段->代码开发阶段->软件测试阶段(代码审查、单元/集成测试和系统测试)->软件维护阶段的质量验证要求。 |
在设计和开发阶段,使用LOGISCOPE可以对软件的体系结构和编码进行确认。可以在尽可能的早期阶段检测那些关键部分,寻找潜在的错误,并在禁止更改和维护工作之前做更多的工作。在构造软件的同时,就定义测试策略。可帮助编制符合企业标准的文档,改进不同开发组之间的交流;在测试阶段用LOGISCOPE,使测试更加有效。可针对软件结构,度量测试覆盖的完整性,评估测试效率,确保满足要求的测试等级。特别是,LOGISCOPE还可以自动生成相应的测试分析报告;在软件的维护阶段,用LOGISCOPE验证已有的软件是否是质量已得到保证的软件,对于状态不确定的软件,LOGISCOPE可以迅速提交软件质量的评估报告,大幅度地减少理解性工作,避免非受控修改引发的错误。 |
本产品的最终目的是评估和提高软件的质量等级,采用基于国际间的标准度量方法(如Halstead、McCabe等)的质量模型对软件进行分析,从软件的编程规则,静态特征和动态测试覆盖等多个方面,量化地定义质量模型,并检查、评估软件质量。 |
● LOGISCOPE 获取ISO/IEC9126 定义的"Quality Characteristics "; |
● LOGISCOPE 为ISO-9001提供需求(test acceptance criteria and qulity records ),自动确定ISO9001认证过程的任务; |
● LOGISCOPE 提供SEI/CMM在第2 级(Repeatable )所要求的软件质量跟踪等关键实践的要求,推进开发组织尽快达到SEI/CMM 的3级。 |
● 在有合同关系时,合同方可以用LOGISCOPE 明确定义验收时质量等级和执行测试。承制方可以用LOGISCOPE 验证其软件的质量。 |
● 对所有的开发者提供确保代码质量和进行有效测试的方法 |
● 对项目管理者和质量工程师提供对整个项目进行制度化的测试和评估。 |
1 完美的开发环境集成,很容易访问和运行LOGISCOPE; |
3 当达到要求的测试等级时,软件才可以离开测试阶段; |
6 质量工程师可以把项目作为一个整体,自动编写详细的报告。 |
目前,LOGISCOPE产品在全世界的26个国家的众多国际知名企业得到了广泛的应用,其用户涉及通讯、电子、航空、国防、汽车、运输、能源及工业过程控制等众多领域。现简单介绍如下: |
● 欧洲的卫星生产厂商Matla Marconi Space; |
● 航空航天领域有Aérospatiale, Alcatel Space, Boeing, CNES, Northrop Grumman等国际著名公司; |
本产品采用的是包括软件质量标准化组织制定的ISO9126模型在内的质量模型。质量模型描述了从Halstend、McCabe的质量方法学引入的质量因素、质量准则和质量度量元。即本模型是一个三层的结构组织: |
质量因素是从用户角度出发,对软件的质量特性进行总体评估;质量准则从软件设计者角度出发,设计为保障质量因素所必须遵循的法则;质量度量元从软件测试者角度出发,验证是否遵循质量准则。一个质量因素由一组质量准则来评估;一个质量准则由一组质量度量元来验证。其关系如图所示。 |
LOGISCOPE从系统[Application]、类[Class]和函数[Function]三个层次详细规定了上述质量特性及其组成关系。以C++程序的类层为例: |
静态分析Audit部件将软件与所选的质量模型进行比较,生成软件质量分析报告。显示软件质量等级的概要图形表示,因此可以把精力集中到需要修改的代码部分。对度量元素和质量模型不一致的地方作出解释并提出纠正的方法。通过对软件质量进行评估及生成控制流图和调用图,发现最大可能发生错误的部分。一旦发现这些部分,可以使用度量元及控制流图、调用图等手段做进一步分析。 |
LOGISCOPE根据质量模型,生成相应的软件质量分析报告(HTML形式)。 |
可清楚分析和观察每个类或方法中的质量度量元的数值,判断其是否合法。 |
可清楚分析和判断各质量因素所含有的质量准则的数值和合格性。 |
针对系统层、类层和函数层,分别分析质量因素的合格性和所占百分比。 |
控制流图显示算法的逻辑路径。其图形表示适用于评价函数的复杂性。 |
调用图显示过程和函数之间的关系,非常适用于检查应用系统的设计。 |
Kiviat图使质量等级与所选择的参考之间的一致性对比更加可视化。 |
LOGISCOPE提供编码规则与命名检验,这些规则是根据业界标准和经验所制订。因此可建立企业可共同遵循的规则与标准,而避免自我不良的编程习惯及彼此不相容的困扰。同时LOGISCOPE还提供规则的裁剪和编辑功能,可以用Tcl、脚本和编程语言定义新的规则。 |
为控制测试的有效性,必须定义准则和策略以判断何时结束测试阶段。准则必须是客观和可量化的元素。LOGISCOPE推荐对指令、逻辑路径和调用路径覆盖测试。根据应用的准则和项目相关的约束,可以定义使用的度量方法和要达到的覆盖率,度量测试的有效性。 |
TestChecker产生每个测试的测试覆盖信息和累计信息。用直方图显示覆盖比率,并根据测试运行情况实时更改。随时显示新的测试所反映的测试覆盖情况。TestChecker允许所有的测试运行依据其有效性进行管理。用户可以减少那些用于非回归测试的测试。被执行过的函数,一旦作了修改需要重新运行时,LOGISCOPE将会标出。优化测试过程在测试阶段的第一步,执行的测试是功能性测试。其目的是检查所期望的功能是否已实现。在测试初期,覆盖比率迅速增加。象样的测试工作一般能达到70%的覆盖率。但是,要提高此比率是十分困难的。主要是由于测试覆盖了相同的测试路径。在该阶段需要对测试策略做一些改变。应当执行结构化测试,即,要检测没有执行的逻辑路径,定义适当的测试覆盖这些路径。在测试执行期间,当测试策略改变时,综合的运用TestChecker检测关键因素以提高效率。将TestChecker与静态分析相互依赖使用能够帮助用户分析未测试的代码。用户可以显示所关心的代码,并通过对执行未覆盖的路径的观察得到有关的信息。信息以图形(控制流图)和文本(伪代码和源文件)的形式提交,并在其间建立导航关联。TestChecker管理系统能声明新的测试、编制有关文档、定义启动命令、以及自动执行的方法。 |
同时LOGISCOPE 支持对嵌入式领域软件的测试。众所周知,嵌入式系统软件的测试是最为困难的。因为,它的开发是用交叉编译方式进行的。在目标机(Target)上,不可能有多余的空间记录测试的信息。必须实时地将测试信息通过网线/串口传到宿主机(Host)上,并实时在线地显示。因此,对源代码的插装和目标机上的信息收集与回传成为问题的关键。LOGISCOPE 很好地解决了这些技术,成为嵌入式领域测试工具的佼佼者。它支持各种实时操作系统(RTOS)上的应用程序的测试,也支持逻辑系统的测试。Logiscope 提供VxWorks 、pSOS 、VRTX 实时操作系统的测试库。 |
|