深度解析自动化测试流程(纯干货)

今天就通过这篇文章给大家深度解析一下自动化测试的流程。

自动化测试的流程和功能测试其实挺相似的,整个流程也是按照需求分析及测试计划阶段、测试设计阶段、测试执行和测试总结阶段,总结下来就是下面一张图,ppt中纯手绘,效果不好,大家见谅:

一、测试需求分析及计划阶段

自动化测试是要在手工测试之后进行的,也就是回归测试阶段,这时候其实是已经具备完善的功能测试用例啦,并且经过前期功能测试,系统版本也已经比较稳定啦,这就具备了自动化测试的必要条件,下面需要完成几个小任务:

1、抽样分析项目自动化测试的可行性

在进行项目自动化测试之前,第一步就是要确认其可行性,是否可以实行测试自动化。如果项目时间紧迫、项目周期短、项目需求变幻无常则建议和上级领导商议,不要开展自动化测试。想要开展自动化测试,还是应该遵循以下几个前提条件:

  • 软件需求变动不频繁
  • 项目周期足够长
  • 自动化测试脚本可重复使用

通过可行性分析后,接下来需要做一个demo ,使用选定的框架尝试识别页面元素,运行简易脚本,如果没问题,即可采用该框架对该项目进行自动化测试,常见的需要的验证的环境有:

  • WEB端的自动化测试采用python+selenium+unittest框架是否可行?
  • App端自动化测试采用Java+Appium+Junit框架是否可行?

2、测试需求分析

对系统的功能需求进行再次梳理,划分出可以进行自动化测试的需求,划分的标准一般是简单、重复性高、业务复杂度低的需求,这样便于我们快速地实现一个版本,从而建立推进自动化的信心。相反,选择了业务复杂的需求,则会花费大量的时间在脚本制作上,并且各种异常情况的处理,会严重打击我们推进自动化测试的积极性和信心,最后也就丧失了我们做自动化的初衷(自动化测试是不需要也没有必要做到 100%覆盖率的)。所以,在测试需求分析这个阶段,确定测试覆盖率以及自动化测试粒度、测试用例上的筛选等都是重点工作。

3、制定测试计划

理想情况下,测试始于测试目标和测试策略的建立,测试策略应满足测试目标的要求。管理层的测试计划包括评估完成所有测试活动的时间,测试活动安排及资源分配,控制测试过程以及跟踪整个测试过程所需采取的活动,这些高层次活动应该在项目开始前就实施,并贯穿项目的整个开发过程。

测试计划是测试过程中最重要的活动,包括如下活动:

  • 准入准出原则,确定什么时候可以开展自动化,达到什么标准,自动化项目可以结束
  • 测试范围,鉴别和确定测试需求的优先级
  • 进度安排,在什么时间交付什么成果
  • 人员安排,根据团队成员情况,技术好的复杂脚本实现;业务能力强的进行功能步骤拆解等
  • 风险评估,对项目过程中的风险进行预估

二、测试设计、开发阶段

本阶段主要的工作是测试用例的设计及脚本开发,一般情况下,我们是先进行测试用例的设计,在通过评定之后,保证测试用例已经覆盖了需求之后,再进行测试脚本的开发,这种方式是经过实践验证的,最为理想的做法。

1、测试用例设计

前面已经提到过,自动化测试用例不必从0开始,是完全可以从功能测试用例,通过筛选、简单修改就可以直接拿来用的,主要步骤为:

  • 筛选功能测试用例
  • 将其转化为自动化用例模板
  • 补充、修改不适于自动化的用例
  • 持续维护和优化自动化用例

筛选功能测试用例的标准参考如下:

  • 不是所有的手工测试用例都要转为自动化测试用例
  • 考虑到脚本开发的成本,不要选择流程太复杂的用例
  • 选择的用例最好可以构建成场景
  • 选取的用例可以是你认为是重复执行,很繁琐的部分
  • 选取的用例可以是主体流程,这部分适用于冒烟测试

在设计(补充、修改)自动化测试用例过程需要遵循的原则:

  • 一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器
  • 一个用例只验证一个功能点,不要试图在用户登录后把所有的功能都验证一遍
  • 尽可能少的编写逆向测试用例。
  • 用例和用例之间尽量避免产生依赖
  • 一条用例完成测试之后需要对测试场景进行还原,以免影响其它用例的执行

2、测试脚本开发

测试脚本开发包括创建具有可维护性、可重用性、简单性、健壮性的测试程序。同时要注意确保自动测试开发的结构化和一致性。根据已经开发好的测试用例,编写各个功能点的自动化测试脚本,并添加检查点,进行参数化。该过程还需要编写数据文件处理脚本、日志文件处理脚本、数据库处理脚本、公共检查点处理脚本等。

在脚本开发中,常见的模型有:

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[2\]中提到了使用Python进行自动化测试的相关内容。根据该引用,Python自动化测试的实现主要包括以下几个方面: 1. 使用requests和urllib模块进行接口请求:requests是一个常用的HTTP库,可以方便地发送HTTP请求和处理响应。urllib是Python内置的HTTP库,也可以用于发送HTTP请求和处理响应。 2. 使用优化后的unittest测试框架编写测试接口函数:unittest是Python内置的测试框架,可以用于编写和运行测试用例。通过编写测试接口函数,可以对接口进行自动化测试。 3. 使用HTMLTestRunner框架展示测试结果:HTMLTestRunner是一个用于生成HTML格式的测试报告的框架,可以将测试结果以易读的方式展示出来。 4. 使用ssl模块支持https协议的验证:ssl是Python内置的用于处理SSL/TLS协议的模块,可以用于支持https协议的验证。 综上所述,Python自动化测试的代码实现主要包括使用requests和urllib模块进行接口请求、使用unittest测试框架编写测试接口函数、使用HTMLTestRunner框架展示测试结果以及使用ssl模块支持https协议的验证。具体的代码实现可以根据项目需求和具体情况进行编写。 #### 引用[.reference_title] - *1* *3* [全网最详细的Python自动化测试](https://blog.csdn.net/m0_59164520/article/details/127340749)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [干货丨Python接口测试自动化实战及代码示例:含get、post等方法](https://blog.csdn.net/cky8792/article/details/100208822)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值