• 自动化测试理论


    软件系统分层:
    (UIL)用户界面层为终端用户提供交互的人机界面
    (BLL)业务逻辑层:将数据库抽象出来的对象进行拼接成具体的业务逻辑对象,并对之进行流程组织
    (DAL)数据访问层:对DB层做的ORM,让上层应用程序以对象的方式操控数据库
    (DBL)数据持久层:存储数据
     
    自动化测试的目标方向:持续交付(自动化测试》持续集成》自动化部署》持续交付)
     
    测试自动化金字塔(分层测试):UI测试(10%),接口测试(20%),单元测试(70%)。测试覆盖率:单元测试》接口测试》UI测试
    界面层次主要关注用户体验问题,尽量由产品经理或者设计师来做相关用户体验测试。界面层不宜做过多功能测试,更不要做过多自动化的功能测试,因为成本高,收益低。
    单元测试:测试数据和逻辑的正确性,关注代码的实现与逻辑
    接口测试:测试接口的数据和逻辑的正确性,关注数据、逻辑、接口结构
    UI测试:验证页面逻辑和展示的正确性,关注用户操作行为
     
    自动化测试的本质:
    测变化的东西对不变的东西的影响,每次代码有变动,就立即开始持续集成。可以第一时间发现更新后的版本对现有功能的影响。帮助开发更快的迭代,提升开发效率。
     
    自动化用例选择:
    做自己技术胜任的需求稳定的重要模块的正常功能的测试用例。

    模块选择以技术能实现>重要程度>变化频率这样的方法来挑选。开始做之前筛选重要的模块,然后把技术不能实现的剔除掉,然后把变化频率大的剔除掉。剩下的就是你要做的模块了。先易后难,先完成再完美。

    代码写接口自动化(5个步骤):
    1. 引入第三方库2. 设置请求URL/请求方式/请求头/请求超时时间3. 设置请求正文(即请求参数)4. 执行请求5. 响应正文断言伪代码实现:1. `import HTTP`2. `HTTP.setURL("http://192.168.1.1/api/v1").setMethod("POST").setContentType("application/json").setConnectTime(20)`3. `HTTP.setBody("{\"name\":\"zhangsan\"}")`4. `Response res = HTTP.execute()`5. `Assert.assertEquals(res.body.contains("success"))`
     
    自动化测试使用原则:
    原则1:针对重点业务,进行回归或冒烟(主要功能--功能通》流程自然通)的自动化测试
    原则2:针对稳定的业务或接口,在环境比较稳定的情况,前期投入脚本开发,有利于减少后期维护成本
    原则3:自动化测试主要是为了保证主要功能完整可用,而不是为了多发现缺陷
    原则4:自动化测试并不能减少测试的人力成本,而是为了加快测试反馈,提升测试质量
    原则5:不要对录制回放抱有幻想,可视化也不是一个好的想法
    原则6:开发参与自动化测试,让开发和测试融合在一起
     
    自动化测试框架参考模型:
     
    测试框架:
    测试框架是一套完整的解决方案。一般包括如下的功能:
    1. 标注测试方法。有的是在方法上加个注解,表示是测试方法,有的是方法名在test开头。2. 测试方法执行前置条件设置。比如beforeMethod/setUp,表示在执行测试方法前需要执行的方法,比如事先生成一些测试数据,亦或事先设置好请求条件等。3. 测试方法执行后置条件设置。比如afterMethod/tearDown,表示测试方法执行完成后会被执行的方法,比如清理测试方法产生的数据,或者关闭请求连接啊等。4. 断言。断言是测试的灵魂,所以测试框架中的断言是必备功能。5. 测试方法的执行。测试框架都会提供批量执行测试方法的方式,并提供命令行来批量执行,因为只有具备命令行批量执行,才能进行持续集成6. 测试聚合报告的生成。测试框架一般都会给我们生成一个简单的聚合报告。7. 扩展性。一些测试框架会提供给我们一些监听,让我们去获取数据后进行扩展,比如获取报告数据来自定义报告。比较有代表性的是java上的testNg.
    持续集成(jenkins)的工作流程:1. 拉取被测系统代码2. 自动部署被测系统3. 拉取脚本最新代码4. 执行脚本产生报告5. 自动邮件发送报告
    持续集成的最大作用:提高效率,持续测试
  • 相关阅读:
    洛谷 P4160 [SCOI2009]生日快乐 题解
    洛谷 P1041 传染病控制 题解
    洛谷 P3154 [CQOI2009]循环赛 题解
    洛谷 P1144 最短路计数 题解
    洛谷 P2296 寻找道路 题解
    洛谷 P1514 引水入城 题解
    洛谷 P2661 信息传递 题解
    洛谷 P3958 奶酪 题解
    洛谷 P3501 [POI2010]ANT-Antisymmetry 题解
    【LGR-069】洛谷 2 月月赛 II & EE Round 2 Div.2 A-C题解
  • 原文地址:https://www.cnblogs.com/seamy/p/15648807.html
Copyright © 2020-2023  润新知