全面的质量保障体系之发现缺陷

2019-10-16   出处:MiniStarClub北京  作/译者:土司阿哈  

不论对于测试人员还是测试团队,首要任务就是保证产品质量,要做到这一点除了测试人员要尽早介入测试,还有就是测试人员应尽早、尽可能多的发现缺陷。如何才能尽可能多的发现缺陷,确保上线后客户体验更好呢?通过长期测试实践发现缺陷主要分为常规缺陷、异常缺陷、注入缺陷以及随机缺陷;通过对缺陷分类更容易的根据不同缺陷类型实施不同的测试策略,以便更快、更彻底的发现缺陷。

增加测试类型虽然能够发现一些异常类的缺陷,但如果使用不当会大大增加测试工作量,给测试工作带来灾难,具体如何增加测试类型,需要团队成员认真评估和思考。简单举例说明。

比如一个服务端测试,除了正常的功能测试、性能测试、安全性外,常常需要增加稳定性测试和伸缩性测试。 而对于移动端客户端测试,除了正常的功能测试、客户端性能测试、兼容性测试,很多情况下还需要增加对稳定性测试。
对于模型参照测试,主要是应用以前的测试经验,通过对业务分析或者对缺陷进行根因分析形成测试缺陷库或者缺陷模型库,在测试过程中通过对比缺陷库或者测试模型库中的易错点进行专项测试,尽可能发现常规手段发现不了的缺陷。 如图所示

增加测试类型虽然能够发现一些异常类的缺陷,但如果使用不当会大大增加测试工作量,给测试工作带来灾难,具体如何增加测试类型,需要团队成员认真评估和思考。简单举例说明。

比如一个服务端测试,除了正常的功能测试、性能测试、安全性外,常常需要增加稳定性测试和伸缩性测试。 而对于移动端客户端测试,除了正常的功能测试、客户端性能测试、兼容性测试,很多情况下还需要增加对稳定性测试。
对于模型参照测试,主要是应用以前的测试经验,通过对业务分析或者对缺陷进行根因分析形成测试缺陷库或者缺陷模型库,在测试过程中通过对比缺陷库或者测试模型库中的易错点进行专项测试,尽可能发现常规手段发现不了的缺陷。 如图所示

3.注入缺陷

注入缺陷,指通过外界介入的方式才能发现的缺陷。 要发现注入性缺陷一般成本较高,需要模拟注入难度一般来说比较大; 常见的注入测试,比如服务端性能测试、服务端伸缩性测试、数据库注入测试、安全测试等等。
比如服务端性能测试,通过模拟大量客户端像服务器端发送请求,通过模拟比现实使用时更多的请求量来预防线上不可预测的瞬时大量访问。 伸缩性测试: 在业务运行过程中增加或者减少应用服务器的方式,模拟扩容和机器故障导致的异常问题。

4.随机缺陷

随机缺陷具有不确定性,缺陷在某些未知条件下才能够发生或者出现。 随机缺陷一般发现的难度非常大; 对于随机缺陷如果发现,建议同步给项目组所有成员留意该问题,进而继续跟踪发现该缺陷。 经过长期测试与实践发现随机缺陷大多因为编码不规范造成的一种偶发缺陷; 建议通过代码扫描和代码review的手段解决此类问题。 静态代码扫描这个方法已经被大部分公司使用并实践证明是一种高效的测试方法。 代码Review更多的是使用在开发之间,测试Review开发代码貌似是个比较新鲜的事情,但起到的效果确是让人意想不到的好。 简单的聊聊我们原来上家公司的一些实践。
流程: 在需求评审后,开发人员在代码完成后提交代码,开发人员先对测试人员进行代码逻辑讲解,测试人员根据测试需求分析的业务逻辑对开发人员的代码逻辑进行询问,开发人员进行基本答疑,之后测试人员进行代码Review,主要应用白盒测试的方法进行测试与验证。 好处: 1.提高质量意识,开发人员需要和测试人员进行讲解和沟通,无形中会重视代码质量与代码逻辑的正确性; 2.开发人员在讲解代码和测试人员代码询问期间,很容易发现其开发代码的逻辑问题; 3.提高测试人员代码能力,在Review开发代码过程中,学习开发相关知识,提升其技能; 4.提高整体测试效率和代码质量,该方法是结对编程的一个变种。
以上通过对缺陷分类,然后给出不同的测试策略,进而进行实践发现更多的缺陷,从而提高产品质量。 注: 本文测试缺陷分类思想参照杨晓慧老师大作《软件测试价值提升之路》


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
146°|1464 人阅读|0 条评论

登录 后发表评论