• 测试开发


    一 软件测试理论

    二 接口自动化测试

    三 UI自动化测试

    四 python相关

    五 持续集成

    六 git的使用

    一、软件测试理论

    1.软件的生命周期

    可行性分析、需求分析、软件设计(详细设计和概要设计)、程序编码、软件测试、运行与维护

    2.软件测试分类

    按执行主体:开发方测试(又称验收测试或者α测试)、用户测试(又称β测试)、第三方测试

    回归测试:

    指当软件发生改变时,重新测试已经通过测试的测试区域,以检验已发现的bug有没有被正确修改,以及修改过程中有没有引发新的bug

    3.软件测试模型

    v模型和w模型

    4.测试计划的目的

    使测试工作顺利进行;使项目参与人员沟通更顺畅;使测试工作更系统化

    5.测试计划的六要素

    测试目的;测试范围;测试时间;测试文档;测试人员;测试技术

    6.黑盒测试

    一般指功能性测试

    测试方法主要有:等价类划分、边界值分析、因果图、错误猜测法等

    7.白盒测试

    逻辑覆盖法、路径覆盖

    8.自动化测试

    二、接口自动化测试

    1.为什么做接口测试?

    可以发现很多在页面上操作发现不了的bug

    2.怎么做接口测试?

    3.没有接口文档怎么办?

        自己用F12或者chrome抓包

    4.数据依赖

    5.分析bug是前端还是后端问题

    6.依赖于第三方数据的接口如何进行测试?

        mock

    7.json和字典的区别?

       json是字符串,字典是数据结构

    8.测试数据怎么放?

        .ini文件  .py文件

    9.如何数据驱动?如何参数化

    10.下个接口请求依赖上个接口的返回数据?

        不同的接口封装成不同的函数或方法,需要的数据return出来,用一个中间变量a去接受,后面的接口传a就可以了

    11.接口产生的垃圾数据如何清理?

     后置操作,tearDown做数据清理

    12.依赖登录的接口如何处理?

        s=requests.session(),使用session自动关联,后面请求用s.get()和s.post()就可以自动关联cookies了

    13.python如何连接数据库?

    14.http常见状态码

    200:一切正常

    500:服务端错误,一般是后端代码问题

    404:客户端错误,找不到资源等

    15.range() 函数的使用

    range(start, stop[, step])  range(5) 默认start为0

     16.对文件的操作

    with open('/path/to/file', 'r') as f:
        print(f.read())

    17.python生成随机数

    random.randint(a,b),生成区间内的整数

    18.可变数据类型和不可变数据类型,并简述原理

    不可变类型:数值、字符串、元组

    对于不可变数据类型,改变了变量值,相当于是新建了一个对象,而对于相同值的对象,在内存中只有一个地址

    可变类型:列表和字典

    允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象

    a = 3
    b = 3
    print(id(a))
    print(id(b))
    
    c = [1,2]
    # c.append(3)
    d = [1,2]
    print(id(c))
    print(id(d))
    
    输出结果:
    1652976720
    1652976720
    2157664683208
    2157664682760
    View Code

    19.s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"

    s = "ajldjlajfdljfddd"
    s = set(s)
    s = list(s)
    s.sort(reverse=False)
    print(s)
    res = ''.join(s)
    print(res)
    
    输出结果:
    ['a', 'd', 'f', 'j', 'l']
    adfjl
    View Code

    20.用lambda实现两个数相乘

    sum = lambda a,b:a*b
    print(sum(4,5))
    
    
    输出结果:
    20
    View Code

    21.search和match的区别

    https://www.cnblogs.com/wang-mengmeng/p/11305402.html

    三 UI自动化

    1.

    四 python相关

    https://github.com/taizilongxu/interview_python

    1.数组倒序

    2.字符串倒置

    3.深拷贝与浅拷贝

    4.fun(*args,**kwargs)中的*args,**kwargs什么意思?

     *args用来发送一个非键值对的可变数量的参数列表给一个函数;

     **kwagrs用来发送一个不定长度的键值对,作为参数传递给一个函数

    5. 避免转义给字符串加哪个字母表示原始字符串? r

    6.

    五 持续集成   https://i-beta.cnblogs.com/posts?cateId=1262674

    主要包括Jenkins的安装、分布式构建、远程换包、从代码仓库拉取代码、定时任务、持续集成测试脚本

    六 git的使用

    https://i-beta.cnblogs.com/posts?cateId=1514743

    七 计算机网络相关

    • TCP/IP协议四个层次组成,以及每个层的常用协议

    应用层(相当于OSI的上面三层),常见协议:FTP TELNET

    运输层,常见协议:TCP UDP

    网络层,常见协议:ICMP IP IGMP

    链路层(相当于OSI的下面两层),常见协议:ARP RARP

    • OSI七层模型

    应用层

    表示层

    会话层

    运输层

    网络层

    数据链路层

    物理层

    • TCP协议三次握手

    • TCP协议四次挥手

    • TCP和UDP的区别(位于传输层)

    tcp(传输控制协议) udp(用户数据报协议)

  • 相关阅读:
    [JNA系列]Java调用Delphi编写的Dll之Delphi与JAVA基本数据类型对比
    JSON和数据集互相转换单元
    Windows管理多个java版本--解决'has value '1.8',but'1.7' is required'的方法
    Spring+SpringMVC+MyBatis+Maven框架整合
    让你的程序通过XP防火墙
    内存共享【Delphi版】
    自学k8s-安装docker特定版本技巧
    自学k8s-k8s集群环境搭建
    自学k8s-安装过程为下载flannel.yml和镜像文件,而需要设置的代理
    Centos开放指定端口命令
  • 原文地址:https://www.cnblogs.com/wang-mengmeng/p/11411869.html
Copyright © 2020-2023  润新知