自动化测试脚本开发的几种策略

自动化测试策略?如何开展自动化测试? 功能测试自动化要点 1 什么时候开始使用自动化测试? 开始之前,要考虑5点 1.1 功能测试自动化类似软件开发过程 录制,回放是不能满足自动化测试的需求的,所以要测试人员掌握开发知识,和编程技巧。 1.2 功能自动化测试是个长期的过程 首先我们不能再短时间内有很多的测试成果,找到测试的BUG,自动化测试只有在长期的多次运行后才能体现出他的价值和作用。 其次开发出来的... 阅读详情

文章转自:http://blog.youkuaiyun.com/winterwinner/archive/2010/10/19/5951530.aspx

 

“录制回放”的方法是简单的,也是脆弱的,但是它的开发成本很低,然而维护成本很高,因此总体成本也会很高。使用先进的关键字驱动测试的方法,则维护成本会很低,但是开发成本会很高,因此总体成本也会很高。测试经理需要在这些方法中作出明智的选择,以便把总体成本尽量降低。(~说明几种方式是可以并行存在于同一个测试项目中的吧~)

编写脚本的方法
        不同的自动化测试脚本编写方法主要有:

   1. 线性的
   2. 结构化的
   3. 共享的
   4. 数据驱动的
   5. 关键字驱动的

线性脚本编写方法 (~此方法可以通过执行前备份数据库,执行完毕后恢复数据库的最原始方法来解决,低成本省时省力,但同样,这样做,也是一锤子买卖,极端情况下使用~)
        线性脚本编写方法是使用简单的录制回放的方法,测试工程师使用这种方法来自动化地测试系统的流程或某些系统测试用例。它可能包含某些多余的、有时候并不需要的函数脚本。

优缺点:

   1. 是一种非结构化的编程方式
   2. 测试用例由脚本定义
   3. 非常低的开发成本
   4. 测试人员所需要的编程方面的技巧几乎可以忽略
   5. 不需要计划、设计
   6. 测试数据在脚本中是硬编码的
   7. 脚本会很脆弱,因此维护成本会很高
   8. 没有公用的脚本,因此可能造成重复劳动

结构化脚本编写方法 (~略微强于第一种纯录制的方法~)
        结构化脚本编写方法在脚本中使用结构控制。结构控制让测试员可以控制测试脚本或测试用例的流程。在脚本中,典型的结构控制是使用“if-else”, “switch”,“for”,“while”等条件状态语句来帮助实现判定、实现某些循环任务、调用其它覆盖普遍功能的函数

优缺点:

   1. 是结构化的脚本编写方法
   2. 测试用例在脚本中定义
   3. 编程的成本要比线性脚本编写方法略为高一点
   4. 需要测试员的调整编码技巧
   5. 需要某种程度上的计划、设计
   6. 测试数据也是在脚本中被硬编码
   7. 因为相对稳定一点,所以需要相对少的脚本维护,维护成本比线性脚本编写方法的要相对低
   8. 除了编程知识外,还需要一些脚本语言的知识

共享脚本编写方法 (~开始强调方法、类等概念,增强复用性,降低开发成本~)
        共享脚本编写方法是把代表应用程序行为的脚本在其它脚本之间共享。意味着把被测应用程序的公共的、普遍的功能的测试脚本独立出来,其它脚本对其进行调用。这使得某些脚本按照普遍功能划分来标准化、组件化。这种脚本甚至也可以使用在被测系统之外的其它软件应用系统。

优缺点:

   1. 脚本是结构化的
   2. 测试用例在脚本中定义
   3. 开发成本相对于结构化脚本编写方法来说要降低一些,因为减少了很多复制的劳动
   4. 需要测试员的调整代码的编程技巧
   5. 由于脚本需要模块化,所以需要更多的计划和设计
   6. 测试数据也是硬编码的(~一套数据写死在脚本里~)
   7. 脚本维护和维护成本要比线性脚本编写方法的相对低

数据驱动脚本编写方法
        这种方法把数据从脚本分离出去,存储在外部的文件中。这样脚本就只是包含编程代码了。这在测试运行时要改变数据的情况下是需要的。这样脚本在测试数据改变时也不需要修改代码。有时候,测试的期待结果值也可以跟测试输入数据一起存储在数据文件中。

