• 多测师讲解 自动化测试理论(1)_高级讲师肖sir


    自动化测试理论
    什么是自动化测试?
    广义的:通过工具或程序替代或辅助人工测试的行为叫自动化测试
    狭义的:通过工具录制或编写脚本模拟手工测试的过程,通过回放或运行脚本执行测试用例,从而代替人工对系统的功能验证。

    分层自动化测试
    金字塔模型:UI层,接口层,单元测试层。大多数人认为自动化测试就是产品UI自动化测试,其实不是的。UI自动化测试只是3层中的最上一层,操作简单,投入比例少,价值最低,我们倡导根据产品开发阶段分别进行自动化测试
    UI层:关注模拟用户操作
    接口层:关注函数,方法提供的接口是否可靠
    调用函数或方法,进行传参,查看返回值是否正确。
    接口测试通过url进行传递,通过get方式向服务器发起请求,服务器接收请求,返回值是否正确
    单元测试层:主要关注代码实现逻辑

    投入比例和价值体现
    UI接口自动化:投入10%,全面UI自动化测试不现实,考虑人力,时间,资金投入,维护成本高(页面元素层级改变),价值低。但又并不可少,UI层直接呈现给用户。
    接口自动化:投入20%,价值居中。
    单元测试自动化:投入70%,价值最高,需求变动不大,如果有,也是直接增减用例。

    自动化测试的必要性
    目前测试行业的普遍现状
    手工测试的人员占测试行业80%,主要还是测试入门门槛低,虽然测试人员对专业知识有一定的广度,但缺乏深度,这也是开发自认清高的原因。目前手工测试人员已经有一定的饱和,初级,门槛低,技术含量低等各种标签,那么被淘汰的可能性也会相应的增加,要想不被淘汰,那么提升自己就很有必要了。自动化测试就是一个很好的选择。

    什么项目适合做自动化测试
    需求变动不频繁
    每一次需求变动,需要更新测试用例和测试脚本,脚本的维护本身就是一个花费时间的过程,比如修改,调试都会花很多时间。
    项目周期时间长
    需求的确定,测试框架的设计,用例的编写,调试需要相当的时间去完成
    自动化脚本重复使用
    自动化脚本根据项目本身,c/s,,b/s不同的架构,选择的自动化工具也可能不同。最重要的是脚本可以在以后的日子里重复使用,如果只是一次性的,那就失去了原本的价值。

    选择什么工具做自动化测试
    看你做什么项目,是桌面程序(c/s架构)web应用(b/s架构)
    C/s架构 测试工具:QTP autorunner
    B/s架构 测试工具:QTP Autorunner robotframework watir selenium
    目前流行robotframework和 selenium,selenium支持多语言。 如果选择了selenium ,那么就需要学习一门语言,selenium支持多语言开发,java,c#,rube,python,php.

    了解selenium
    Selenium1.0
    Selenium是一个开源的web功能测试工具。selenium核心是用javascript写的。通过javascript代码注入与浏览器进行交互。javascript全程管理测试流程,例如导入套件,执行用例,记录执行结果。Javascript与浏览器进行通信,浏览器执行,模拟用户真实的操作,包括浏览页面,点击链接,输入内容,提交表单等事务,从而达到自动化测试目的。

    selenium是一个工具,这个工具分1.0,2.0,3.0,三个版本。
    Selenium的组成
    SeleniumIDE
    一个浏览器插件,实现浏览器录制回放功能。
    Selenium Grid
    并行执行用例,通过一台主机控制用例在不同的环境,浏览器中运行
    seleniumRC
    核心,编写测试脚本,通过seleniumRC服务器作为代理服务器访问应用达到测试目的。
    SeleniumRC组成
    Seleniumclient,seleniumserver
    seleniumclient编写测试脚本,seleniumclient库控制seleniumserver库。
    Seleniumserver分launcher,http proxy,core
    launcher:发射器,用于启动浏览器,把core加载到浏览器页面中,并把服务器代理设置selenium server的http proxy.
    http proxy: seleniumserver 代理
    Core:js函数集合

    Selenium2
    Selenium2=selenium1+webdriver
    Selenium2核心是webdriver, webdriver取代了seleniumRC.
    Webdriver和seleniumRC的区别

    SeleniumRC核心是selenium Core,把core,也就是js函数,加载到浏览器页面中,使用js执行selenese命令,webdriver是使用原生api进行封装成selenium webdriver api直接控制浏览器。两者最大区别就是一个采用js代码注入浏览器页面技术,一个是用原生api进行封装成selenium webdriver api 控制浏览器。

    学习selenium需要学习元素定位方法
    元素定位提供了id,name,classname,tagname,link text,partial link text,xpath,css定位方法。还有javascript,jquery,xpath,css使用较难,但功能强大。
    定位元素的目的是操作元素。例如输入框,下拉框,按钮点击,文件上传,对话框,单选多选按钮。
    当用例写的多了,会发现很多关键字都是常用的,有些步骤都是重复的,就会学习案例分层。
    当用例写的多了,维护脚本就成了问题,那么就会把所有变量提取出来,统一放在一个变量文件中。这样方便脚本维护
    用例是流水线的,自己执行的用例如何判断执行成功了,那么就会学习脚本中一些验证和断言。

  • 相关阅读:
    Appium学习实践(二)Python简单脚本以及元素的属性设置
    Appium学习实践(三)测试用例脚本以及测试报告输出
    Appium学习实践(一)简易运行Appium
    Appium学习实践(四)结构优化
    js中对小数取整的函数
    C#基础 面试中常出现的问题
    repeater中的删除按钮实现
    js对fck编辑器取值 赋值
    jQuery对select操作
    进制转换(二进制 八进制 十进制 十六进制)
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13745923.html
Copyright © 2020-2023  润新知