概述
要实现功能覆盖率的收敛,就需要按照以下步骤考虑:
哪些功能需要测试
明白在什么条件下需要测试对应的功能
为了测试这些功能,需要提供什么样的测试平台组件以便提供激励和监测
测试平台如何检查这些功能正常工作
由于功能覆盖率不是自动的过程,因此它需要将功能描述同设计实现对应起来。
提取功能点一般遵循从外部接口到内部功能再到边界情况的方法。
提取功能点
提取接口功能点
对于要验证的设计的各个接口,可通过以下问题来获得接口功能点:
必须应用哪些传输?
什么样的取值范围?
什么样的传输顺序?
相关的传输带宽是多少?
设计能够承受哪些协议违规?
此接口与其他接口或内部设计结构之间的相关交互是什么?
接口上的事务是否需要与另一个接口的事务同步?
提取内部功能点
遵循设计的主要数据路径,可通过以下问题来获得内部功能点:
所有相关配置是什么?
可以对数据执行哪些可能的转换?
可能的转换顺序是什么?
触发转换的敏感数据值是什么?
影响每次转换的敏感值是什么?
转换后的数据应该在哪里结束?
数据序列如何受到影响?
存在哪些错误检测机制以及它们是如何触发的?
错误机制如何报告错误?
错误数据会导致什么?
提取结构功能点
最后,基于对设计架构的详细了解,确定将设计推向极限的条件,可询问以下问题来获得基于体系结构的功能点:
我可以溢出或下溢缓冲区吗?如果是这样,会发生什么?
资源瓶颈在哪里?
可以同时发生对这些资源的多个请求吗?
数据转换路径是否可以影响或者阻止另外一个模块?
标记功能点
功能点应被标记并有简短说明,根据需要验证的条件和预期结果来描述该功能