如何构建Web服务自动化测试系统?

发表于:2019-7-25 11:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小飞侠fayer    来源:简书

  1. 目的
  保证版本功能正确、性能符合要求。
  包括功能测试性能测试两部分,其中性能测试包括:压力测试、单个运行时间测试。
  测试scope包括前端页面和后端API功能。
  2. 测试分类
  测试级别:单元测试、集成测试、接口测试系统测试、验收测试
  测试方法:动态测试、静态测试;黑盒测试、白盒测试、灰盒测试。
  测试类型:上述19种
  构建自动化测试系统中,需要根据项目大小和对错误的容忍程度,酌情补充不同类型和级别的用例。
  3.经典测试金字塔
  Manual Test:手工测试/探索性测试
  GUI: 系统测试及验收测试
  API: 集成测试
  Unit Test:单元测试
  从下到上,效率更高,运行速度更快,详细scope如下:
  单元测试(Unit Tests)
  单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试
  测试阶段:编码后
  测试对象:最小模块
  测试人员:白盒测试工程师或开发工程师
  测试依据:代码和注释+详细设计文档
  测试方法:白盒测试
  测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
  集成测试(Integration Testing)
  集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。阿旺主要目的是检查软件单位之间的接口是否正确。
  测试阶段:一般单元测试之后进行
  测试对象:模块间的接口
  测试人员:白盒测试工程师或开发工程师
  测试依据:单元测试的模块+概要设计文档
  测试方法:黑盒测试与白盒测试相结合
  测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响
  系统测试(System Testing)
  将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段
  测试阶段:集成测试通过之后
  测试对象:整个系统(软、硬件)
  测试人员:黑盒测试工程师
  测试依据:需求规格说明文档
  测试方法:黑盒测试
  测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
  验收测试(Acceptance Testing)
  验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。阿旺总结验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。
  测试阶段:系统测试通过之后
  测试对象:整个系统(包括软硬件)。
  测试人员:主要是最终用户或者需求方。
  测试依据:用户需求、验收标准
  测试方法:黑盒测试
  测试内容:同系统测试(功能...各类文档等)
  4. 构建测试系统中可能出现的问题及方案
  1.UI测试时间长,稳定性差,与页面设计耦合严重
  罗列已有的功能,可能会改的,重点进行API测试,尽量减少UI测试
  页面设计使用唯一性id
  2.前期项目构建,unitest太少,但此时代码又有修改的风险
  先补充API测试、基础模块、重要功能的测试。
  代码出现bug, 必须补充unitest。
  3.后端代码未面向接口编程,不利于打桩(如:函数内部数据直接从数据库查询获取,测试函数功能时,无法模拟数据库数据,强烈依赖数据库)
  重构,并在之前补充测试用例
  结论
  测试流程:unitest-intergration-system
  1.unitest:
  数量:50%。
  测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。
  实现 :pytest/打桩
  触发:重构/新增需求更改/Bug
  测试级别:component、intergration、function
  功能:保证每个模块内部功能正确和模块的交互之间接口正确
  2.api:
  数量:30%
  测试内容:针对页面所有重要REASTFUL进行测试,包括功能和性能测试
  实现:katalon+jemeter
  触发:有新的REASTFUL接口发布
  测试级别:bvt、intergration、function、performance
  功能: 保证系统功能正确且性能满足要求
  3.UI test:
  数量:10%
  测试内容:主要覆盖用户主要的使用场景,不做对各个元素的点击功能验证(因为,一旦页面不响应,定位解决更快)
  实现:katalon UI 测试
  触发:用户有重要的新加配置流程,一般不触发
  测试级别:systerm、intergration
  功能:保证用户使用正常
  4.manual test:
  数量:10%
  测试内容:针对本次修改点对应的功能进行重点测试
  实现:手工测试
  触发:每个迭代的新增功能和bug及探索性测试,有必要的话,需要对应增加上述自动化用例

      上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号