前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何构建Web服务自动化测试系统?

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

作者头像
顾翔
发布2019-12-12 13:23:46
1.1K0
发布2019-12-12 13:23:46
举报
文章被收录于专栏:啄木鸟软件测试

来源:51testing

 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及探索性测

试,有必要的话,需要对应增加上述自动化用例

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档