互联网软件测试程序员有道测试

测试分层

2017-03-23  本文已影响45人  IT老李

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

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

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

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

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

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

此模型:

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

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

此模型:

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

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

此模型:

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

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

上一篇 下一篇

猜你喜欢

热点阅读