自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
1. 自动化测试的前提条件
  实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:
1) 软件需求变动不频繁。
  测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。
项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。
2) 项目周期足够长。
  由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。
3) 自动化测试脚本可重复使用。
  如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。
  另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。
2. 自动化测试的过程
  自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架(软件过程中的概要设计),设计与编写自动化脚本(详细设计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)。
  1) 自动化测试需求分析。
  当测试项目满足了自动化的前提条件,并确定在该项目中需要使用自动化测试时,我们便开始进行自动化测试需求分析。此过程需要确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便于自动化测试框架的建立。
  2) 自动化测试框架的搭建。
  所谓自动化测试框架便是像软件架构一般,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。
  而根据自动化测试用例,我们很容易能够定位出自动化测试框架的典型要素:
a. 公用的对象。
  不同的测试用例会有一些相同的对象被重复使用,比如窗口、按钮、页面等。这些公用的对象可被抽取出来,在编写脚本时随时调用。当这些对象的属性因为需求的变更而改变时,只需要修改该对象属性即可,而无需修改所有相关的测试脚本。
b. 公用的环境。
  各测试用例也会用到相同的测试环境,将该测试环境独立封装,在各个测试用例中灵活调用,也能增强脚本的可维护性。
c. 公用的方法。
  当测试工具没有需要的方法时,而该方法又会被经常使用,我们便需要自己编写该方法,以方便脚本的调用。
d. 测试数据。
  也许一个测试用例需要执行很多个测试数据,我们便可将测试数据放在一个独立的文件中,由测试脚本执行到该用例时读取数据文件,从而达到数据覆盖的目的。
  在该框架中需要将这些典型要素考虑进去,在测试用例中抽取出公用的元素放入已定义的文件,设定好调用的过程。
3) 自动化测试脚本的编写
  该编写过程便是具体的测试用例的脚本转化。初学的自动化测试人员均会使用录制脚本到修改脚本的过程。但专业化的建议是以录制为参考,以编写脚本为主要行为,以避免录制脚本带来的冗余、公用元素的不可调用、脚本的调试复杂等问题。

转载于:https://www.cnblogs.com/yinrw/p/9449352.html

自动化测试实施的前提条件相关推荐

  1. 互联网+和创业潮,互联网+前提条件是什么?互联网+做什么?

    在大众创业,万众创新的大浪下,凭着对新技术的敏感和青春激情,创业新军不断涌现....  互联网+创业浪潮, 如雨后春笋......,互联网+渗透每个人的心中. 创业不是赶时髦,而是一条非常孤独,艰难的 ...

  2. C++核心准则边译边学-I.6 表达前提条件最好使用Expects()

    I.6: Prefer Expects() for expressing preconditions 表达前提条件最好使用Expects() Reason(原因) To make it clear t ...

  3. 民企员工股权激励的前提条件

    民营企业员工持股的积极作用自不待言 , 但是 ,实行员工持股需要一定的前提条件. 第一 , 企业要有相对完善的法人治理结构和监督机制 , 这有利于规范员工持股行为和保障员工持股权益.近些年来 , 民营 ...

  4. 程序基石系列之C++多态的前提条件

    准备知识 C++中多态(polymorphism)有以下三个前提条件: 必须存在一个继承体系结构. 继承体系结构中的一些类必须具有同名的virtual成员函数(virtual关键字) 至少有一个基类类 ...

  5. App自动化测试实施中的技术挑战

    一次编写多处运行的动态化容器技术给研发效率带来了极大的提升,但对于依旧需要多端验证的测试流程来说,在效率层面却面临着极大的挑战.本文围绕动态化容器中的动态布局技术,阐述了如何通过可测性改造来帮助达成提 ...

  6. 浅谈:OA软件实施推广的前提条件和策略

    单位/企业/组织通过OA软件需求规划.选择.开发和测试,正式进入实施推广阶段,这是最后一个关键环节,这个环节决定了OA软件实施能否广泛应用于企事业单位的全体人员中.OA软件实施推广不是一个简单的技术问 ...

  7. Exchange2010各角色对软件环境的前提条件

        最近一直在弄Exchange2010的测试,先是beta,后来又是RC,刚刚又在MSDN拿到了RTM..POC算是完了一大半,后续还有一些分布式.高可用方面的测试.. 近两天看到不少朋友也打算 ...

  8. Dataguard配置前提条件

    Data Guard配置前提条件 配置Data Guard必须保证以下前提条件: 1.Data Guard是Oracle企业版的组件.Oracle标准版里没有这个控件.所以Data Guard配置所使 ...

  9. 自动化测试实施流程与规范

    一 目的:基于Selenium 自动化回归测试解决方案. Selenium简介:ThroughtWorks 公司一个强大的开源 Web 功能测试工具系列,包括Selenium-IDE.Selenium ...

最新文章

  1. .NET中添加控件数组
  2. python装饰器原理-Python装饰器原理与用法分析
  3. python自动答题软件_广东开放大学(广开)线上作业自动答题python-selenium
  4. 天刀现在最新服务器,天涯明月刀8.21服务器更新公告
  5. strcpy()函数一个简单那程序来了解一下它。。
  6. ACL访问控制列表【笔记|实验】
  7. ❤️今天,该让 python 上个热门❤️
  8. Linux下监测GPU温度指令
  9. android开机动画修改实战(bootanimation)
  10. 安卓游戏广告加速插件_大杀器一款超级良心的免费游戏加速器,PC、安卓、iOS都可使用...
  11. 数字锁相环matlab仿真,锁相环仿真_MATLAB仿真程序代码_二阶锁相环仿真过程
  12. 汉字编码及显示原理总结
  13. 域名解析TTL是什么意思 TTL值设置为多少合适?
  14. 矩阵A的值域空间和其零空间
  15. 研发质量管理工作经验总结(四)----QA的价值
  16. 使用pip/pip3安装第三方模块,出现Cannot unpack file xxx的问题的解决以及pip安装速度慢或出现readtime out问题的解决。
  17. MongodDB集群设置登录账号密码(增加key-file以供集群内部相互验证身份)
  18. Mind the Box: $\ell_1$-APGD for Sparse Adversarial Attacks on Image Classifiers
  19. pytorch搭建卷积网络(以minist数据集为例)以及如何查看输出每层的权重和特征图
  20. jupyter执行显示error解决办法

热门文章

  1. Gradle Composite builds 扩展使用
  2. mac电脑循环次数多少算新_关于 MacBook 的电池问题,你了解多少
  3. MongoDb查询语句($ne $in )
  4. Fiddler抓包配置和使用(全网最详细教程)
  5. GNS与WireShark安装流程
  6. 在linux系统下暴力破解WiFi密码
  7. stack、queue和priority_queue
  8. 2023华中师范大学计算机考研信息汇总
  9. Shell 命令执行可视化和告警工具
  10. 千峰python线下培训