美文网首页
全面的质量保障体系之发现缺陷

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

作者: 土司阿哈 | 来源:发表于2019-01-08 08:18 被阅读755次

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

    1.常规缺陷

    常规缺陷是指通过正常测试手段就可以发现的缺陷。对于常规缺陷如何更好更快的发现呢?需要从以下几个角度再次细分。
    (1)根据业务需求分类,比如在测试中常见到的类型有:配置类需求、运营类需求、集成变更类需求、新功能类需求等等,对于这些需求我们可以采用不同的测试策略与方法。

    运营类需求:这类需求一般功能简单,但具有传播范围广,用户基数大的特点。这类需求测试时应重点关注其基本功能正常,服务端性能满足活动预期要求同时也要满足不同用户使用手机或者浏览器的兼容性测试。

    配置类需求:这类需求的典型特征是根据后台配置,实现前台动态展示。对于这类需求又要细分为新建配置类需求测试和变更配置类需求,对于变更配置类需求在测试时只需要考虑主流程就可以了,对于新建配置类需求的测试就相对复杂的多。

    (2)业务用例分类

        测试过程本身是一个抽样检测的过程,如何用最少的用例覆盖最多的场景,发现最多的缺陷。就需要对测试需求和测试用例区分优先级,根据不同的测试要求选取对应的测试用例,实现用最少的用例覆盖最多的测试场景。测试用例分级在各个公司都有应用,在此不再详细阐述。

    (3)产品运营策略

    产品的运营策略不同,对质量投入的成本也有所差异。按照运营类型不同,可分为自运营产品、托管运营类产品、客户运营产品、用户运营产品等等。下面简单的用事例说明

    用户运营类产品:比如Office 、ERP等产品,这类产品早期都是以光盘方式售卖,然后安装在客户的PC上或者服务器上;如果出现问题召回成本巨大,对于这类产品一般产品质量投入的就比较大,投入测试资源较多,测试较为充分,测试时间相对较长。

    而对于自运营产品,比如淘宝、京东等产品,对于服务端功能,可以做到24小时随时上线,那么一般在功能测试的投入相对就较少。

    2.异常缺陷

    异常缺陷是指部分特殊用户使用时才能够发现的问题,比如某些特定手机机型上出现的显示问题等。异常缺陷的要做到更多的被发现,一般采用增加测试类型,或者通过缺陷库和缺陷模型,然后在测试时对照缺陷库或者缺陷模型进行测试。

    质量模型

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

    比如一个服务端测试,除了正常的功能测试、性能测试、安全性外,常常需要增加稳定性测试和伸缩性测试。

    而对于移动端客户端测试,除了正常的功能测试、客户端性能测试、兼容性测试,很多情况下还需要增加对稳定性测试。

    对于模型参照测试,主要是应用以前的测试经验,通过对业务分析或者对缺陷进行根因分析形成测试缺陷库或者缺陷模型库,在测试过程中通过对比缺陷库或者测试模型库中的易错点进行专项测试,尽可能发现常规手段发现不了的缺陷。如图所示

    缺陷模型

    3.注入缺陷

    注入缺陷,指通过外界介入的方式才能发现的缺陷。要发现注入性缺陷一般成本较高,需要模拟注入难度一般来说比较大;常见的注入行测试,比如服务端性能测试、服务端伸缩性测试、数据库注入测试、安全测试等等。

    比如服务端性能测试,通过模拟大量客户端像服务器端发送请求,通过模拟比现实使用时更多的请求量来预防线上不可预测的瞬时大量访问。

    伸缩性测试:在业务运行过程中增加或者减少应用服务器的方式,模拟扩容和机器故障导致的异常问题。

    4.随机缺陷

    随机缺陷具有不确定性,缺陷在某些未知条件下才能够发生或者出现。随机缺陷一般发现的难度非常大;对于随机缺陷如果发现,建议同步给项目组所有成员留意该问题,进而继续跟踪发现该缺陷。经过长期测试与实践发现随机缺陷大多因为编码不规范造成的一种偶发缺陷;建议通过代码扫描和代码review的手段解决此类问题。静态代码扫描这个方法已经被大部分公司使用并实践证明是一种高效的测试方法。代码Review更多的是使用在开发之间,测试Review开发代码貌似是个比较新鲜的事情,但起到的效果确是让人意想不到的好。简单的聊聊我们原来上家公司的一些实践。

    流程:在需求评审后,开发人员在代码完成后提交代码,开发人员先对测试人员进行代码逻辑讲解,测试人员根据测试需求分析的业务逻辑对开发人员的代码逻辑进行询问,开发人员进行基本答疑,之后测试人员进行代码Review,主要应用白盒测试的方法进行测试与验证。

    好处:

    1.提高质量意识,开发人员需要和测试人员进行讲解和沟通,无形中会重视代码质量与代码逻辑的正确性;

    2.开发人员在讲解代码和测试人员代码询问期间,很容易发现其开发代码的逻辑问题;

    3.提高测试人员代码能力,在Review开发代码过程中,学习开发相关知识,提升其技能;

    4.提高整体测试效率和代码质量,该方法是结对编程的一个变种。

    以上通过对缺陷分类,然后给出不同的测试策略,进而进行实践发现更多的缺陷,从而提高产品质量。

    注:本文测试缺陷分类思想参照杨晓慧老师大作《软件测试价值提升之路》。有兴趣可购买查阅。

    2019年连续十六天修心 土司于北京

    相关文章

      网友评论

          本文标题:全面的质量保障体系之发现缺陷

          本文链接:https://www.haomeiwen.com/subject/jglprqtx.html