测试分层

作者: IT老李 | 来源:发表于2017-03-23 13:58 被阅读45次

    在我们工作和生活的场景中,解决复杂的问题,一般是通过分解分层的方式,将复杂的问题化解为简单的、独立的小问题去解决。比如,以下是比较明显的几个:
    1)网络的七层协议
    2)网站数据存储等相关服务、业务逻辑、UI展示等纵向分层;大规模业务的横向分割
    3)电脑的硬件、操作系统、应用软件等

    测试看似简单、入门容易,做好实则很困难,同时也是个相对复杂的工作。 困难主要是要求测试人员知识的广度、深度以及逻辑分析能力、快速学习的能力等;复杂是指测试工作涉及到的除了项目本身的需求,还有很多隐式需求需要测试人员去发掘并在测试过程中去关注。比如行业的规范、友商的实现、针对不同类型客户的差异、流行元素的趋势等等。

    为了完成一个产品的测试,业界也是采用各种不同的方式、通过不同的角度来划分测试层次、组织测试活动。

    下面从分层的角度对几个典型的测试组织方式进行说明:

    经典的开发测试模型
    图片来自网络

    如上图所示,在经典的瀑布模型中,根据产品的开发流程,将测试分为单元、集成、系统、验收测试:
    单元测试关注功能模块内部的实现;
    集成测试关注功能模块之间的配合;
    系统测试关注产品作为一个整体对客户、行业的满足情况;
    验收测试一般由客户进行,验证产品是否满足其需求。

    此模型:

    1. 针对开发的不同阶段进行测试组织
    2. 单元、集成、系统测试由产品开发、测试团队完成,而验收测试一般由用户自行完成;
    3. 各测试活动测试的对象不同,关注点也不同,基本没有重复性的投入,最终产品质量取决于每个环节工作质量的高低;
    4. 各测试活动顺序进行,适合于对时间不敏感的项目;
    移动/互联网行业的测试方式
    图片来自网络

    单元、组件、接口、UI均自动化测试;
    手工主要进行探索式测试、性能测试等;
    灰度发布也算是测试的一种形式;

    此模型:

    1. 根据测试对象进行分类;当然也可以进一步细分服务器端、客户端
    2. 自动化为主,效率较高;与互联网的业务类型有关,要求快速上线快速迭代
    3. 测试人员具备与开发人员类似的知识体系,当然还要具备测试思维
    4. 自动化的用例占测试工作量的一部分,大部分用例还是没有被自动化的
    5. 开发质量保证、部分用例自动化保证关键功能;与用户试用相结合的一种快速迭代的质量保证方式
    有公共平台的嵌入式软件采用的模式:平台、产品、鉴定

    平台关注各产品的通用功能;
    产品关注驱动、产品对应的市场应用;
    鉴定独立于平台和产品,从质量的角度发现缺陷,以第三方的角度评判产品的质量

    此模型:

    1. 没找到合适的图片,各测试活动之间的关系看字面意思应该能明白
    2. 针对不同的测试对象(平台、产品),设置不同的测试活动
    3. 平台、产品、鉴定之间是有重复投入的,要考虑投入产出比
    4. 鉴定测试在产品质量提升过程中,有一定的阶段性意义,产品质量稳定后,其存在性有疑问
    5. 鉴定、产品、平台形成问题反馈链,推动测试质量不断提升

    测试组织形式无所谓好坏,适应公司的开发方式、产品发布节奏,能逐步提升测试的工作质量,继而能够提升产品的质量,就是好的测试组织形式。

    相关文章

      网友评论

        本文标题:测试分层

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