qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

如何让软件测试更理性?

  一、前二天在写一份PPT,看到波普尔哲学:

  卡尔.波普尔的哲学:科学理论和人类所掌握到的一切知识,都不过是推测和假想,人在解决问题的过程中不可避免地掺入了想象力和创造性,人们只能依靠仅有的数据来证明一条科学理论。这一“可错性”原则所推演出的“真伪不对称性”(真不能被证明,只有伪可以被证明)。

  二、软件测试是一份非理性的职业

  1、软件测试能证明软件存在Bug,不能证明软件不存在Bug。

  2、软件测试无止境,但测试周期有严格限制。

  3、软件质量是一步一步积累、提高的。

  4、《软件测试的艺术》,虽然当前还是很苦逼的职业。

  三、举例个人经历过的3个不同行业的故障

  ● 故障:

  1、2008年,同一个版本,上海、成都同时割接(通信行业专有说法)新版本,成都用户投诉,手机不能访问网站,上海正常。

  2、2011年,新版本(金融行业)上线后,4个用户扣款失败。

  3、2012年,版本(团购)发布后商品价格设置为19.9,显示变成18.89。

  ● 原因:

  1、成都的无线信号比上海的差,网络大量重发包,导致句柄耗尽。

  2、新版本部署过程中,有4个正在扣款的任务;部署完成后,补偿处理扣款任务失败。接口有一个备注参数调整(英文->中文),支付方校验前后参数不一致,扣款失败。

  3、19.9–>18.99,Java的浮点计算精度丢失。

  ● 总结:特定环境、特定用户、特定场景下发生的bug,测试人束手无策。

  四、如何让测试更理性

  ● 系统实现透明–>代码质量提高

  1、告别黑盒。

  2、学习代码、框架,理解实现(一个月)。

  3、code review开发代码(长期)。

  4、充分了解与外部的交付细节。

  5、促进代码质量(长期)

  ● 测试设计更全面–>自动化持续积累

  1、拥有:测试理论 + 业务知识 + 系统实现。

  2、用最少的用例达到业务覆盖。

  3、用最多的思考,追求场景的丰富。

  4、长期积累,如果实现自动化更佳。

  五、做到什么程度才理性

  1、本身就是一个非理性的职业,没有答案。

  2、测试覆盖率要多少?缺陷密度要多少?转测试标准要如何?code review要多少?自动化率要多少?探索性测试多少?没有答案。

  3、根据公司、产品、团队情况,做到当前的理性就可以,慢慢积累向更理性努力。

  4、不过,如果一个人坚持理性主义,那么他本身就是有非理性主义因素的。

posted on 2012-05-09 09:28 顺其自然EVO 阅读(172) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2012年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