zoukankan      html  css  js  c++  java
  • [转载]谈谈自动化测试框架之一:为什么要搭建测试框架

    和一般的软件项目一样,自动化测试框架的开发是由自动化测试需求决定的,这个需求包括:一、自动化测试更便于实施,二、解决自动化测试脚本本身的存在的问题,如异常处理和场景恢复,三、弥补测试工具本身的不足或是特殊测试需求,四、测试易于维护。

    自动化测试过程包括三个要素:输入、获取输出结果、预期结果与实际输出结果比较。

    首先是输入,这包括测试数据和测试步骤两部分。测试数据可以直接与测试步骤一起直接写在脚本里,也可以独立与代码通过参数传递到测试中。测试步骤是自动化测试的主体,它完全依赖软件的行为。软件输入的随意性使软件行为难以确定,这大大提高了测试脚本的难度。而软件本身存在的缺陷或是系统响应时间等问题都可能导致测试脚本执行失败。我们测试中无法考虑到所有软件异常,且我们的测试脚本也不可能处理所有异常情况,因此我们需要针对脚本本身做异常处理。

    获取输出结果,并将其与预期结果比较是自动话测试的另一个重点,相对与输入对软件的依赖,这个过程则是偏向于计算和比较,需要较高的编码能力。在测试项目中,测试结果经常的获取不像手工测试那么容易,而且验证规则比较复杂,有时一个校验点需要数十行甚至几百行代码才能完成。在自动化测试中,很多功能函数是通用的,且对于同一个项目,经常需要重复做这相同的事情。这样,设计一些公共函数对整个脚本的开发工作和维护工作是大有裨益的,不仅可以大大减少编码量,而且可以提高脚本的正确性和可维护性。

    因此我们可以通过测试框架为我们:第一,处理脚本中一些异常和错误处理工作;第二,实现一些通用的功能,简化脚本开发的过程。

    然而对于自动化测试,我们不能一个脚本一个脚本的去执行测试,而希望我们能够自如的实施测试,比如在测试需求文档中设定是否要实施自动化,以测试需求文档、测试用例为输入,自动化测试框架完成测试后就会给出测试结果。

    这要求测试框架还要为我们:第三,根据需求驱动测试执行;第四,测试场景恢复;第五,测试结果输出。当然,我们的需求可能还不止这些,需要测试框架为我们做更多的事情。

    ----夫英雄者,胸怀大志,腹有良谋,有包藏宇宙之机,吞吐天地之志者也。
  • 相关阅读:
    问题.NET--win7 IIS唯一密钥属性“VALUE”设置为“DEFAULT.ASPX”时,无法添加类型为“add”的重复集合
    java传统web项目添加maven管理jar包,log4j无法正常输出日志
    TortoiseSVN设置Beyond Compare为版本比较、差异合并工具
    Win10以管理员身份启动cmd.exe
    SprinMVC中文件上传只在内存保留一份拷贝
    maven项目运行报错invalid LOC header (bad signature)
    c#编写windows服务在开机是OnStart启动超时
    centos安装mysql
    CENTOS7配置静态IP
    @__CheckForDebuggerJustMyCode@4
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6521031.html
Copyright © 2011-2022 走看看