2017年11月28日 操作系统的部

基于自动需求的测试来自QA系统Cantata与风河工作台

作者:Jasmine Williams (QA Systems Ltd .市场经理

定义和实现不好的需求会导致昂贵的项目返工。基于需求的测试有助于确保代码执行预期的操作,并且它的目的已经被定义到适当的细节级别。这可以避免昂贵的错误,帮助客户接受。

安全关键软件项目使用单元和集成测试作为满足需求的证明。安全标准如ISO 26262或IEC 61508规定使用双向覆盖以确保:

  • 所有的需求都被验证为正确的实现
  • 所有功能都在需求中指定

需求覆盖率不同于代码覆盖率,因为它衡量的是有多少需求已经被验证,而不是有多少代码已经被测试执行。实现100%的需求覆盖率是非常耗时、重复和昂贵的。使用自动化测试框架可以极大地减少花费在这些活动上的工作和时间。QA系统的自动化单元和集成测试工具对VxWorks大合唱解析源代码以自动生成易于与需求匹配的测试用例(或者反之亦然——将需求与测试用例匹配)。它还大大减少了达到100%需求覆盖率的工作,使得快速和容易地识别需求中的差距、代码中的bug和意想不到的功能。

1

需求或测试计划可以使用ReqIF、xls、xlsx或csv格式从任何需求管理或ALM工具中导入,并显示在Workbench中的Cantata Trace视图中。

2
2 b

Cantata的AutoTest功能可以为整个代码库生成一组通过的单元测试用例。这些测试用例向量测试所有代码路径,使用白盒访问来设置数据、参数和控制函数调用接口。除了执行代码之外,测试还检查在函数之间传递的参数、可访问全局数据的值、调用的顺序和返回值。可以将AutoTests中的详细级别设置为满足代码覆盖级别(例如,函数入口点、语句、决策、MC/DC),并且可以根据大多数安全标准的要求在嵌入式目标平台上运行测试。

自动生成的测试用例可以与需求一起查看,并且可以通过匹配需求(反之亦然)来跟踪,使用一个直观的拖放界面。

3.

在这个阶段,有必要考虑每个需求是否被分配给它的测试用例完全和正确地验证了。这一步需要批判性思维,所以不可能自动化。然而,AutoTest通过每个测试用例验证的代码的唯一路径的英文描述,使这一步变得更快更容易。

4

AutoTest生成通过的测试,因此如果代码中有bug,测试用例可能与需求不匹配。一旦以这种方式确定了bug并修复了代码,创建一个通过的单元测试通常就像在Cantata GUI测试用例编辑器中更改参数或返回值一样简单。

识别代码中没有实现的需求也很容易,因为没有测试可以追踪到未实现的需求。

也可能有不匹配任何需求的测试用例,在这些情况下需要决定功能是否必要。在这种情况下,可以编写相应的需求。常见的原因是防御性编程和系统初始化代码没有在需求中定义。或者,如果功能不存在,则应该编辑代码并重新运行测试。

测试和需求之间的关联将连同相关的代码覆盖率和测试状态导出到需求管理工具。

随着需求的变化,管理版本/变体之间的差异,以及它们与现有测试之间的关系可能会成为一个问题。在Cantata Trace中,需求集之间的差异被突出显示,清晰地显示了新的、更改的和删除的需求,并且可以保留与现有测试的关系。

5

一旦一组正确通过的测试被追踪到需求,就可以使用持续集成工具(例如Jenkins提供了一组自动回归测试。

康塔塔是独立认证,用于开发安全关键软件,最高的安全完整性水平的所有主要软件安全标准。根据安全标准的要求,准备好认证的功能测试和覆盖结果以asci文本格式自动生成(如果在目标平台上进行测试,则直接从目标平台生成)。

使用Cantata进行自动化需求测试的视频演示

大合唱

了解更多关于康塔塔的信息AutoTest自动生成测试用例需求跟踪

以前的从软件定义的工业控制系统中获益
下一个调试VxWorks信号量-给它们一个名称!