专栏名称: 51Testing软件测试网
51Testing软件测试网,人气最旺的软件测试技术门户,提供软件测试社区交流,软件测试博客,人才服务,测试沙龙,测试杂志,测试资料下载等全方位信息服务,是国内最专业的软件测试就业培训、企业服务供应商...
目录
相关文章推荐
51好读  ›  专栏  ›  51Testing软件测试网

软件测试的魅力何在?您为什么选择测试一行而不做开发?

51Testing软件测试网  · 公众号  · 测试  · 2017-03-10 17:31

正文

请到「今天看啥」查看全文


这需要宽广的知识面才能做到。没有经验的测试更倾向于对所有测试的平台做全排列,但求不忽略任何一个场景。这在资源无限的情况下当然没问题,但真实项目中,测试的资源经常是最有限的,所以我们得学会怎么做最有效的测试,而不是闭着眼睛搞全面铺开。

那么什么是“分析”? 举例来说:如果一个内测客户投诉你的VOIP程序实际使用中声音断断续续,你怎么分辨问题的原因?声音断断续续的情况有很多种,有由于网络延迟导致的,有由于操作系统处理过于繁忙导致程序执行时间被高优先级程序抢走而导致的处理中断产生的。我们怎么去分析哪些原因呢?没经验的测试可能会直接要求跑客户现场看看,但如果用户的环境不是每次都重现该怎么样?有经验的测试会提出:我们可以给客户一个调试用的版本,这个版本要求把数据包的收取时间点和每个数据段的开始处理时间点和CPU占用率纪录下来。通过前一个我们可以测量用户的网络情况,后一个数据段可以用来发现是否是操作系统换出导致的。反过来,对产品不熟悉的人,这些数据可能看不出什么用途。

有人说,这些都可以让开发来做,用不着测试。完全正确。可问题是:开发有时间做这些么?在微软这样级别的公司里,所有的项目都有严格的开发进度,开发部门忙于实现功能的时候,我想没几个产品经理会同意频频打断开发的进度要求停下来做bug分析。

另一点是我们不需要把开发和测试的界限分得那么清楚。 事实上大部分如今的跨国IT公司都很少分开发和测试这两个职位(大约只有微软还严格地分两个职位吧,即使是这样,搜索那边也开始探索改变了),但是要做的工作还是那么多,只是顶着的头衔换了换,所以没必要纠结。

=== 我是转换话题的分割线 ===

另一个问题是关于测试的工作方式的。 就像开发一样,有经验和没有经验的测试在团队起到的作用是很不一样的。从测试中遇到问题采取的行动来看,我观察到的测试人员能达到的层次大概有这么几个级别:

  1. 开一个bug;

  2. 查找一些额外的资料如设计文档和历史,确定这是一个问题,然后给出详细的bug重现步骤;

  3. 对重现步骤做一些精炼,确定能够重现bug的最少步骤;可能的话,将重现步骤做自动化;

  4. 尝试通过研究代码确认问题所在;

  5. 尝试给出一个fix;

  6. 对错误的原因进行分析,提出一些标准化的方法来检测出类似的问题,比如stress,fuzzing等等;

  7. 能够对标准化的测试流程定义对应的数据分析方法,可以保证开发和项目主管都能从中得到需要的信息来掌控质量状况。

那么作为一个测试人员,我们的目标是什么?







请到「今天看啥」查看全文