优缺点:

   1. 脚本是以结构化的方式编程的
   2. 测试用例由测试数据或脚本定义
   3. 由于脚本参数化和编程成本,这种方法的开发成本跟共享脚本编写方法比较要相对高
   4. 需要测试员较高的代码调整方面的编程技巧
   5. 需要更多的计划和设计
   6. 数据独立存储在数据表或外部文件
   7. 脚本维护成本较低
   8. 推荐在需要测试正反数据的时候使用 (~推荐对数据种类、格式验证要求比较严格的测试中使用~)

关键字驱动脚本编写方法
        这种方法把检查点和执行操作的控制都维护在外部数据文件。因此测试数据和测试的操作序列控制都是在外部文件中设计好的,除了常规的脚本外,还需要额外的库来翻译数据。是数据驱动测试方法的扩展。

优缺点:

   1. 综合了数据驱动脚本编写方法、共享脚本编写方法、结构化脚本编写方法
   2. 测试用例由数据定义
   3. 开发成本高,因为需要更多的测试计划和设计、开发方面的投入(~适合公司模式~开始可能入不敷出,但是随着时间和项目的进展效率会越来越高~)
   4. 要求测试人员有很强的编程能力
   5. 最初的计划和设计、管理成本会比较高
   6. 数据在外部文件存储
   7. 维护成本比较低
   8. 需要额外的框架或库,因此测试员需要更多的编程技巧 (~对人员要求比较严格~)

评价

         关于开发的成本

        随着脚本编写方法从线性到关键字驱动的改变,开发的成本不断地增加。

         关于维护的成本

        随着脚本编写方法从线性到关键字驱动的改变,维护的成本在降低。(~对于长期项目来说,降低维护成本~)

         关于编程技能要求

        随着脚本编写方法从线性到关键字驱动的改变,对一个测试员的编程熟练程度的要求在增加。(~对于人员的培养~)

         关于设计和管理的需要

        随着脚本编写方法从线性到关键字驱动的改变,设计和管理自动化测试项目的要求在增加。

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/winterwinner/archive/2010/10/19/5951530.aspx

基于selenium的自动化测试脚本编写-python 阅读详情

相关推荐

功能自动化测试的策略有哪些?

似乎所有团队都宣称敏捷、DevOps或持续集成/持续交付环境。为了在上述名词取得成功,自动化测试越来越有必要。在与软件测试团队一起工作时,经常会发生功能测试BUG的情况,需要制定均衡的测试策略。模仿用户体验的测试策略有其自身的成本。如果组织仍在手动进行功能测试,通过实施功能自动化测试可以显着降低成本。在进行软件交付项目时,我们最终将面临应该自动进行哪些测试以获得更高投资回报率的决定以及如何计算自动化测试的投资回报率?。另外,要使功能测试转向自动化,必须具有预定义的路线图和策略,以节省时间和测试维护。

MXB1220的博客 1234

10个常用的python自动化测试脚本

Python是一门功能强大的编程语言,不仅可以用于开发应用程序,还可以用于自动化测试。对于测试人员来说,掌握一些简单但实用的Python自动化测试脚本,可以提高工作效率并减少重复劳动。本文将介绍10个常用的Python自动化测试脚本,并提供实际接口自动化工作中的示例代码。

xiaoganbuaiuk的博客 1万+

【AutoDL + Langchain-Chatchat】从零构建高效本地 RAG 知识库问答系统:实战保姆级教程(含避坑指南)

本文详细阐述如何在AutoDL云平台,如何利用Langchain-Chatchat构建高效的本地RAG知识库问答系统,并深入解析RAG架构。从环境搭建到实战部署,从问题排查到性能优化,提供一份全面实用的指南,助力开发者快速构建智能问答应用。

拾光夕拾的博客 1803

如何设计自动化测试脚本?一文5个步骤带你从0到1设计

