zoukankan      html  css  js  c++  java
  • 接口自动化测试实战(更新完毕)

    前言

    自动化没练习的项目怎么办?

    自动化已经成为测试的必备技能之一了,所以,很多想跳槽的测试朋友都在自学,特别是最实用的接口自动化,

    但是很多人因为没有可以练手的项目而苦恼,最终导致缺乏实战经验,其实,完全可以自己开发个简单项目练手,

    本文,就带大家开发个简单的项目,只包含后端接口,使用的技术栈是:python + flask + mysql + redis,为了练习python基础,没有使用组件。

      python:很容易入门的语言,三方库非常丰富,不用我们自己造轮子

      flask:轻量级的web开发框架,快速上手

      mysql:主流的数据库,本项目用于存储用户信息,python中可以用pymysql库操作msyql,flask中也有对应的组件

      redis:主流的缓存数据库,本项目用于存储token,python中可以用redis库操作redis 

    开发环境准备

    相关的安装包等资料,在【测试提升圈】学习周计划网盘中。

    windows下安装python(只安装3.x版本):https://www.cnblogs.com/uncleyong/p/10778792.html

    windows下安装配置pycharm:请自行百度

    linux基础:《鸟哥的Linux私房菜》,常用命令:https://www.cnblogs.com/uncleyong/p/10637238.html

    安装linux虚拟机(当然,你也可以考虑买云服务器):https://www.cnblogs.com/uncleyong/p/10740005.html

    下面是我安装的linux版本

    mysql安装(建议linux下):https://www.cnblogs.com/uncleyong/p/10739530.html

    客户端工具Navicat安装:https://www.cnblogs.com/uncleyong/p/10823925.html

    redis安装(建议linux下):https://www.cnblogs.com/uncleyong/p/9882843.html

    mysql和redis建议在linux下安装,既可以练习linux命令,又可以练习环境搭建,项目开发完后,也可以部署到linux服务器上

    部分基础回顾

    https://www.cnblogs.com/uncleyong/p/12230502.html

    实战1:demo项目开发(开发几个涉及关联的接口)

    interface_demo项目需求

    用户信息管理,可以注册、登录、添加用户、删除用户

    注册:任何用户可以注册,对用户提交的注册信息进行校验,返回对应的信息,其中:

      用户名:必填,唯一

      密码:必填,只能6-12位,入库是加盐加密

      真实名:必填

      性别:非必填,只能0(male)或者1(female)

      电话:必填,唯一,满足电话要求,数字,且11位

    登录:用户登录,成功,则保存token到redis,其中:

      用户名:必填

      密码:必填

      如果登录成功,对用户名加时间戳的字符串进行md5加密,生成的值作为token,然后将用户名作为key,token作为value,存入redis,且设置失效时间

    添加用户:只能是管理员且登录成功后,才可以添加用户

      token:必填,登录成功返回的token

      添加者:必填

      用户名:必填,唯一

      真实名:必填

      性别:非必填,只能0(male)或者1(female)

      电话:必填,唯一,满足电话要求,数字,且11位

      密码:默认是123456,不填

    删除用户:只能是管理员且登录成功后,才可以删除用户

      略 

    数据库表设计、接口开发实现(含源码)

    测试提升圈专属版本:https://www.cnblogs.com/uncleyong/protected/p/12046058.html

    本项目用到了主流技术栈,这些都是测试必备的:python、flask、redis基础、mysql基础、git基础、shell基础、linux、jenkins等

    你也可以开发几个mock接口用于练习,推荐用flask或者springboot

    比如是flask的话:

    return jsonify({"code":9410,"msg":"用户名或密码不正确"}) 
    

      

    实战2:demo项目测试(接口功能测试,用jmeter和postman)

    实战1中,已经开发好了我们练习的项目,我们先对接口进行功能测试,

    接口功能测试,我们最常用的工具是jmeter和postman

    jmeter,参考:https://mp.weixin.qq.com/s/msowzis-ktMk2PL_yM_J6g

    postman,参考:https://www.cnblogs.com/uncleyong/p/11268846.html

    实战3:自动化测试框架设计、开发、demo项目自动化测试

    实现了关联、测试数据分离等等,拿来即可使用:

    测试提升圈专属版本https://www.cnblogs.com/uncleyong/p/12046070.html

    多个版本的自动化测试框架,例如:

      unittest + 关联 + excle + ddt

      自己造轮子(未使用unittest、pytest等)

       

    实战4:自动化测试持续集成环境搭建(自动化构建、部署、测试、报告)

    开发提交代码到远程仓库后,触发自动化构建→自动化部署→自动化测试...

    自动化持续集成环境搭建(上):git + maven+ jenkins:https://www.cnblogs.com/uncleyong/protected/p/10821832.html

    自动化持续集成环境搭建(下):git + maven+ jenkins

    测试提升圈专属版本https://www.cnblogs.com/uncleyong/protected/p/12229900.html

    对外分享版本:https://mp.weixin.qq.com/s/CVrn2XuL3lQj9slUqx73_A

    docker版后续更新。

    后记

    进阶提升,性能 or 测开?

    通过这几个实战,相信认真实操过的朋友肯定收获不少,不管是编码,还是linux命令及环境搭建,或者是相关的工具使用;

    总之,自动化只是回归,不要满足于自动化,多学一个其它测试方向,会更有竞争力;

    接下来你需要进阶的方向可能是性能测试、或者测试开发,关于二者该怎么选择,可以参考:https://www.cnblogs.com/uncleyong/p/11995605.html

    性能测试:从0到实战

    https://www.cnblogs.com/uncleyong/p/12311432.html

  • 相关阅读:
    62. Unique Paths
    120. Triangle
    EBS预置文件作用收集整理
    ORA-20002: [WF_NO_USER] NAME=<name> ORIG_SYSTEM=NULL ORIG_SYSTEM_ID=NULL
    Oracle定义DES加密解密及MD5加密函数
    EBS获取附件URL
    Oracle EBS标准错误信息如何追踪 (Debug)
    更改EBS APPS 密码流程
    Oracle之物化视图
    Oracle EBS打补丁
  • 原文地址:https://www.cnblogs.com/uncleyong/p/12016690.html
Copyright © 2011-2022 走看看