如何编写优质的软件测试需求文档
作者:网络转载 发布时间:[ 2012/3/29 14:40:57 ] 推荐标签:
第五步: 需求写模棱两可么?
恩,我们的描述太模棱两可了.输出端切换的速度要多快? 跟电压的关系如何? 输入电压的范围是多少? 让我们加一些更细节的描述吧:
版本0.1
1、输出端应当由一个自由活动的定时器进行控制
2、自由运行定时器的频率高不得高于每秒10次,不得低于每秒1次.
3、自由运行定时器的触发频率应当在高和低值之间呈线性变化,并与ADC端的输入电压成正比.
4、ADC端的输入电压应当每100毫秒读取一次
5、当ADC端的输入电压端被读入时,控制自由运行定时器周期时间的注册值也应当被更新.
6、ADC输入端的电压有效范围应当被控制在0到1伏之间.
第六步: 你的需求是可测试的么?
● 首先,自由运行的定时器在这里不需要提及. 因为对它基本上无法进行黑盒测试,它既不是输入也不是输出,而且跟这两者也没有什么联系。
让我们用“数字输出端变化的频率应控制在每秒10次和每秒1次之间”来代替自由运 行定时器的测试标准。
● 对于上述的第四条需求,可能需要一些小修改才能作为测试标准。让我们用“ADC端的输入电压应当保证在每100毫秒内至少被读取一次”来加以描述,这样的描述能让我们预期的测试行为显得更加通俗易懂。
● 需求的第五条也需要一些小修改。我们如何才能检测电压的输出范围是在0到1伏之间呢? 总不能给个2伏的电压,然后看看元器件有没有被烧毁吧?
那么,说“检验系统在ADC端输入电压为1到2伏之间的时候,工作是否正常”,这样检验容易多了。需求描述应当是“正面”的,应当描述设备“应该”的行为,而不是设备“不应该”的行为。否则的话,测试将会无法进行。
版本0.2
1、数字输出端的切换频率应当控制在每秒10次到每秒1次之间
2、数字输出端的切换频率应当在大值和小值之间呈线性变化,并与ADC端的输入电压成正比
3、ADC端的输入电压应当保证在每100毫秒内至少被读取一次
4、检验当ADC端的输入电压范围在0到1伏之间的时候,系统工作是否正常
第七步:你的需求是否通俗易懂?
相比于我们原来的描述:“根据弯曲传感器的输出不同频率来控制LED闪烁”,我们上面的那些需求描述显得难以阅读和理解。
我发现,让需求文档变得通俗易懂,简单办法莫过于,把过于细节的东西抽取出来,然后以条目的形式单独定义。
版本1
1、弯曲传感器应当保证至少在100毫秒内读取一次数据(放到注释单独列出)
2、切换LED的状态,使其与弯曲传感器的读数保持一致
3、当弯曲传感器的读数为1伏特时,LED状态切换的次数应当保持在平均一秒十次;当传感器的读数为0伏特时,LED的切换次数应保持在一秒1次。
定义:
● 弯曲传感器:输入电压位于ADC的X端。安全电压范围为0到1伏特(放到注释单独列出)
● LED状态:数字状态由Y端输出
这样好多了(尽管还不完美)。这些需求通俗易懂,不涉及到系统内部实现,且易于测试。对于系统行为的限定也仅于需要做什么,点到为止。(例如,对弯曲传感器的采样频率,在实现上也可以更高,只要不产生非预期行为,一切都可以)。
编写需求仿佛是在大脑中构建软件的过程。因此要重于执行操作。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11