美文网首页
自动化测试&持续集成

自动化测试&持续集成

作者: 9efb9af6eebe | 来源:发表于2019-12-17 18:34 被阅读0次

    1.问题思考
    A.什么是自动化?自动化分为哪几个?
    B.自动化测试是不是可信?
    C.自动化并没有解放我们?

    A.1:
    “手工测试”:
    如图可以,手工测试就是手动地去遍历被测软件的所有功能。


    image

    自动化测试:
    自动化测试就是让被测试的软件自己运行起来,执行软件的功能。


    image

    实际上我们所说的自动化测试就是通过编写一点的脚本,让被测程序按照编写好的路径遍历功能


    image

    事实上,自动化测试覆盖了从 UI (功能测试)到接口测试以及单元测试的整个过程,要想很好的掌握自动化测试,那么的确需要以下三种领域的经验积累:
    编程语言,面向对象编程优先,因为大量的开源技术方案,都是基于面向对象的编程方式
    第三方测试工具和测试框架,这些主要通过官网的文档学习
    测试的理念与设计,工具和语言,只是测试的手段,如何准备测试数据,如何设置测试的检查点与测试步骤,这些决定了测试的成败

    1,UI自动化(以selenium2为例)

    • 多浏览器支持
    • 多语言支持
    • 多操作系统支持
    • 开源免费
      image

    1,脚本运行之后打开指定的浏览起,接收测试脚本的命令
    2,webdriver操作浏览器(通过浏览器的原生组件,转化webserver命令为浏览器调用)
    3,用户操作web application过程

    手动功能测试:
    1.打开浏览器,输入网址
    2.找到账号输入框输入账号
    3.找到密码输入框输入密码
    4.点击登录按钮
    5.判断是否登录成功
    自动化测试
    最小测试case


    以及修改后只关心流程的代码


    测试报告


    接口测试:
    接口简介:
    用户登录平台
    接口地址:
    https://luoqingfu.cn/api/account/login
    请求类型:
    post
    请求参数

    参数名 类型 必填 描述 默认值 参考值
    device_type string 设备类型 web
    token string token值
    company_id string 组织id
    target string 账号 132xxxxxxxx
    password string 密码 123456
    target_type string 账号类型 1(手机号码)
    {
        "code": 1,
        "msg": "登录成功!",
        "data": {
            "token": "4baf601b78ebbc99a29bd97d604de65c879afc7e091b7ea209e3eb5f4e1aabee",
            "user": {
                "id": 2215,
                "mobile": "+86-132xxxxxxxx",
                "user_email": "",
                "user_type": 2,
                "user_login": "",
                "user_name": "",
                "user_nickname": "+8****2263",
                "qq_openid": null,
                "weibo_openid": null,
                "weixin_unionid": null,
                "sex": 0,
                "birthday": 0,
                "score": 0,
                "balance": "0.00",
                "user_status": 1,
                "avatar": "https:\/\/lqf.oss-cn-shenzhen.aliyuncs.com\/default\/avatar\/1.png",
                "signature": "",
                "last_login_ip": "219.137.186.204",
                "unique": "74f6f5718db0cd3d6f9fce8c8e8981f9",
                "im_token": "29266c5c935fdf4866a71458874cbe89",
                "more": [],
                "from_device_type": "web",
                "last_login_time": 1557851794,
                "create_time": 1556443720,
                "update_time": 1557851794,
                "delete_time": null,
                "wx_pay_openid": null,
                "has_company": 1,
                "company_id": 148,
                "company_name": "lqf"
            }
        },
        "runtime": 0.13,
        "time": 1557851968
    }
    

    接口测试:


    B:提高自动化的可信度
    1,失败重试机制
    2,自动化场景用例设计依据测试用例(完善场景)
    3,及时更新自动化用例
    4,更好的协作(自动化与手工相互补充,减少重复劳动)
    5,每天定时构建。

    C.自动化并没有解放我们?
    自动化与ci结合。
    场景:
    这里没改过啊,怎么出错了?不知道是哪一次提交影响到了

    什么是持续集成?
    持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起

    价值?
    (1) 减小风险(快速发现错误);
    (2) 减少手动过程;
    (3) 生成构建结果;

    成本?
    持续集成的成本在于对持续集成代码的维护成本和集成的时间成本。因为随着项目进行,软硬件环境会越来越复杂,成品代码也会不断膨胀。此时,需要团队而修改或增加原有的测试代码,以适应这些变化,同时,每次集成所需时间也会变长,这就是持续集成的成本。

    持续集成应该自动化什么呢?
    1.自动产生可部署的成品(android包,或者iOS包,或者docker镜像)
    2.自动将成品部署到环境中去
    3.自动的回归测试
    4.自动生成报告

    image

    选择一个ci平台?
    Jenkins。

    image

    Jenkins是一个独立的开源自动化服务器,可用于自动执行与构建,测试,交付或部署软件相关的各种任务。
    打包:

    image

    场景:昨天这个功能还是好的,今天怎么就出错了?(也可能是不知道什么就出错了)
    定时测试:

    image

    场景:需要手动更新平台代码。需要在电脑前等待

    部署-测试-结果

    image 报告.png

    以及消息通知:

    [图片上传失败...(image-1d57c1-1576578798461)]

    未完:持续交付

    相关文章

      网友评论

          本文标题:自动化测试&持续集成

          本文链接:https://www.haomeiwen.com/subject/omlenctx.html