毛毛虫

作者: Jeff_9021 | 来源:发表于2023-02-23 23:00 被阅读0次

    一、灵活的问题

    1、你介绍一下你最近做的一个项目?

    2、你主要负责什么?说说某个模块是怎么测试的?

    3、拿到一个需求后,你会从哪些方面进行测试?

    4、给你一个网站,你如何测试?

    5、你印象最深的bug?

    6、测试中发现的bug,但开发经理不认为这是一个bug,该怎么办?

    7、如果没有需求文档怎么办?

    二、功能测试

    1)功能测试

    1、测试用例怎么保证覆盖率

    ***测试用例对需求的覆盖率;

    *需求的理解分析

    需求来源又分为显式需求和隐式需求,显式需求顾名思义是明面上的需求,比如产品人员从用户那里搜集的原始需求、转换后的产品需求、原型图、设计文档等;那隐式需求包含了用户的体验等。那我们如何保证需求分析的全面性呢?

    从业务角度进行分析:通过业务流程、业务数据、业务操作等分析,明确要验证的功能、数据、场景等内容,从而确定业务方面的测试需求;

    从技术角度分析:通过研究系统架构设计、数据库设计、代码实现等,分析其技术特点,了解设计和实现要求,包括系统稳定可靠、分层处理、接口集成、数据结构、性能等方面的测试需求;

    基于以上分析,拆分需求点,形成测试点。

    *需求评审:参与需求的评审,保证需求的正确性和完整性;

    *用例测试:根据对需求的分析、利用专业的测试用例设计方法编写测试用例,保证测试用例的设计覆盖所有的测试需求。

    *用例评审:组织产品设计人员、开发人员、测试人员等参与测试用例的评审,吸取别人的意见,减少遗漏,补全测试用例。

    *执行测试: ● 对测试用例进行100%执行。●在测试执行过程中,需求都是会变的,要继续对测试用例补充完善,确保提高测试覆盖率。

    2、测试用例包含哪些部分

    *前提---用例名称---用例步骤---期望---等级

    *用例等级如何定义?冒烟【来源于特高】特高【核心功能点】高【重要功能点】中【异常功能点】低【界面相关】

    3、提bug包含哪些部分

    *项目---bug类型---严重等级---出现概率---缺陷简述---缺陷详情(包含复现详细步骤)---缺陷证据(日志等)

    4、怎么避免开发不自测的情况

    *测试端 转测(发测后优先测试自研用例,作为正式发测的前提,不存在fail和block用例)

    5、系统测试,回归测试,UAT测试,从测试角度需要注意的部分

    *系统测试:模拟系统的运行以验证系统是否达到功能和性能要求;关注测试用例的覆盖率。【实际项目中对应第一轮的测试(第一轮需求全实现时)】

    *回归测试:修改bug;需求变更;环境变更。导致软件程序的变动。关注影响【实际项目中的非首轮测试;以及基于基线项目的定制需求】

    *UAT测试:用户验收测试;关注用户真实的使用。

    6、在写测试用例之前,怎么预测一个项目的测试时间

    *当前公司 发测试时间(开发评估)结合TR4(项目经理评估)时间即可知测试时间。【根据项目节点(TR4阶段为系统测试结束时间);结合与开发一起评估需要测试的轮数;若发布最后一轮需要稳定性测试至少7天】

    7、如果自我预计测试时间为3天 ,项目组要求2天测完的情况下,应该如何处理?

    *首先,原测试策略不变下,反馈风险【若未能按时完成,提供风险评估(未测低等级用例对应哪些风险)】;若风险不可接受,调整测试策略至风险可接受为止。

    *其次,测试内部调整参与测试的人员;测试人员预测试和提前准备测试环境,提高正式测试时的效率;组织测试人员加班。

    8、bug怎么分级

    *致命:阻碍开发或测试工作的问题

    1)系统崩溃/死机/无法退出死循环;2)安全相关:用户数据受到破坏【篡改,丢失等】;3)基本模块完全未实现;4)其他导致功能无法测试的问题。

    *严重:

    1)重要功能不能实现(例如:用户所要求的功能缺失,该有的页面未实现,逻辑不通,重要图表数据未开发,等)

    2)错误的波及面广,影响到其他重要功能正常实现

    3)非常规操作导致的程序崩溃、死机、死循环 (非常规操作:用户使用软件时不会进行的操作)

    4)系统中数据保存后数据库中显示错误

    5)密码明文显示

    6)页面无显示白屏,无数据

    7)地图数据和图表数据不一致

    *一般:不影响产品的运行、不会成为故障的起因、但对产品外观和下道工序影响较大的缺陷

    1)次要功能不能正常实现

    2)操作界面错误(包括数据窗口内列名的定义,含义不一致)  例如:列名与列名下的内容不一致

    3)查询错误、数据错误显示

    4)简单的输入限制未放在前端进行控制;(格式显示,如登录和注册中的格式判断可由前端判断)

    5)删除操作未给出提示

    6)边界条件错误或者未做限制

    7)系统未做优化,数据页面加载慢,操作卡顿之类(性能层面问题)

    8)兼容性问题(分辨率,系统版本等等)

    *轻微:程序在一些显示上不美观,不符合用户习惯,或者是一些文字的错误

    1)界面不规范

    2)辅助说明描述不清楚

    3)提示窗口文字未采用行业术语

    4)界面存在文字错误

    5)操作时未给用户提示

    6)文字排列不整齐等一些小问题

    *建议:

    1)对于产品设计方面的意见和建议

    2)对于产品界面优化方面的意见和建议

    3)对于产品需要优化增强用户体验方面的意见和建议

    结合bug出现频率:偶现【特定测试环境下,>=5%出现】,必现

    9、如果在上线前,还有bug未解决,产品又必须要求上线,应该怎么处理

    1)首先,产品不可能不存在bug,只是带bug发布,需要根据bug严重程度及其影响进行评估;

    2)正常情况下,产品线会存在发布标准,以及项目组内对bug的评估及应对方案;

    3)若存在测试不同意的bug存在,意见不同意,测试结论仍为不通过,若发布需要上升到领导层决策,含风险发布。

    10.给出登录,注册的测试点

    1)登录

    界面相关:账号输入框(输入内容校验最长最短字符?超过最长或少于最短提示?合法字符有哪些?非法字符输入提示?中文占几个字符长度?特殊字符有哪些,重点关注SQL注入等安全?)/密码输入框(密码长度?超过最长或少于最短提示?合法字符有哪些?非法字符输入提示?不合理组合密码提示?非明文显示)。

    功能相关:正确账号+正确密码/错误密码(空/不对应的密码)+正确账号/错误账号(空/不对应的密码)+存在的密码/都为空,关注提示信息不能太明确

    安全相关:登录非明文传输;

    性能压力:并发多用户登录跳转/进入登录页面耗时/登录成功,跳转耗时

    兼容性:不同系统不同浏览器不同版本不同分辨率登录

    国际化:不同语言

    2)接口测试

    1、你平常做接口测试的过程中发现过哪些 bug?

    2、平常你是怎么测试接口的?

    3、平常用什么工具测接口?

    4:、webService 接口是如何测试的?

    5、没有接口文档,如何做接口测试?

    6、在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?

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

    8、当一个接口出现异常时候,你是如何分析异常的?

    9、如何模拟弱网测试

    弱网测试

    10、如何分析一个 bug 是前端还是后端的?

    11、Postman和Jmeter使用有什么区别

    12、使用Postman测试接口提供什么

    13、Get 和 Post的区别

    14、Cookie和Session的区别

    Http是无状态的协议,对于事务处理没有记忆力,每次客户端和服务端会话完成时,服务端不会存储任何会话信息

    每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,无法分辨上一次的请求,发送者和这一次的发送者是不是同一个人

    那这个状态就要通过cookie或者session去实现

    cookie指的是浏览器存储的一种数据,仅仅是浏览器实现的一种数据存储功能,cookie有服务器生成发送给浏览器,浏览器把cookie以kev-value形式

    保存在浏览器中,下一次请求同意服务时,会把cookie发送给服务器

    a.安全性,session比cookie安全,session是存储在服务端的,cookie是存储在客户端的

    b.存储值的类型不同,cookie只支持存字符串数据,想要设置其他类型的数据,需要将其转换成字符串,session可以存任意数据类型

    c.有效期不同,cookie可设置为长时间保持,session一般失效时间较短,客户端关闭或者session超时都会失效

    d.存储大小不同,单个cookie存储大小不能超过4k,session可存储数据远高于cookie,但是当访问量过多会占用过多的服务器资源

    6.head头部信息包含哪些内容

    7.Jmeter集合点

    8.Jmeter怎么保证并发数是准确的按照线程组进行并发测试

    9.Jmeter性能测试关注哪些指标

    3)其他---app 测试

    1、什么是 activity?

    2、Activity 生命周期?

    3、Android 四大组件?

    4、app 测试和 web 测试有什么区别?

    5、android 和 ios 测试区别?

    6、app 出现 ANR,是什么原因导致的?

    7、App 出现 crash 原因有哪些?

    8、app 对于不稳定偶然出现 anr 和 crash 时候你是怎么处理的?

    9、app 的日志如何抓取?

    10、你平常会看日志吗,一般会出现哪些异常(Exception)?

    三、自动化测试

    1)UI自动化---selenium 

    1、如何判断一个页面上元素是否存在?

    2、如何提高脚本的稳定性

    3、如何定位动态元素

    1)常见动态id时:

    使用其他元素定位

    如果元素有其他的唯一属性值,如class name、name等,我们可以使用这些属性来定位。

    根据相对关系定位

    根据父子、兄弟相邻节点定位

    根据部分元素属性定位

    xpath提供了3种非常强大的方法来支持定位部分属性值。

    contains(a,b)  如果 a 中含有字符串 b,则返回 True,反之 False

    starts-with(a,b)  如果 a 中以字符串 b 开头,则返回 True,反之 False

    ends-with(a,b)  如果 a 中以字符串 b 结尾,则返回 True,反之 False

    示例如下:

    driver.find_element(By.XPATH,'//*[contains(@id,"general-table")]/tbody/tr[3]/td[2]/select')

    driver.find_element(By.XPATH,'//*[starts-with(@id,"general-table")]/tbody/tr[3]/td[2]/select')

    driver.find_element(By.XPATH,'//*[end-with(@id,"general-table")]/tbody/tr[3]/td[2]/select')

    注意:

    *不同的浏览器可能效果不一样,比如你用Chrome浏览器使用contains 能够定位到元素,使用IE 可能定位不到;

    *不同的xpath 版本可能不支持全部,之前遇到过定位某个元素,使用starts-with 定位不到,换成contains就定位到了;(这里有时间了,深入研究一下)

    4、如何通过子元素定位父元素

    5、如果截取某一个元素的图片,不要截取全部图片

    6、平常遇到过哪些问题?如何解决的

    7、一个元素明明定位到了,点击无效(也没报错),如果解决?

    2) 接口自动化

    1、json 和字典的区别?

    2、测试的数据你放在哪?

    3、什么是数据驱动,如何参数化?

    4、下个接口请求参数依赖上个接口的返回数据

    5、依赖于登录的接口如何处理

    6、依赖第三方的接口如何处理

    7、不可逆的操作,如何处理,比如删除一个订单这种接口如何测试

    8、接口产生的垃圾数据如何清理

    9、一个订单的几种状态如何全部测到

    10、pvthon 如何连接数据库操作?

    11、其它的就是运行出报告、代码管理(git)、运行策略和持续集成 jenkins 相关了

    四、数据库

    1、左右连接的区别

    select *fromA表 left join B on

    以A表为主表查出A表所有数据,B表不存在的数据显示为空 

    select *from A表 right join B on

    以B表为主表查出B表所有数据,A表不存在的数据显示为空

    2、索引,数据库调优

    索引是B+tree的数据结构

    分为有单列索引,唯一索引和多列索引

    用于查询时加快速度

    3、讲出删除表内数据,不删除表结构的两种方法 

    delete from 表名,truncate table 表名 ,truncate不可以回滚

    delete可以加where条件,truncate不可以

    4、int类型判空 <>''

    5、不去重 union all

    7、条件查询 if(ex1,ex2,ex3) 

    ex1,条件 

    true为ex2 

    false为ex3

    8、多条件

    case when ... then 

    when... then 

    when... then 

    else... end

    9、时间年月份取值 

    date:2021-12-16

    取年份:year(date)

    取月份:month(date)

    取日:day(date)

    10、substring_index(str,delim,count)分割取值 

    str = 字段名/字符串 

    delim = 分隔符 

    count = 计数

    假设 str =www.baidu.comm 

    substring_index(str,'1)

    结果为 www

    substring_index(str,.2)

    11、substr()函数 

    substr(str,start,length)

    start为第几位开始,0.1都为第一位 

    length为所截取需要的长度

    例:substr('234556'3,2) 结果为45

    12、窗口函数

    13、Replace into tableName values()

    replace 首先尝试插入数据,如果表中有此数据(根据主键ID或唯一索引判断),先删除此行数据,再重新插入新数据

    14、insert into tablename values()

    update tablename set 需修改的字段内容 where 所要修改的那条记录 delete from tablename where 删除某条记录

    15、timestampdiff(minute.开始时间,结束时间)查询两个时间之间的差值

    可以进行参数设置,可以精确到天(day),小时(hour),分钟(minute),秒(second)

    16、修改表结构

    举例:请在用户信息表,字段level的后面增加一列最多可保存15个汉字的字段school;并将表中job列名改为profession,同时varchar字段长度变为10;achievement的默认值设置为0。

    alter table user_info add school varchar(15) after level;

    增加列在某列之后alter table 增加的表格 add 增加列的名称 数据类型 位置(after level 在level 之后) 

    alter table user info change job profession varchar(10):

    更换列的名称及数据类型alter table user info change 原列名 修改列名 修改数据类型 

    alter table user info modify achievement int(11) default 0:

    更改数据类型alter table 表名 修改列名称 数据类型 默认值等

    五、Linux常用命令

    1、说II和Is的区别

    l是ls-!的别名,所有ls和I|功能是相同的

    is是显示当前目录下文件,ls-I是显示当前目录下文件详细信息

    2、复制 cp,移动mv,删除rm

    3、chmod 754 777

    操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户

    7=4+2+1 读写运行权限

    5=4+1 读和运行权限

    4=4 只读权限

    chmod 754就是对文件所有者含有读写运行权限,群组用户含有读和运行权限。对其他用户只有只读权限

    chmod 777就是对文件所有者,群组用户,其他用户都含有读写运行权限

    4、top是显示进程信息

    六、计算机网络

    1、TCP和UDP协议属于那一层?区别?应用(哪些软件使用的/工作中)?

    2、TCP三次握手四次挥手过程?为何有TIME_WAIT?

    3、http状态码?http请求、ARP请求?

    4、http和HTTPS的区别?

    7、OSI七层模型?

    8、ARP攻击?

    9、如何修改自己的Mac地址?

    10、开机启动操作系统做了那些事情?

    11、消息队列接口参数是什么?

    12、网页没有正确显示的原因?

    13、浏览器发送的超文本有哪些?

    14、浏览器请求,浏览器输入一个链接,到展示到页面,经历了什么?

    七、蓝牙mesh

    1、

    八、实例

    1、给你一个字符串,你怎么判断是不是ip地址?手写这段代码,并写出测试用例

    2、请进行测试用例设计:一串数字,闰年的判别

    3、请你说一说简单用户界面登陆过程都需要做哪些分析

    4、请对这个系统做出测试用例:一个系统,多个摄像头,抓拍车牌,识别车牌,上传网上,网上展示

    5、请你对吃鸡游戏进行压力测试

    6、请你根据微信登录界面设计测试用例

    7、请你对朋友圈点赞功能进行测试

    8、如果做一个杯子的检测,你如何测试

    9、如何对一个页面进行测试

    10、如何对水壶进行测试

    11、如何对淘宝搜索框进行测试

    12、如何对一瓶矿泉水进行测试

    13、如何测试登陆界面

    14、请你说一下jmeter

    15、请你进行测试:前端下拉框实现,测试下拉框定位方式

    16、请你来聊-聊appium断言

    17、请你来说一下购物车的测试用例

    18、请你进行一下弱网模拟

    19、你写的测试程序是怎么样的,你写过前端、后端程序吗?

    20、请问你有没有写过测试脚本,怎么写的?

    21、请问你有没有写过web测试,怎么写的?

    22、请你回答一下如何测试手机开机键?

    相关文章

      网友评论

          本文标题:毛毛虫

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