测试人员可以借鉴的9条调试规则

来源:互联网 发布:手机滚动屏软件 编辑:程序博客网 时间:2024/05/21 19:44

1.理解系统

解决一个具体问题,很多时候需要在整体上理解系统。重现一个缺陷也要求测试人员在宏观上和细节上都能把握软件。在项目全程,测试人员需要积极的学习被测软件的领域知识、产品架构、代码实现、技术平台、调试工具等。只有较全面的理解软件,才能有效的分析信息、设计实验、快速测试。软件开发与测试没有捷径,持续积累才是正途。

2.制造失败

影响软件行为的因素包括软件自身的状态和软件的外部输入(用户的输入、操作系统的输入、其他软件的输入等)。测试人员应该列举这些影响软件行为的因素,并分析哪些因素可能与当前缺陷有关。然后,他需要大量尝试这些因素的取值组合,并试着总结缺陷重现的模式。有时测试人员需要求助于程序猿,让他提供更好的测试钩子以控制软件的状态和输入,活提供更好的调试日志以了解软件的状态和输出。

3.观察先于思考

在猜测引发错误的原因之前,应该仔细的观察软件的状态、操作系统的状态、所依赖的软件或服务的状态,并分析软件的输入数据和输出数据。细心观察可以更好的推测缺陷原因,设计更有效的测试,相反,凭空猜测很可能是测试误入歧途,费时费力并没有收获。

4.分而治之

如果运行一次测试需要大量的准备工作(如初始化数据库、复制数据文件、重启服务等),测试就不能提供快速的反馈,缺陷调查的效率就很低。为此,测试人员需要建立一个可以快速测试的环境,这通常需要隔离一些无关的数据、软件和服务,也需要测试钩子的帮助。在此环境中,测试人员通过逐次逼近来缩小搜索的范围,即通过测试来排除一些影响软件的因素,从而慢慢锁定若干重要因素。

5.一次只做一处修改

在科学实验中,科学家一次只修改一个变量的值,从而了解该变量对于实验结果的影响。同样,在测试中,测试人员一次只修改一个变量的值,从而了解它对软件行为的影响。

6.保持审计跟踪

在调查过程中,要记录下所做的测试和测试结果,魔鬼隐藏在细节中,而人的记忆总是不可靠的。应该将测试、软件和环境的细节记录下来,作为缺陷报告的一部分。

7.检查基本假设

如果测试人员的调查没有进展,他也许要质疑一下他的基本假设。面对复杂的问题,测试人员的思考常常基于一些能简化情况的假设,例如他会假定“服务器返回的数据应该是没问题的”、“这个模块一直很稳定,不会出错”、“错误检查代码一定能过滤掉无效的输入数据”等。这些假设在大多数时候成立,但是并非永远如此,要质疑并检查他们。

8.获得全新视角

如果重现的努力没有成功,测试人员可以向程序猿或测试伙伴请教。软件是如此的复杂,每个人都有盲点。向别人解释问题,会强迫测试人员组织思路,这有助于他跳出原来的思维模式,获得新的见解。也许叙述完毕,测试人员就获得了新的测试灵感。此外,被咨询的人可能知道一些知识,能够提供有效的测试策略或关键线索,这会显著提高调查效率。

9.如果没有修复它,它就一直存在

当重现缺陷的努力失败时,测试人员不能简单的说:“它一定随风而去了。”缺陷在测试环境中不出现,但可能在用户的环境中出现,更可能在公司领导向媒体做公开演示时出现。为了让项目团队获得必要的信息,测试人员应该提交缺陷报告。调查不可重现的缺陷可能是一个“时间黑洞”。测试人员应该根据缺陷的严重程度,设定不同长度的时间盒。在时间耗尽时,他可以自问“是否追加一个时间盒继续调查?在下一个时间盒中能获得突破吗?对于项目而言,是继续调查还是开始新的测试更有利?”经过评估,他可以决定是继续调查,还是结束调查并提交缺陷报告。

0 0
原创粉丝点击