关闭

关于测试的问与答(下)

发表于:2011-9-14 11:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ronghao    来源:51Testing软件测试网采编

  我问:好吧,如何避免测试困难呢?

  神说,你觉得是大的系统容易测试还是小的系统容易测试?

  我说,当然是小的系统容易测试。

  神说,那么,让系统尽可能的小。

  神说,第一,让需求受控。这是一项很重要的管理工作,如果没有很好的完成这项工作,那么就是管理上的失败。

  我说,这似乎很困难,因为客户总是在要求我们加功能。

  神说,如果在项目后期要求增加功能,而这项功能又是必需的,那么实际上是在告诉我们需求分析出现了问题,出现了需求遗漏。而一项功能如果最终因为各种原因其实不能使用,那么也是需求分析出现了问题,出现了需求幻想,脱离了实际情况。

  神说,要控制需求的增长,需要决策者、需求分析人员和客户来区分某件事对客户来说真的是必需的,需要价值驱动。

  神说,第二,不要试图在软件中处理所有的可能情况。

  我说,我们需要向新系统中导入遗留数据,如果在程序里包含对所有数据的处理,非常复杂,最后我们选择了手动处理部分数据。

  神说,第三,代码质量。最好的实现永远是最简洁的代码,要尽量减少代码的复杂性。两个具有相同物理规模的程序在内部复杂性上可能有极大的不同,而这最终会是决定测试工作难度的主要因素。

  我说,我们可以通过增量构建,不一次做所有事来控制代码的复杂性。

  神说,此外要注意组件之间的分离,特别是多团队协作的项目。

  我说,是这样的,很多项目会划分以模块为单位的小组开发,小组之间、模块之间要尽量减少依赖和不必要的沟通,因此代码可以有冗余,每个开发小组都要各自独立,有自己的分析人员、开发人员和测试人员。

  提到增量构建,我有了新的问题。

  我问:我们现在采用迭代式开发,那么每次迭代完成后对客户的演示能不能算是用户验收测试呢?

  神说,演示不是测试。

  我说,客户触摸到了真实的系统,直观了解到了系统的功能和使用方式,获取了系统信息,然后进行反馈,这可以看作是部分用户验收测试。

  神说,对客户来说,如果没有真正的使用该系统,那么就没有进行测试。此外,客户获取的信息难道不是你们准备好的吗?

  我说,演示之前我们会进行准备工作。

  神说,实际上是在准备客户能够获取的信息。

  我说,那么最理想的迭代开发应该是持续部署?

  神说,持续部署和持续增量使用。

  我叹了口气,说,额滴神啊,看起来测试真不是一件容易的事。

  神说,额滴上帝啊,测试就从来没有容易过。

相关链接:

关于测试的问与答(上)

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号