- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
哪种方法最适合自动化?是数据驱动测试还是关键字驱动测试?现在,即使我们已经进行了业务流程测试,根据您的最佳选择是什么?
最佳答案
这完全取决于您的需求。
作为一项长期投资,我建议使用关键字驱动或混合关键字/数据驱动框架。
请参阅下面的简短概述(摘自我的博客页面http://automation-beyond.com/category/automation/automation-methodology/practices/)。
前端测试自动化实践–记录/播放
描述
•硬编码数据
•硬编码流程
•无错误处理
•没有报告或报告数量有限
•无结构
•无验证
•没有验证
优点
•易于创建
•快速创建
•无需编程
缺点
•极低的可用性
•极高的维护成本
•无验证测试结果
•失败时休息
•测试流程覆盖率低
•仍然需要大量的手工工作
适用性
•演示和销售演示
•当日测试(从头开始重新记录,测试流程短)
•探索性测试(调查测试工具如何处理应用程序)
•自动数据输入(有限制)
前端测试自动化实践–增强了记录/播放
描述
•参数化数据
•数据集是脚本的一部分,但不在代码中
•通过GUI检查点进行验证(硬编码)
•硬编码流程
•无错误处理
•没有报告或报告数量有限
•无结构
优点
•易于创建
•快速创建
•无需编程,但必须具备测试工具的专业知识
缺点
•脆弱的脚本
•不支持多环境
•检查站的维护成本非常高
•测试结果不可重复
•失败时休息
•有限的测试流程范围
•所有分析和验证均手动完成
适用性
•单一/稳定的环境
•短流程测试用例
•有限的检查点集,因为任何数据库/数据输入更改都会破坏验证并需要重新捕获
•短期简化的自动化目标
前端测试自动化实践–数据驱动框架
描述
•以编程方式创建
•参数化,能够导入电子表格
•GUI /数据库检查点,经过硬编码和/或参数化
•基于图书馆的结构
•可能的错误处理
•硬编码但数据驱动的流程(输入和逻辑)
•标准报告
•验证仅限于测试工具的功能
•没有验证
优点
•良好的可用性和可重用性
•良好的测试流程覆盖率
•多环境支持
•数据和代码分开
•可重复的测试结果
缺点
•质量和覆盖范围在很大程度上取决于实施人员的自动化技能
•由于大量代码而导致的持续维护问题
•失败退出
•需要手动验证
适用性
•非常适合于单个应用程序测试,具有多环境,大数据集,并且很少更改测试用例的特点
•批量运行,需要额外的开发工作
•有限的检查点集,因为任何数据库/数据输入更改都会破坏验证并需要重新捕获
•在所需的团队工作空间(环境,数据等)之间共享(离岸支持可能出现的问题)
•中期自动化目标
前端测试自动化实践–关键字驱动的框架
描述
•以编程方式纯
•参数化,能够导入电子表格
•GUI /数据库检查点,经过硬编码和/或参数化
•基于框架的结构
•有限的错误处理
•基于关键字的流程(电子表格中的逻辑和数据)
•可能扩展报告
•验证仅限于测试工具的功能
•没有验证
优点
•良好的可用性和可重用性
•紧凑的代码
•测试开发不需要编程技能
•良好的测试流程覆盖率
•多环境支持
•数据和代码分开
•可重复的测试结果
缺点
•需要初步投资来设计和实施框架
•由于关键字限制,因此无法涵盖非常复杂的测试用例
•需要为员工提供针对特定语言的培训
•版本控制问题
•失败退出
•需要手动验证
适用性
•非常适合用于多应用程序测试(同一平台),具有多环境,大数据集以及大量简短的测试用例
•测试计划/测试方案执行(批量运行)
•有限的检查点集,因为任何数据库/数据输入更改都会破坏验证并需要重新捕获
•为分布式团队提供更好的支持,尤其是在实施扩展报告的情况下
•对元语言的多工具支持
•中长期自动化目标
前端测试自动化实践–混合关键字/数据驱动框架
描述
•以编程方式纯
•内部数据模型,能够从各种来源导入/导出数据
•GUI /数据库检查点,已参数化/已转换
•业务验证规则
•基于框架的结构;能够集成外部对象(即MSXML DOM)
•异常处理和恢复功能
•面向测试用例的执行(代码之外的业务逻辑)
•数据驱动的输入和验证
•扩展业务报告
•基于AI的验证方法
优点
•高可用性和可重用性
•紧凑且可扩展的架构
•创建测试计划/测试方案不需要在测试工具上进行编程或培训
•广泛的测试流程覆盖
•多应用支持
•数据和代码分开
•可重现和证明的测试结果,方便且可转移的测试报告
•内置的一致性和严重性验证
缺点
•需要初步投资来设计和实施框架
适用性
•针对多应用,多平台产品的全面功能测试,具有大量复杂的测试用例
•烟熏回归健康测试周期,涵盖范围广且经过验证
•测试计划/测试方案执行(批量运行)
•大而多变的数据集和数据过渡案例
•对分布式团队的出色支持
•与其他测试工具集成
•中长期自动化目标
关于testing - 自动化测试方法-哪个最好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/594403/
所以这只是一个好奇的问题。 如果我想退回单位,哪个更好? |> ignore 或者 () 应该还有其他方法。考虑到这些,我只想知道什么是最好的: 什么是性能最高的 生产环境的最佳实践是什么 什么是长期
我如何(最好)将方法调用返回的Option转换为Try(通过首选项,尽管Either或scalaz \/甚至是Validation都可以),包括在适当时指定Failure值? 例如,我有以下代码,虽然
我读了第一本关于 C# 的书,但对 LINQ 完全一无所知。请推荐对读者友好的 linq Material 。 谢谢 最佳答案 LINQ in Action已经有好几个人向我推荐了。 关于c# - 从
这个问题已经有答案了: How to create a template in HTML? (3 个回答) 已关闭 7 年前。 我正在寻找一种将一个 html 文件包含在另一个 html 文件中的最佳
我有一个在线注册,可以将数据保存到托管的 mssql 数据库中......基本上我想做的是在本地服务器上运行日常例行程序,就像 Insert into Home.tableA Select * fro
我有文本文件要加载到数据框中。加载后,这些值都在一列中,格式如下: 0 Alabama[edit] 1 Auburn (something somethign) 2 Florence (somethi
例如:我有一个带有外键的“历史”表,它可能根据字段值指向不同的表/实体。 表历史: create table history( id int PimaryKey AUTO_INC, e
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我有业务对象(DEVELOPERS WRITE)和一些 SPROCS(DBA WRITE) 谁能推荐一个好的对象映射器来处理这种设置。 我尝试了 codesmith 和 nhibernate,但遇到了
我应该测试 if 某事是否有效,还是只测试 try 来执行它并捕获异常? 是否有任何可靠的文档表明首选一种方法? 还有一种方式 pythonic? 例如,我应该: if len(my_list) >=
在 Java 中遍历字符串字符的一些方法是: 使用 StringTokenizer? 将 String 转换为 char[] 并对其进行迭代。 最简单/最好/最正确的迭代方式是什么? 最佳答案 我使用
我是一个真正的 Erlang 新手(1 周前开始),我正在尝试通过创建一个小而高效的聊天服务器来学习这种语言。 (当我说高效时,我的意思是我有 5 台服务器用于对数十万连接的客户端进行压力测试 - 一
这个问题已经有答案了: How to access the correct `this` inside a callback (15 个回答) 已关闭 5 年前。 我正在使用 NPM 包 prompt
到目前为止我已经做了一些测试(例如 RPC)接下来我来到多分页部分,到目前为止我读到的内容中有很多选项: MVP、布局、UIbind。 现在我真的不知道该选择哪个,哪个既简单又好。 我尝试清除我的根面
我们正在寻找我们能找到的最好的基于 jQuery 的用户界面库。它不一定是免费的。人们在使用什么? 我们使用过jQueryUI ,但发展似乎已经停滞。很长一段时间以来没有太多新东西。 jQuery T
我是 OpenCL 编程的初学者。我的 PC 装有 Windows 8.1,配备英特尔显卡和 AMD Radeon 7670。当我搜索下载 OpenCL SDK 和示例 helloworld 程序时,
我从人们那里得到的印象是...除非与 process.nextTick 一起使用,否则所有 JavaScript 函数都是同步的。什么时候使用它最好? 我想确保我不会在不需要它的地方过度使用它。在这一
我有一个单词列表,我想对其进行过滤,这样我就只有该单词列表中的名词(使用 Java)。为此,我正在寻找一种简单的方法来查询单词数据库的类型。 我的问题是有没有人知道一个免费、简单的单词查找 API,它
我想开发一个新的 iPhone 应用程序,我之前开发了一个应用程序,但被应用程序商店拒绝了,因为我使用的 StoryBoard 在之前的 iOS 4.3 中不起作用,所以我改用了 XIB。 现在最低版
我正在尝试制作注册表,我只想在其中注册特定域的电子邮件。例如我只想注册来自 companyX、companyY、companyZ 的电子邮件。 因此可接受的电子邮件将是:- myname@compan
我是一名优秀的程序员,十分优秀!