美文网首页
面试题课程笔记

面试题课程笔记

作者: 兔子的牙呀 | 来源:发表于2021-03-11 13:59 被阅读0次

    1.测试分为哪几个阶段?

    ①单元测试,集成测试------一般由开发人员完成

    ②系统测试和验收测试------一般由测试人员完成

    2.如何编写测试计划

    5w原则:

    ①What:测试的内容是什么

    ②Why:测试的目的是什么?---性能:得到的指标;功能:啥时候测完

    ③When:项目的开始截至日期

    ④How:明确测试方案(化,手工,兼容,性能)

    ⑤Where:明确资料位置---需求文档的存放地址,测试用例的存放地址,bug系统的地址等等

    3.常用的测试用例设计方法有哪些?

    ①等价类划分

    ②边界值

    ③错误推测法:输入空格,或者什么都不输入

    ④正交表分析法:横坐标:浏览器的top;纵坐标:手机品牌,操作系统,分辨率;最终选择需要的手机

    ⑤场景分析法:

    ⑥因果图:

    4.如何分层自动化测试?

    ①UI自动化回归

    ②接口自动化

    ③单元测试--白盒测试

    5.如何保证脚本的有效性?

    ①保证定位有效性,封装处理异常

    ②保证流程的有效性,封装独立方法

    ③保证数据有效性,数据备份与恢复

    6.UI自动化:针对不长变动的页面

    ②接口自动化:周期短,变动频繁---经常提测需要经常测试的

    ③框架分层:用例与框架分离

    7.常见测试覆盖类型?---白盒测试

    ①语句覆盖

    ②判定/条件覆盖

    ③ 条件组合覆盖

    ④路径覆盖

    8.B/S,C/S架构什么区别

    CS架构:客户端软件

    BS架构:网站

    9.安全性测试包含哪些内容?

    ①用户访问认证

    ②传输数据加密

    ③安全防护策略:如日志安全,入侵检测,隔离防护,漏洞扫描

    ④数据的备份与恢复

    ⑤防病毒系统

    ⑥ Sql注入,JS注入

    10.测试报告包含哪些内容呢?

    ①测试背景说明

    ②测试范围说明

    ③测试环境说明

    ④测试方法说明

    ⑤测试结果结论说明

    ⑥质量或风险说明

    11.Alpha测试和Beta测试的区别?

    Alpha测试:在开发环境进行测试

    Beta测试:在真实环境测试,测试通过后进入发布阶段

    12.bug的类型有哪些?

    ①Bug:由于代码编写错误导致的功能问题

    ②Defect即缺陷,实现与需求不一致

    ③Fault即故障,由于环境,系统问题引起运行失败

    ④Error即错误,语法错误,逻辑错误,不易被发现----不影响用户使用,但是会抛出异常

    13.面向对象的概念?

    简称OOP,是一种程序的设计思想

    对象是一个类的实例,类是一系列事务的统称

    主要包括:类,继承,多态,实例,属性,方法

    14.进程,线程,协程

    进程:有独立数据空间,进程间不共享数据,由系统调度

    线程:执行程序的最小单元,进程内线程间资源共享,由系统调度

    协程:程序员调度,分解一个线程成为多个“微线程”

    15.如何使用python实现socket编程?

    ①Socket又称套接字,应用程序通过套接字向程序发送请求

    ②应用程序通过套接字应答网络请求

    ③主机间或者一台计算机上的进程间可以通讯

    16.lambda函数,元组,列表

    lambda匿名函数:

    r = lambda x :x * 2

    print r(10)

    元组:里面的元素不可更改,但可更改整个元素内容

    列表:元素可更改

    17.range函数的用法

    ①返回一系列连续增加的整数

    ②工作方式类似于分片

    ③可以生成一个列表对象

    ps:    list  = range (0 , 51)    输出0~50的数

    print(list)

    18.字符串的拆分方法?

    ① string 对象的split 方法,不允许有多个分隔符,

    ②函数 re.split(),允许为分隔符指定多个正则模式

    19.单引号,双引号,三引号的区别

    单双没区别,三引号可以换行

    20.* args  、  *kwargs  有什么用?

    * args :可变参数列表

    *kwargs:键值对参数列表

    21.python 中的PASS语句的作用

    占位符,实现一个空函数

    PS:    def student():

                    pass

                student()      一个空函数,不输入pass就会报错

    22.re模块中match和search方法的不同?

    import re

    a1 = "sgksajglkasjg"

    a2 = "kjgklsdjlgkjals"

    a3 = "dglkjaslkgjasklg"

    print(re.match(a1 , a2))    -----只从字符串的开始位置开始匹配

    print(re.match(a1 , a2) .group())

    print(re.search(a2 , a1))    -----查询整个字符串

    print(re.search(a2 , a1).group)

    23.WSGI、FastCGI的关系?

    CGI:公共网关接口

    HTTP服务器于机器与的程序进行交互的一种工具

    程序必须运行在网络服务器上,和语言无关

    WSGI:python web server gateway interface

    python 服务器与web服务器之间的一种接口

    FastCGI,像一个常驻型的CGI,可以一直执行着

    24.python是如何操作文件的?

    ①打开文件

    ②写入或读取数据

    ③关闭文件

    25.兼容性测试需要考虑哪些因素?

    APP兼容性测试

    ①系统版本(Andorid Ios)不同版本

    ②分辨率:(小屏,大屏,全屏)

    ③android手机品牌(华为,小米,OPPO,VIVO)

    Web兼容性测试

    1.不同平台的不同浏览器(safari  ,chrome)

    2.分辨率(大屏,小屏,全屏),是不是折行

    3.是否允许转发,比如转发到第三方软件,qq,微信,微博等,转发后打开是否可以正常展示

    PC页面兼容性测试

    1.操作系统:windows,mac,os 平板电脑

    2.浏览器(IE系列,火狐,chrome)等等

    3.分辨率(笔记本,台式机,窗口缩放等)

    26.ADB相关问题

    1)Android的四大组件是什么?

    ①Activity:用户和程序的交互窗口

    ②Service:在程序后台,完成用户操作

    ③ContentProvider:提供数据的统一访问格式

    ④BroadcastReceiver:应用程序之间传输信息的机制

    1)Activity的生命周期是什么?

    Actived:激活

    Paused:暂停状态---弹出对话框,看是否进一步操作

    stop:停止状态

    killed:被杀掉的状态

    ---------------------------

    2)如何重启adb服务?

    adb start-server

    adb kill-server

    2)app的安装与卸载

    adb - s 设备名称 install 文件路径-----安装

    adb - s 设备名称 install - r文件路径---覆盖安装

    adb -s 设备名称 uninstall 包名---卸载

    adb devices  ----获取当前连接设备的名称

    adb logcat | findstr(grep  ----linux) START  ---获取安装apk的包名

    3)adb push D:\test.apk / data /local /tmp/test.apk    把包导入手机系统

    4)adb pull / data /local /tmp/test.txt D\:      把手机系统文件导入PC

    adb shell  进入手机目录

    cd /data /local /tmp /

    ls  查看该目录下所有文件

    5)如何静默安装app?

    adb shell pm install -f /data /local/tmp /test.apk

    6)如何使用adb启停一个app?

    7)如何使用adb命令启动或者停止app

    ①adb shell am start -w-s package/activity

    ②adb shell am force-stop package

    8)通过某个关键字查找已安装的包

    ①adb shell pm list package -f keyword

    ②abd shell pm list package -3 keyword  ---第三方自带的包

    ③adb shell pm list package -i keyword  ----查找已安装的包

    ④adb shell pm list package  ---查询设备安装的所有包名

    9)如何截屏,录屏

    ①adb shell screencap /data /local /tmp /scree.png

    ②adb shell screenrecord /data /local /tmp /demo.mp4

    10)如何抓取locat日志

    ①adb locat

    ②adb shell locat

    11)如何获取当前CPU,内存状态

    ①adb shell dumpsys    meminfo package

    ②adb shell dumpsys cpuinfo | findstt package

    27.monkey相关

    1)如何让monkey执行指定事件

    ①触摸事件:pct- touch

    ②动作事件:pct-motion

    ③轨迹球事件:pct-trackball

    ④基本导航事件:pct-nav

    ⑤主要导航事件:pct-majornav

    ⑥系统导航事件:pct-syskeys

    ⑦应用启动事件:pct-appswitch

    ⑧其他类型事件:pct-anyevent

    2)monkey测试命令总结

    and shell monkey -v -v -v -s 6789  --throttle 300(设置执行的频率为多少毫秒) --ignore-crashes --ignore-timeouts --pct-touch 100 -p 包名 100(随机数)

    获取日志  重定向 > monkey.log

    cat monkey.log

    Linux基本命令

    mv  移动或重命名

    rm -r 递归删除

    rm-f 强制删除

    wc 统计文本中行数,字数,字符数

    28.fiddler工具

    1)如何使用fiddler抓取手机上的数据包?

    ️pc端设置,设置端口号

    ️手机端设置,设置Wi-Fi,设置代理

    2)数据包中都包含哪些内容?

    ️状态码、协议类型

    ️request(header:user-agent,cookies,referer)

    ️response(header,data)

    3)如何设置Autoresponder?

    ️抓取请求

    ️制作数据

    ️设置规则

    4)如何使用fiddler发送get/post请求?

    ️构造url(get&post)

    ️构造参数(get&post)

    5)如何使用fiddler构造慢网络?

    ️rules-performances-simulate modem speeds

    ️修改代码,配置需要的配速

    6)如何使用fiddler抓取https包?

    ️fiddler https相关设置

    ️在浏览器中安装证书

    29.postman工具

    1)如何使用postman发送get/post请求?

    2)如何为postMan用例填写检查点?

    3)如何使用postman批量运行测试用例?  ·

    30.基于python常见算法有哪些?

    1)排序

    ①从小到大排序:sorted(list)

    list = [0,3,6,2,5,1,9]

    print(sorted(list))t

    ②从大到小排序:sorted(list,reverse = ture)

    list = [0,3,6,2,5,1,9]

    print(sorted(list,reverse = ture))

    ③改变列表原有顺序并按排序后样式展示

    list = [0,3,6,2,5,1,9]

    list.sort()

    print(list)

    2)冒泡

    ①比较相邻得元素,如果第一个比第二个大就交换

    ②一轮遍历,每两相邻元素,重复1,最大放在队尾

    ③不包括已经排队尾的,重复2

    3)快排

    ①从列表中挑出一个元素,作为基准值key

    ②所有小于key的元素放在左边,所有大于key的元素放在右边

    ③分别递归左侧列表,右侧列表

    4)堆排序

    5)二分查找

    6)素数

    31.Linux相关

    1)基础命令

    ①cd切换目录

    ②ls -l  列出文件详细信息    ls - a 列出当前目录下所有文件

    ③touch 创建文件  mkdir 创建目录

    ④echo 创建带有内容的文件

    ⑤cat  查看文件内容

    echo "hello world" > mookhello

    cat mookhello  ---展示“hello world”

    ⑥cp  拷贝

    ⑦mv  移动或重命名

    ⑧rm -r 递归删除  ;rm -f  强制删除

    ⑨wc 统计文本中行数,字数,字符数

    ⑩grep 在文本文件中查找某个字符串

    tree 显示目录结构

    ln 创建软链

    more  、 less 分页显示文本内容

    head 、 tail 显示文件头尾内容

    2)网络命令

    ①curl 利用 UIL 规则在命令行下工作的文件传输工具

    curl http://www.baidu.com

    ②netstat 显示网络状态信息

    telnet 127.0.0.1

    ③telnet 用于远程登录主机

    netstat  所有的网络链接状态

    3)系统命令思

    ① ping 测试网络连通

    ping www.baidu.com

    ② man 查看帮助

    man ping  -----ping的常用命令

    ③ kill 杀死进程

    kill pid(38970)

    ④当前正在运行的进程

    top 

    ⑤ps显示瞬间进程状态

    ⑥ df 查看磁盘大小  df -h 带有单位显示磁盘信息

    2.计算机网络相关的问题

    1)OSI 七层模型的具体内容

    物理层:建立,维护,断开物理连接

    数据链路层:逻辑连接,硬件地址寻址,差错校验

    网络层:逻辑地址寻址,不用网络之间的路径选择,IP

    传输层:传输数据的协议,TCP(确定地址已经连接),UDP(只确定目的地进行传输,可能出现丢包,无法传输)

    会话层:建立,管理,终止会话,本地与远程主机的会话

    表示层:数据的标示,安全,压缩,JPEG,ASCII等

    应用层:与最终用户的连接,HTTP ,HTTPS ,SMTP

    2)http 协议中get 和 post的区别

    ①功能差异

    get 是客户端去服务端取东西

    post 客户端提交东西至服务端

    ②数据传输

    get:在Url 里带参数传输给服务端,服务端根据传输的内容返回值

    post:把数据放在body里传输给服务端

    ③安全性

    get不安全,参数存在url里

    post安全,传输参数在url不可见

    3)tcp 和 udp 的区别

    4)tcp 连接三次握手具体过程

    5)socket 建立连接的过程

    ①服务器建立监听,socket,bind,listen

    ②客户端发送请求,connect,send

    ③连接确认,accept,response

    相关文章

      网友评论

          本文标题:面试题课程笔记

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