第五步:需求写模棱两可么?
恩,我们的描述太模棱两可了。输出端切换的速度要多快? 跟电压的关系如何? 输入电压的范围是多少? 让我们加一些更细节的描述吧:
版本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伏之间的时候,系统工作是否正常
第七步:你的需求是否通俗易懂?