精华内容
下载资源
问答
  • 越来越多项目再将手工测试转为自动化测试来提高生产效率和覆盖。 启动自动化测试最关键一步是—–选择合适测试用例并计算ROI(投资回报) 你可以从这边文章学到什么? 在文章中,根据我以往经验,我将如何...

    现在是自动化测试时代。越来越多的项目再将手工测试转为自动化测试来提高生产效率和覆盖率。
    启动自动化测试最关键的一步是—–选择合适的测试用例并计算ROI(投资回报率)
    你可以从这边文章学到什么?
    在文章中,根据我以往的经验,我将如何选择正确的自动化用例的关键点记录了下来,并将影响ROI的一些因素也裂了出来,一球获得较好的测试结果和获取较大收益。
    在这里插入图片描述

    为什么要做自动化测试?
    自动化测试不是万能的,而且它也取代不了手工测试,它是手工测试的一种补充方式。和手工测试类似,自动化测试也需要适当的规划、监控和控制。自动化测试,若是执行合理,会团队,项目,甚至整个组织来说,都是一项资产。
    自动化测试有很多的优势;现在我把一些重要的列出来:

    • 对执行一些常规用例来说,如冒烟测试和回归测试来说很有效;
    • 对准备数据很有效;
    • 执行一些包含复杂业务逻辑的用例很有效;
    • 对跨平台的用例很有效(比如不同的OS,或浏览器等)
    • 执行一些手工执行很难执行的用例;
    • 执行一些迭代次数不确定的用例。
    • 很长一段时间,老板们只是把自动化测试当成手工测试的一项辅助工具,重要的是要明天自动化测试时提高生产效率,提高产出率和测试覆盖率的最好方式。相比手工测试的费时和可能引入认为的错误来说,自动化测试不止节约时间,还可以提高用例重复执行时的准确率。
      自动化测试用例候选集
      要避免的基本错误:
      一个测试人员经常犯的错误是没有选择合适的自动化测试用例。
      不是所有的测试套都适合自动化的。需要对每个测试用例的ROI进行分析。首先,我们需要找到获取最高收益产出率的方法。
      ROI-收益产出率—计算成本,效率和质量的公式。
      这里没有什么是正确的自动化用例的统一标准。这取决于你正在测试的应用。
      基于我的经验,我总结了我的经验来获得最大的ROI。
      可以点击How to Translate Manual Test Cases into Automation Scripts? 查看如何将手工测试用例转换成自动化脚本
      怎样选择合适的自动化测试用例
      第一步:
      确定自动化测试用例的评测参数
      现在,我确定的参数如下,你可以基于你自己的应用来确定你自己的参数。
    • 用例执行时需要不同的数据集
    • 用例执行时需要不同的浏览器
    • 用例执行时需要不同的环境
    • 用例执行时依赖复杂业务逻辑
    • 用例执行时需要不同的用户集
    • 用例包含大量的数据
    • 用例是独立的
    • 用例需要特殊数据
      第二步:
      将应用分成模块级别。对于每一个模块,根据上面提到的评测参数分析是否适合做自动化测试用例。下面的列表你可以改一下拿来用。
      在这里插入图片描述
      对于其他的模块,操作也是类似的。
      第三步:
      将不同模块的自动化用例合并在一个表格中
      在这里插入图片描述
      上图很简明易懂。下面我会量化一些细节,然后对用时进行估算。
      第四步:
      当你都将这些粒度性的信息详细列出来后,你可以将他们这些列在表格中,然后计算ROI
      在这里插入图片描述
      我们在计算ROI时,需要考虑到以下点:
    • 买工具或者买整数的开销;
    • 开发脚本的时间
    • 维护脚本的时间
    • 人工或自动分析执行结果的时间
    • 训练资源的时间和金钱花费
      自动化测试ROI计算例子:
      大多数情况下,计算ROI是考虑5年期的,但不绝对。根据上面提到的,我们来计算5年期的ROI。你可以对此做下调整。
      在这里插入图片描述
      ROI=(累计收益/所有的投入)*100
      手工转自动化测试—过程中有哪些挑战 Manual to Automation Testing – What are the Process Challenges?

    我在自动化一个测试套时,将遇到的一些大的挑战记录如下:

    **#1.自动化需求.**每个测试团队都是独一无二的,对自动化的需求也是独特的。我们不可能开发出一个标准,但是我们可以定一个适用的准则。鉴于此,自动化需要管理人员及开发团队的支持。

    #2将应用完全自动化,100%自动化是个大的挑战。之所以不太可能,是因为她需要相当合理的规划和监督以及需要时间。有n个认证和属性需要验证,有数据的多项排列组合需要验证,因此自动化时需要考虑策略,如何将这些都覆盖进来。

    #3. 手工和自动化思维: “我们一般将重要的和重复性的工作自动化,但是我们将重要的功能手工测试。”觉得很困惑?我也困惑,但是这是事实。我们需要定个规则来确定什么是重要的测试用例。这些参考标准可以是有复杂的业务逻辑,客户特别感兴趣的功能,容易出bug的地方等。
    #4.考虑测试框架:设计自动化测试框架是自动化话测试时中最重要的方面。比起脚本来,在设计自动化框架上更应该多花心思。涉及框架,做个框架的组成清单。当框架足够健壮时,写脚本和维护才会变得容易。
    #5.团队的知识构成。当我们想到自动化时,我们直接就跳到学习编程语言或脚本语言上了。学些编程语言确实有用,但是更多的重点应该放在构建和维护逻辑上。自动化不是少数人的责任,而是整个团队的责任。这不止可以提升少数人的技能,也可以激发他们的动力。
    #6. 报告:每个工具对测试报告都有标准。定制它是一项大的挑战。测试报告需要整合和维护,这也增加了成本。
    #7.信任。我们需要信任自动化测试人员。我们花了工时来写自动化测试套,但是我们不相信测试结果。我们还需要维护自动化测试用例。我们需要将测试该应用的功能测试人员加入到自动化测试中来,因为他们更懂应用。大多数情况下,自动化团队是单独出来的,其他的功能测试团队不关系自动化测试脚本,跑完用例就结束了,因为他们觉得跟进脚本增加了他们的工作量。
    可以看=> 手工和自动化的挑战。

    结论:

    大多数情况下,我们喜欢将回归用例自动化(在敏捷环境中这有些挑战)因为回归用例包含大量的用例,我们可以将这些回归用例分解成多个小的测试套,然后在不同的环境下运行不同的测试用例。假设一个回归用例集含有1500条用例,我们可以分成3个用例集,每个用例集含有500条用例,然后分别自动化。
    相比完全自动化,我们可以选择逐步自动化。也就是说,我们可以根据原型模型来涉及自动化用例集。创建一个结构或框架,刚开始开始时只写少量的自动化用例,然后逐步加入用例来完善它。
    自动化测试也要遵循戴明环(PDCA闭环)。作为一项持续活动,重心应该放在搭建一个合理的框架,这样在维护或新增功能时会比较容易。它需要来自管理层和研发团队的支持。我们要鼓励功能测试团队来做大部分的自动化测试工作因为他们是最懂产品的人。

    关于作者:Shilpa Chatterjee Roy.专注测试领域8.5年
    英文原文: https://www.softwaretestinghelp.com/manual-to-automation-testing-process-challenges/

    展开全文
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    第1章 声明和初始化 ...6.23 sizeof返回的大小是以字节计算的怎样才能判断数组中有多少个元素呢? 第7章 内存分配 基本的内存分配问题 7.1 为什么这段代码不行?char*answer;printf("Typesomething...
  • 但在发送窗口和接收窗口共同作用下可以在数据传输时提高对信道利用。那么到底应当怎样看待发送窗口作用? 问题3-8:在关于数据链路层工作原理叙述中,经常会见到两个不同名词——“丢失”和“丢弃”。...
  • *1.26 main的正确定义是什么?void main正确吗? 15 1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。这是为什么? 15 1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。这是...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    *1.26 main的正确定义是什么?void main正确吗? 15 1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。这是为什么? 15 1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。这是...
  • 但局部轨迹却不简单,它关系到一个动作的正确与否,你会跑不代表你就能很好的表现"跑步"这个动作,然而这是基础中的基础,首先要理解关节,关节是一环套一环,这也是骨骼动画的基础,我用图解来说明,然后你试着结合实际去...
  • 你必须知道495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    1.9 main() 的正确定义是什么? void main() 正确吗? . . . . . . . . . 4 1.10 对于没有初始化的变量的初始值可以作怎样的假定?如果一个全 局变量初始值为“零”, 它可否作为空指针或浮点零? . . . . . . . 4 ...
  • 数学试题虽然千变万化,其知识结构却基本相同,题型也相对固定,往往存在一定解题套路,熟练掌握后既能提高正确率,又能提高解题速度。 <br> 数学考研题重要特征之一就是综合性强、知识覆盖面广,一些稍有...
  • o 2.9 main() 的正确定义是什么? void main() 正确吗? o 2.10 对于没有初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为 ``零", 它可否作为空指针或浮点零? o 2.11 代码 int f() { char a[] =...
  • 虽然汽车时速并没有提高(这相当于比特在信道上传播速率没有提高),但整个高速公路运输能力却增多了,相当于能够传送更多数量比特。这种比喻合适否? 问题1-13:如果用时延带宽积管道来比作传输链路,那么...
  • 2.3.3 正确率能否很好地评估分类算法 25 2.3.4 什么样分类器是最好 26 2.4 逻辑回归 26 2.4.1 回归种类 26 2.4.2 逻辑回归适用性 27 2.4.3 逻辑回归与朴素贝叶斯区别 27 2.4.4 线性回归与逻辑回归区别 27 ...
  • 任务:把存储、检索、共享和保护文件手段,提供给操作系统本身和用户,以达到方便用户和提高资源利用率的目的。 功能: ---分配与管理外存 ---提供合适存储方法 ---文件共享、保护,解决...
  • CruiseYoung提供带有详细书签电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle Database 11g数据库管理艺术(涵盖DBA必知必会所有数据库管理知识) 基本信息 原书名: Expert Oracle ...
  • 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) 三、 问答题 1. 什么是需求分析?需求分析阶段的基本任务是什么? 答: 需求分析是当前软件工程中的...
  • 1.3 开发数据库应用的正确(和不正确)方法 10 1.3.1 了解Oracle体系结构 11 1.3.2 理解并发控制 19 1.3.3 多版本控制 22 1.3.4 数据库独立性 28 1.3.5 怎么能让应用运行得更快 42 1.3.6 DBA与开发人员的关系...
  • 数据运营思维导图

    2018-04-26 14:24:22
    如何选择正确的渠道优化投放 需要根据渠道来细分不同渠道获取用户成本 了解用户成本 活跃用户 DAU(日活跃用户) 定义 每日登录过游戏用户 解决问题 了解游戏核心用户规模 了解游戏产品生命周期变化...
  • 2019数据运营思维导图

    2019-03-29 21:34:09
    付费率的高低并不代表付费用户增加和减少 游戏类型不同,付费有较大差异 生命周期 定义 一个用户从首次进入游戏到最后一次参与游戏之间时间间隔 一般计算平均值 14日LTV(新用户后续付费能力指标) 名词定义...
  • 5.4 校准显示器的正确方法(硬件校正) 5.5 获取与屏幕匹配的专业打印效果的其他秘诀 5.6 打印 第六章 颜色校正秘诀 6.1 颜色校正前的两项预备操作 6.2 数码相机图像的颜色校正 6.3 即时拖放颜色校正 6.4 影棚人像校正...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0039 在函数定义中正确使用var 25 0040 如何实现类转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类方法 27 0043 如何实现函数重载 28 0044 类中多态应用 28 0045 将函数作为...
  • 0039 在函数定义中正确使用var 25 0040 如何实现类转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类方法 27 0043 如何实现函数重载 28 0044 类中多态应用 28 0045 将函数作为...
  • 0039 在函数定义中正确使用var 25 0040 如何实现类转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类方法 27 0043 如何实现函数重载 28 0044 类中多态应用 28 0045 将函数作为...
  • 0039 在函数定义中正确使用var 25 0040 如何实现类转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类方法 27 0043 如何实现函数重载 28 0044 类中多态应用 28 0045 将函数作为...
  • 0039 在函数定义中正确使用var 25 0040 如何实现类转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类方法 27 0043 如何实现函数重载 28 0044 类中多态应用 28 0045 将函数作为...
  • 0039 在函数定义中正确使用var 25 0040 如何实现类转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类方法 27 0043 如何实现函数重载 28 0044 类中多态应用 28 0045 将函数作为...
  • 什么是实用技巧,就是... (6)最近一次的正确配置:选择“使用‘最后一次正确的配置’启动 Windows XP”是解决诸如新添加的驱动程序与硬件不相符之类问题的一种方 法。用这种方式启动,Windows XP只恢复注册表项 ...

空空如也

空空如也

1 2 3
收藏数 45
精华内容 18
关键字:

怎样提高计算的正确率