音乐网站首页设计,网页设计代码模板适应手机界面,xampp做网站可以吗,获奖类网站建设推广策划案自动化测试的优势
能够极大地提升测试的效率#xff0c;测试人员可以迅速地在指定平台部署测试脚本且对相应功能进行测试。
“弱化”了软件测试人员个体差异对测试结果的影响。
提高整个测试团队的技能水平。
自动化测试的缺陷
自动化测试的缺陷在于#xff1a;总是按照…自动化测试的优势
能够极大地提升测试的效率测试人员可以迅速地在指定平台部署测试脚本且对相应功能进行测试。
“弱化”了软件测试人员个体差异对测试结果的影响。
提高整个测试团队的技能水平。
自动化测试的缺陷
自动化测试的缺陷在于总是按照既定的流程往下走不能像人一样随机应变。一旦功能发生变动就需要重新维护测试脚本。
自动化脚本的关键
要开发一套高质量的测试脚本并不是简单的录制/回放而是需要满足以下特点 能够有效发现产品缺陷 有良好的可读性和错误日志能够方便测试人员快速定位问题所在 能够稳定、重复、独立地运行经过严格的审查流程 经过充分的脚本验收流程
在开发测试脚本的时候需要时刻记得脚本的目的是暴露问题任何在运行脚本时抛出的异常都有可能是产品问题产生的因此需要避免在代码中隐藏问题。
一个好的自动化脚本的开发人员首先必须是一个好的测试人员只有对需要测试的产品非常熟悉才能够开发出真正有效的测试脚本。
如何提高测试脚本的可维护性这就要求脚本有详细的错误日志和可读性。
如何提高测试脚本的稳定性这就要求测试脚本能够具备运行独立性和可重复性。
当一个脚本运行失败后可能的原因有如下几个方面 由于产品本身的缺陷导致脚本执行失败 由于测试脚本本身存在的缺陷导致误报 由于测试环境搭建产生的问题导致失败
不幸的是在一个项目中真正由于产品缺陷导致的脚本执行失败所占的比率并不高测试人员往往花费大量的时间去解决脚本缺陷和测试环境导致的失败。
因此在开发测试脚本的时候需要注意 环境搭建和数据加载后需要有明确验证步骤如果数据加载失败及时中断脚本运行且提示出错原因 对于每一个验证点需要在日志里输出实际值和期望值若验证失败在日志里详细描述 尽量不要在程序里捕捉有可能出现的异常应该将异常暴露给用户使测试人员能够清楚地知道异常产生的位置
如何有效提高脚本的可读性 通用的代码编程规范 充分利用测试代码中的注释 将测试描述和测试代码分离
如果没有保证测试用例执行的独立性就可能产生如下问题 由于所有用例之间的关系紧密某一个用例执行失败导致了后续一系列用例的执行失败 增加了测试人员解决脚本问题的难度用例失败测试人员难快速定位问题原因 测试人员无法从中选取部分测试用例单独运行
自动化测试框架
一个设计良好的自动化测试框架能够很方便地帮助测试人员开发高质量的自动化测试用例。
在开发一个自动化框架之前首先需要考虑该框架需要满足什么样的要求。
一套自动化脚本的运行周期中主要完成了以下工作 测试环境配置 执行待测试的用例 测试结果的记录 测试环境清除 测试报告生成
这些过程也构成了设计一个自动化框架的最原始的功能需求。
一个设计良好的自动化测试框架应该具备 提高测试用例脚本开发效率--如何能够方便测试人员开发测试用例能够做到数据和执行过程分离 具有完善的环境搭建的支持--让测试人员更加关注测试业务逻辑部分代码的开发 具有完善的测试结果汇报功能--让测试人员更好地测试业务逻辑
我们需要将环境准备的工作在测试自动化框架的层面进行实现具体来说需要实现以下功能 测试环境的搭建和测试数据的清除 测试用例脚本的执行调用 执行结果报告的生成
在设计这样的自动化测试执行引擎时首先需要考虑的是平台无关性。
制定自动化开发时间点时需要考虑的因素
不要在产品不稳定的时候开发自动化初期缺陷较多手动测试也可以熟悉产品发现原有测试计划的不足和覆盖率缺失问题。
将测试脚本用于回归测试中功能相对稳定且计划也得到了较好的优化。
首先开发通用task前期重点
测试自动化脚本应该基于一个相对稳定的测试环境下且依照成熟的测试计划进行开发。如果初期开发大量自动化脚本往往会导致后期大量的脚本返工量反而降低了效率。
自动化测试的选取
自动化测试分为UI测试和API测试两大类API测试属于更高层的测试方式和单元测试相比它更贴近用户的操作。
GUI测试往往采用录制/回放的方法最大程度模拟用户操作站在用户的角度去发现问题和最终用户的行为联系紧密。但往往比预期要困难因为UI设计变更会增加自动化测试复杂度因此GUI测试适用于当UI界面趋向于稳定的时候。
API测试通过直接调用软件产品的外部接口来验证返回是否符合预期但无法覆盖到界面UI的显示正确性。API接口往往不会有频繁的变化能够减少后期测试脚本维护的工作量。
根据产品特点可以采取不同方式去实施API测试既可以直接调用产品暴露的API也可以通过模拟用户的HTTP请求来调用服务器端的Service。
测试脚本的验收
当完成脚本开发之后为了保证脚本的高质量交付需要制定高效的脚本评审流程和验收流程。
产品代码清晰描述了某个功能点能够通过直观的检查确定功能是否完成。 自动化脚本明确描述了测试流程、需要检查的功能点以及期望结果。
一套能够永远毫无差错运行的脚本不一定是高质量的脚本因为这也有可能是由于脚本没有发现产品的问题。
自动化脚本评审分成代码评审和功能点评审两大方面。
代码评审 代码是否符合代码规范 代码的扩展性如何 阅读代码是否能清楚知道每个测试用例的测试步骤 是否能很好地暴露脚本运行时发现的问题
功能点评审 关注代码是否涵盖了所有的功能验证点测试步骤和验证点是否和测试计划保持一致
测试脚本的验收就是为了确保脚本的用户能够顺利地运行这套脚本。
如果说评审是为了保证代码的质量和功能点的涵盖验收流程确保了自动化脚本的运行稳定性和可重复性。
自动化脚本验收 应当由非脚本开发者且具备中等技能的测试人员实施 支持跨平台的产品应覆盖到不同平台 不仅仅关注脚本的运行是否顺利也要关注日志是否详细是否有助于定位问题 验收中发现的任何问题应该由脚本开发者负责解决
自动化测试的稳定性
测试自动化脚本的稳定性直接决定了测试的效率。
影响自动化测试脚本的稳定性因素 脚本中对某些输入参数的硬编码这是影响脚本稳定性最重要的因素。 脚本等待时间硬编码在开发脚本时机路的等待时间未必就是将来测试环境中的运行时间 跨平台问题不同的操作系统或者数据库可能存在不同因此必须在多个平台上进行测试。
如何权衡手动测试和自动化脚本开发的关系
对于比较稳定的测试项目可以考虑在编写测试计划的时候同步编写脚本测试计划的作者同时也是测试脚本的开发者这将极大提高自动化开发的效率但前提是每一个测试人员都具有自动化脚本开发的能力。
环境搭建和数据准备工作不会有频繁的变更可以考虑在项目初期先完成这部分的自动化工作。
把握测试自动化的度。
用公式平谷自动化脚本开发的必要性
脚本开发执行成本脚本开发工作量(平均调试脚本工作量平均执行脚本工作量)*每产品周期执行次数
手工执行成本平均手工执行工作量*每产品周期执行次数
ROI脚本开发执行成本/手工执行成本
如果这个ROI比例在5以内则说明需要用5倍的工作量去开发自动化脚本。换句话说这套脚本如果未来执行了5次我们就把成本赚回来了以后每运行一次我们就能盈利一次。而如果某功能点的手动测试需要半天时间而我们需要花费1个多月的时间去开发自动化脚本这个比例就在60以上了也就是说以后要运行60次以上才能收回成本。 B站最完整Python接口自动化测试进阶教程合集真实模拟企业项目实战看完这套就够了