线性脚本设计方式是以脚本的方式体现测试用例,是一种非结构化的编码方式,多数采用录制+回放的方式,测试工程师通过录制+回访的访问对被测系统进行自动化测试,录制的脚本会产生某些冗余的代码内容或函数及脚本。

3088

基于STM32F4的NRF24L01驱动程序

基于STM32F4xx的NRF24L01驱动程序 提示:硬件平台基于STM32F427VIT6、NRF24L01模块 文章目录基于STM32F4xx的NRF24L01驱动程序前言一、NRF24L01简单介绍1,什么是NRF24L012,NRF24L01通信方法3,NRF24L01通信原理4,地址分配&通道分配问题二、STM32CubeMX配置三、添加底层文件1,添加.c/.h文件到工程中2,使用说明四,下载 前言 提示:本例程采用STM32CubeMX配置底层,采用硬件SPI方式驱动NRF24

qq_43603289的博客 2814

推荐系统(1):推荐系统评测

对于可以离线优化的指标,我个人的看法是应该在给定覆盖率、多样性、新颖性等限制条件下,尽量优化预测准确度。用一个数学公式表达,离线实验的优化目标是:最大化预测准确度使得 覆盖率 > A多样性 > B新颖性 > C其中,A、B、C的取值应该视不同的应用而定。

数据不会骗人 2527

4.1 手工编写第一个性能测试脚本

Hi,大家好,我是红杏,大家是不是也很想自己亲自制作一个完整的测试计划呢,赶紧进入第三部分,第一个测试计划。在这一部分,我会和大家先手工的方式创建一个简单的测试计划,然后再改用录制的方式创建一个测试计划,通过这两个例子,让大家快速对JMeter性能测试有个整体性的认识、下面我们开始编写第一个测试计划吧、 这次无论是手工还是录制方式,要实现的测试计划都是: 我们让4个用户先打开jmeter官网,然后...

caohongxing的博客 4458

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3987

自动化测试脚本详解

通常,测试脚本是一组指令,描述了应用程序的状态、操作以及所执行操作的预期结果。理想情况下,测试脚本的编写应足够好,以便任何可以阅读该脚本的人都可以重复使用。好的测试脚本应遵循Arrange、Act和Assert测试范式,该范例需要一个设置、操作以及对某个结果的验证。自动化测试脚本是下一个级别,在该级别中,脚本以编程方式执行设置和验证。将测试脚本转换为自动测试脚本可以节省时间、减少错误并作为软件的文档。

huace3740的博客 2938

泰森多面体Voronoi 3D-V5.0 功能介绍

Abaqus Voronoi3D

qq_34840441的博客 3364

基于改进Unet的多场景水果图像分割与分类研究

本文针对复杂场景下的水果图像分割问题,提出了一种改进Unet模型。通过构建包含8类水果、3种成熟度及多种干扰场景的数据集,采用ResNet50与MobileNetV3作为骨干网络,并在跳跃连接层集成CBAM注意力机制。实验表明,改进模型在测试集上达到91.6%的mIoU,推理速度提升23%,特别在重叠水果和低光照场景表现突出。研究为农业视觉检测提供了有效解决方案。

AI的内部世界的博客 304

提升自动化测试脚本准确性:六大实用策略分享

提升自动化测试脚本准确性:六大实用策略分享,Co-Project智能项目管理中的自动生成测试用例、测试脚本和测试报告功能,助力软件自动化测试效率。

CoCode888的博客 1129

YOLOv5改进 | 低照度检测 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)

本文给大家带来的2024.3月份最新改进机制,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations论文提出的CPA-Enhancer链式思考网络CPA-Enhancer通过引入链式思考提示机制,实现了对未知退化条件下图像的自适应增强。该方法的核心在于能够利用CoT提示对图像退化进行动态分析和适应,从而显著提升物体检测性能。

Snu77的博客 2222

如何制定「自动化测试策略」?

在探讨如何制定自动化测试策略之前,我们先来聊聊自动化的核心。质量不是测出来的:这意味着产品的质量是由其本身的设计和开发决定的,而不是通过测试后才得以保证。如果开发团队具备良好的单元测试和代码审查能力,理应不需要过多的手动测试。在技术债务和快速迭代的现实中,自动化测试成为了确保质量的一种较为有效方式。自动化是手段,不是目的:自动化测试的最终目标是提升人效和产品质量,而非单纯追求测试的自动化。过度关注自动化本身可能导致“为了自动化而自动化”的误区,忽视了其背后的真正目的。

