我已经读过,我应该首先编写简单的基本测试,然后逐渐转向更难的测试.我应该为以下功能编写哪些测试(按顺序)?
函数List.syncWithList(lst)
>应该在列表中添加任何不在列表中但是在lst中的项目
>应删除列表中不属于lst的任何项目
>应该替换列表中具有不同于lst中的版本标签的任何项目
>不应该替换列表中与lst中版本标签相同的任何项目
解决方法
你有基本的测试列表.你刚刚把它们提供给我们.至少,您应该测试是否已满足每个功能要求(例如,您在问题中给出的四个要点).
除此之外还有边缘情况,例如空列表(在一侧和两侧),相同的列表等等.
>双方空单.
>相同的清单.
>清空左侧列表,其中包含要添加的单元素右侧列表.
>单元素左侧列表,其中包含要删除的空右侧列表.
>前两个测试,但一方面有五个元素列表.
>替换单元素左侧列表中的一个元素.
>替换左边五元素列表中的一个元素.
>替换五元素左侧列表中的三个元素.
>检查相同版本标签上是否没有替换.
我不能强调这一点:自动化测试!只需按下按钮并查看结果,您就会发现测试更容易.每当你发现一个bug时,添加一个测试,它会把这个bug发现到上面的测试套件中,然后按下按钮进行验证.
我们将测试归结为精美的艺术品.使用一个命令,可以实现整个流程,吹走数据库,使用已知数据加载数据库,运行测试,将输出与先前成功的测试进行比较等等.
如果我们在做出改变时必须手动完成所有操作,我们很快就会完全抛弃这个想法.通过自动化一切,测试是轻而易举的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。