自动化测试详解(二)

软件开发各阶段的自动化技术

1.单元测试自动化

  1. 用例框架代码生成的自动化;
  2. 部分测试输入数据的自动化生成;
  3. 自动桩代码的生成;
  4. 被测代码的自动化静态分析;
  5. 测试覆盖率的自动统计与分析

2.WebServicec测试自动化

Web Service测试,主要是指SOAP API和REST API这两类API测试,最典型的是采用SoapUI或Postman等类似的工具。但这类测试工具基本都是界面操作手动发起Request并验证Response,所以难以和CI/CD集成,于是就出现了API自动化测试框架。

就是api自动化测试

基于代码的API测试用例

  1. 准备API调用时需要的测试数据;
  2. 准备API的调用参数并发起API的调用;
  3. 验证API调用的返回结果。

目前最流行的API自动测试框架是REST Assured,它可以方便地发起Restful API调用并验证返回结果

Web Service测试“自动化”

  1. 测试脚手架代码的自动化生成;
  2. 部分测试输入数据的自动生成;
  3. Response验证的自动化;
  4. 基于SoapUI或者Postman的自动化脚本生成

3.GUI测试自动化技术

  • 对于传统Web浏览器的GUI自动化测试,业内主流的开源方案采用Selenium,商业方案采用Micro Focus的UFT(前身是HP的QTP);
  • 对于移动端原生应用,通常采用主流的Appium,它对iOS环境集成了XCUITest,对Android环境集成了UIAutomator和Espresso。

有留言分享 : Rest-assured是一个非常适合,非常好用的API开源测试框架,我已经在我们项目里基于Spring-boot,Rest-Assured,Ccucumber开发了一个标准通用的微服务API自动化测试框架,我们项目里的所有微服务API都可以基于框架快速高效的在各个测试环境无缝切换进行自动化测试,并且完全集成到了公司的CICD Jenkins平台,以前从开发到单元测试,FVT测试,UAT测试,回归测试到MTP需要3天左右时间的Size的Story,现在相同工作量Size的Story只需不到一天时间就可以全部完成,期间除了产品代码开发和少部分特殊数据的准备,部分新增用例的开发外,全部都是在Jenkins上自动完成。


测试覆盖率

测试覆盖率通常被用来衡量测试的充分性和完整性

一类是面向项目的需求覆盖率,另一类是更偏向技术的代码覆盖率。

代码覆盖率

代码覆盖率是指,至少被执行了一次的条目数占整个条目数的百分比。

统计代码覆盖率的根本目的是找出潜在的遗漏测试用例,并有针对性的进行补充,同时还可以识别出代码中那些由于需求变更等原因造成的不可达的废弃代码。

高的代码覆盖率不一定能保证软件的质量,但是低的代码覆盖率一定不能能保证软件的质量。

代码覆盖率指标

  • 行覆盖率又称为语句覆盖率,指已经被执行到的语句占总可执行语句(不包含类似C++的头文件声明、代码注释、空行等等)的百分比。这是最常用也是要求最低的覆盖率指标。实际项目中通常会结合判定覆盖率或者条件覆盖率一起使用。
  • 判定覆盖又称分支覆盖,用以度量程序中每一个判定的分支是否都被测试到了,即代码中每个判断的取真分支和取假分支是否各被覆盖至少各一次。比如,对于if(a>0 && b>0),就要求覆盖“a>0 && b>0”为TURE和FALSE各一次。
  • 条件覆盖是指,判定中的每个条件的可能取值至少满足一次,度量判定中的每个条件的结果TRUE和FALSE是否都被测试到了。比如,对于if(a>0 && b>0),就要求“a>0”取TRUE和FALSE各一次,同时要求“b>0”取TRUE和FALSE各一次。

代码覆盖率工具

JaCoCo是一款Java代码的主流开源覆盖率工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值