blues_C的博客 1645

裂缝二维检测:裂缝的长度和宽度检测

这一节,我们需要去整合一下前面的代码,在进行长度和宽度的测量时,需要裂缝的类型、个数、面积的帮助。这一章是本专栏的核心部分。以上代码我均试过,由于本人能力有限,看不懂代码,最终还是没有采用,使用的是最普通检测宽度的方法,即求得骨架总长度后,用总面积求取平均宽度。

m0_62919535的博客 4242

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

自动化测试实施策略(自动化测试经验分享)

自动化测试一直都不是件容易的事。在研发团队广泛采用UI框架和敏捷开发来提升交付效率的今天,Web自动化测试变得愈发困难;Web开发过程中UI框架的广泛采用极大提高了开发效率和用户体验,也从技术的角度保障了敏捷开发的蓬勃发展。然而UI框架自动生成的海量页面源码却让原本就举步维艰的自动化测试变得雪上加霜:测试脚本的维护成本更大、回放稳定性更差、断言更困难。需根据具体的项目因材施教推进自动化测试,提高工作效率及提升软件质量,路漫漫而前行!!

monkey 2607

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

如何最好地制定自动化测试策略

尽管不能否认手动测试的价值,自动化测试的需求却在不断增长。。如何最好地制定自动化呢?在本文中,我将展示测试自动化策略的所有7个阶段中的一些最佳实践,希望这些对你能有所帮助。

2201_76100073的博客 1289

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

如何自动化测试QoS策略

自动化测试QoS策略是保障网络质量持续稳定的关键手段,尤其在容器化环境中需结合工具链与自动化框架实现。通过以上方案,可实现QoS策略的自动化测试覆盖率100%,测试周期从手动测试的数小时缩短至分钟级,且结果可量化、可追溯,大幅降低生产环境故障风险。

Made In SQL 1414

无脚本自动化测试

在当今的企业环境中,软件测试不再被视为不必要的投资;相反,它已经上升到一种需要而不是奢侈品的水平。随着市场的不断变化和竞争的加剧,企业必须做一些让他们与竞争对手区分开来的事情。为了使自己与众不同,公司必须提高效率、加速发展并以具有成本效益的方式提供质量。他们可以通过优秀的产品将他们的项目提升到一个新的水平。这增强了他们的潜在客户和当前客户对其产品的信赖,这可以通过强大的回归质量保证系统来实现。

600

自动化测试的回归策略!

自动化测试的回归策略是确保软件质量稳定和可靠性的重要手段。通过明确测试目标与范围、划分测试用例优先级、选择合适的自动化测试工具、编写或更新自动化测试脚本以及制定详细的测试计划等步骤,可以制定出有效的回归测试策略。在执行过程中,需要关注测试环境的搭建、测试结果的分析以及测试策略的持续优化等方面。通过不断学习和改进,我们可以更好地应对软件开发过程中的挑战,确保软件质量的持续提升。

m0_58026506的博客 1050

自动化测试策略与方法

自动化测试策略与方法

六月的雨 1213

【自动化测试】开展自动化测试的过程

文章目录1)自动化测试需求分析1.1 如何确定系统是否适合做自动化测试?周期较长:稳定系统:脚本可复用:*被测系统适合怎样的自动化测试?2)调研测试工具、测试框架2.1 框架的选择2.1.1 TestNG主要特点:TestNG的使用方法:2.1.2 unittest2.1.3 pytest2.1.4 Robot Framework特点:2.1.5 框架对比2.2 工具的选择2.2.1 UFT(QTP)特点:测试流程:2.2.2 Selenium它的优势:它的组成:Selenium IDE:Selenium

黑黑白白君的博客 1万+
上一篇: 自动化测试的数据框架
下一篇: 百度涉足招聘市场:猛挖51job智联墙角
jasonteststudy
博客等级 码龄16年 152粉丝 125原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值