精华内容
下载资源
问答
  • 测试岗/测试开发面试真题参考答案
    万次阅读
    2019-08-18 16:06:40

    测试理论

    1. 谈谈对测试的理解吗,为什么做测试

    2. 用过那些测试工具,用过哪些测试辅助工具

    4. 测试方法,黑白盒测试用例方法,白盒测试和单元测试

    5. 了解测开工程师在整个产品从立项到最后上线都参与了那些过程

    写测试用例/设计测试方案

    1. 测试一个接口,写测试用例,并归类

    2. 百度页面测试用咧

    3. 设计测试用例,一个客户端登录页面,用户名,密码,登录三个按钮.尽可能详细的说出

    4. 测试微信红包功能

    5. 讲一下微信支付的完整流程,从产品开发的角度去

    6. 如何测试一支笔

    7. 如何测试cp命令

    8. 写qq发送文件的测试用例

    9. 抖音的上划功能 如何设计测试

    10. 游戏上线一个新角色,需要测试什么,主要有哪些方面的测试

    软件出错的可能原因排查

    1.客户投诉 英语流利说APP 懂你英语课程(或其他APP功能) 请求失败,分析可能的原因以及解决方案
    原因:网络出错。 解决方案:检查手机网络状况
    原因:错误的请求。 解决方案:查看前端是否出现意外的bug导致请求出错。
    原因:服务器忙等。解决方案:使用高并发处理请求。
    原因:客户权限出现问题。解决方案:检查客户是否已登录,或者具有权限。
    原因:服务器后台接口出错。解决方案:查看后台接口运行情况。
    原因:前端处理数据出错。解决方案:查看前端代码逻辑。
    原因:版本升级导致的接口更换。解决方案:查看版本号和先版本号的差异。
    原因:服务器无返回数据。解决方案:检查数据库状态。
    原因:请求超时。解决方案:查看是否出现请求超时的情况。
    原因:服务器掉线。解决方案:重启服务器。
    原因:前端逻辑出错。解决方案:查看服务器逻辑。
    原因:机主强制关闭
    2. 有哪些可能导致支付宝付款二维码被盗刷

    3.为什么要做浏览器兼容性测试

    4. 一款游戏有二十来个玩家连接不到游戏服务器,但是本地网络没问题,你觉得哪里出了问题

    5. 软件卡怎么办

    更多相关内容
  • 软件测试+python测试开发面试题测试开发面试题
  • python测试开发面试题答案整理

    千次阅读 2021-07-10 21:30:02
    """可以利用多进程实现""" ##############10、请用python代码写一个单例模式,并简述单例模式的应用场景 """ 单例模式:一个类只能创建一个对象,是常见的一种设计思路 应用场景:1、自动化测试方向;日志logging,...
    ##############1、用列表生成式写一个0-100的列表
    a = [i for i in range(100)]
    print(a)
    
    ##############2、继续在列表生成式的基础上写一个取0-100的奇数
    #方法一:
    b = [i for i in range(100) if i%2 != 0]
    print(b)
    #方法二:
    c = [i for i in range(1,100,2)]
    print(c)
    #方法三-切片:
    d = [i for i in range(1,100)[::2]]
    print(d)
    
    ###############3、将列表中重复的元素的过滤
    e = [1,2,3,4,5,6,1,7,7,7,7]
    #方法一:
    print(list(set(e)))
    #方法二:
    counter = {}
    for i in e:
        if i not in counter.keys():
            counter[i] = 1
        else:
            counter[i]+=1
    print(list(counter.keys()))
    
    ###############4、list和touple有什么区别?
    li = [1,2,3,4] #列表方入元素可变
    tu = (1,2,3,4) #元组的元素不可变
    
    ###############5、迭代器和生成器的区别是什么
    x = [1,2,3,4,5]
    y = range(1,6)
    print(y)
    print([i for i in y])
    """
    list相当于现成的商品,保存完整的数据,占用内存++
    generate不保存完整的数据,需要数据的时候,直接按照规则生成数据,相当于生产线
    """
    
    ###############6、如何将迭代器转化为生成器
    #直接将[]改成()
    
    ##############7、进程和线程的区别
    """"
    线程是程序运行的最小单元
    进程是操作系统管理的最小单元
    进程可能包含好几个线程
    进程消耗的资源更多
    """
    
    ##############8、简单说一下python中多线程的特点
    """
    一般编程语言中多线程可以利用CPU的多核心
    python的多线程有GLI全局篇,不能真正意义上用多核心
    """
    
    ##############9、python怎么利用多核心
    """可以利用多进程实现"""
    
    ##############10、请用python代码写一个单例模式,并简述单例模式的应用场景
    """
    单例模式:一个类只能创建一个对象,是常见的一种设计思路
    应用场景:1、自动化测试方向;日志logging,初始化driver;   资源共享,电脑回收站
    """
    class Single(object):
        #改写了new方法,cls指代的是类Single
        def __new__(cls, *args, **kwargs):
            #思路:让new方法只调用一次,flag属性
            if not hasattr(cls, 'flag'):
                # 调用new方法, 只有使用底层的new方法才可以生成内存地址
                cls.flag = super(Single,cls).__new__(cls)
            return cls.flag
    
    if __name__ == '__main__':
        a = Single()
        b = Single()
        print(id(a))
        print(id(b))
    
    
    ##############11、如果一个元素无法定位,你会考虑哪些方面原因?
    """
    有frame框架,跳入frame再定位
    元素是隐藏的,元素可能是动态的,id可能是变化的
    元素定位到了,但是不能操作
    """
    
    ##############12、遇到frame框架页面怎么处理?
    """
    跳入frame再定位,可以传递id等参数,再退出frame
    """
    driver.switch_to.frame('')
    
    ##############13、怎么验证元素是enabl、disable/checked状态?
    """
    is_enabled():可编辑
    is_displayed():判断元素在页面是否存在
    is_selected():选中
    """
    
    ##############14、遇到alert弹窗你怎么处理?
    """
    driver.switch_to.alert.accept() 
    """
    ##############15、举例说明一下你遇到过的哪些异常?
    """
    元素不可见异常、超时异常、元素没有这样的属性
    
    
    展开全文
  • 2021年测试开发面试题大全及答案 这一份全面详细的面试资料共【289】页文档包含:测试基础|接口测试|性能测试|自动化测试|软件测试工具|测试实战题|计算机Linux面试等等

    前言

    在我认为,对于测试面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+视频+总结,前几者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。

    博主总结了一系列面试中常问的面试技术点,深入解析以及答案,将为最近准备面试的工程师们保驾护航

    何谓面试? 博主所理解的面试,它是一个过程,是不断沉淀、不断总结、善于传达自己的专业领域技术以及解决问题能力的过程。以下是我总结的一些面试题,文中如有错误,恳请各位大佬指出!

    2021年测试开发面试题大全及答案 这一份全面详细的面试资料共【289】页文档包含:测试基础|接口测试|性能测试|自动化测试|软件测试工具|测试实战题|计算机及Linux面试等等

    篇幅限制,仅展示了目录,需要面试题文档完整版的,【点击此处】通过后自行下载《2021年测试开发面试题大全及答案【289】页》

    本文共 4800 字,预计阅读时间 15 分钟,一次性没时间看完的话,强烈建议收藏起来!

    目录

    测试基础面试题

    • Bug必填字段
    • 简述一下BUG的生命周期?
    • 你认为做好测试用例工作的关键是什么?
    • 一套完整的测试应该由哪些阶段组成?
    • 软件验收测试包括?
    • 系统测试的策略有?
    • 编写测试报告
    • 描述软件测试活动的生命周期?
    • 简述软件测试中的“80-20原则”。
    • 一个缺陷测试报告的组成
    • 什么是压力测试?压力测试需要考虑哪些因素?
    • 软件测试的目的是什么?
    • 黑盒测试用例设计常用方法
    • 单元测试、集成测试、系统测试、验收测试、回归测试这几步最重要的是哪一步?
    • 请说一下手动测试与自动化测试的优缺点
    • 怎么实施自动化测试
    • 什么是压力测试?压力测试需要考虑哪些因素?
    • 谈谈你对 CI/CD 的理解
    • 你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?

    性能测试面试相关

    • 性能测试的应用领域有哪些?
    • 性能测试包含了哪些软件测试(至少举出3种)?
    • 交付一个性能测试项目,请阐述你的性能测试流程
    • 如何理解压力测试,负载测试以及性能测试?
    • jmeter如何设计性能测试场景?
    • 介绍 JMeter 聚合报告包括哪些内容?
    • 解释5个常用的性能指标的名称与具体含义。
    • 你在性能测试中遇到哪些性能问题?
    • 举例说明jmeter的定时器用法?
    • 什么是性能测试?
    • 什么是上下文切换?哪些场景会存在上下文切换?
    • 如何用命令行生成测试报告?jtl文件怎么分析?
    • 性能测试中Linux命令
    • 什么时候可以开始执行性能测试?
    • 简述性能测试的步骤。
    • 性能测试时,是不是必须进行参数化?为什么要创建参数?
    • 描述不同的角色(用户、产品开发人员、系统管理员)各自关注的软件性能要点

    接口测试面试相关

    • 按你的理解,软件接口是什么?
    • HTTPS在哪一层?
    • get和post区别是什么?
    • 常见的POST提交数据方式
    • cookie和session的区别
    • 请问你们公司是如何做接口测试的?
    • 怎么设计接口测试用例?
    • 你做接口测试,测什么?
    • 没有接口文档,如果做接口测试?
    • 依赖于第三方数据的接口如何进行测试?
    • 接口测试中,依赖登录状态的接口如何测试?
    • 当一个接口出现异常时候,你是如何分析异常的?
    • 接口测试执行中比对数据库吗?
    • 响应状态码有哪些?
    • json数据是什么,你平时如何解析json数据?
    • postman你在工作中使用流程是什么样的?

    自动化测试面试相关

    • 你会封装自动化测试框架吗?
    • 你觉得自动化测试最大的缺陷是什么?
    • 什么是兼容性测试?兼容性测试侧重哪些方面?
    • 我现在有个程序,发现在 Windows 上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
    • 自动化代码中,用到了哪些设计模式?
    • 测试的策略有哪些?
    • 描述测试用例设计的完整过程?
    • 上一个项目中自动化测试的执行策略?
    • 在上一家公司做自动化测试用的什么框架?
    • 怎么对含有验证码的功能进行自动化测试?
    • 如何优化和提高 Selenium 脚本的执行速度?
    • 遇到alert弹出窗如何处理?
    • 元素定位方法你熟悉的有哪些?
    • Seleinum是否有读取excel文件的库
    • 举例一下你遇到过那些异常,在selenium自动化测试过程中
    • 你查找元素遇到过在Frame里面吗?你是如何处理Frame里面元素定位的?
    • 在执行脚本过程,如何实现当前元素高亮显示?
    • 你知道哪些测试自动化的脚本技术?

    软件测试工具

    • 接口测试:postman
    • 性能测试:jmeter、LoadRunner
    • 抓包工具:chales、fiddler
    • UI自动化:uiautomator2、appium、atx
    • 稳定性测试:monkey、maxim、uicrawler、appcrawler
    • 兼容性测试:wetest、testin
    • app自动化工具:appium、Monkey
    • web安全测试工具:appscan、Watcher、Wapiti
    • 白盒测试工具:JUnit、jtest
    • 持续集成工具:jenkins、Hudson

    软件测试实战

    • 网页崩溃的原因是什么?
    • 有个用户反馈上传头像失败,分析原因?
    • app闪退的原因?
    • 登录的按钮不能点击,如何排查问题?
    • 10%的用户反馈用不了功能,你讲如何排查?
    • 如何分析一个bug是前端还是后端的?
    • 如何回答登录功能怎么进行测试?
    • 京东购物车功能怎么进行测试?
    • 支付流程测试

    HR常问面试题

    1.为什么想进本公司,了解业务吗?
    2. 怎样看待加班问题?
    3. 为什么从上家公司离职?
    4.为什么选择测试这一行?
    5.还有什么想要问我的吗?
    6.测试看重什么能力
    7.之前实习收获了什么
    8.项目中收获了什么?
    9.你的期望薪资是多少?
    10.谈谈你对跳槽的看法?
    11.你最擅长的技术方向是什么?

    计算机及Linux面试相关

    Python编程+数据结构

    MySQL数据库面试题

    一点心得

    这个题库的价值不只是用来刷题,他的价值在于问题本身,问题本身比答案更重要。
    通过问题来验证自己的知识技能,核对自己对知识的掌握程度,这完全可以当做一种学习方法来执行。当我们遇到的问题越多,理解和解决的问题越多,相对的我们的能力就会越强。

    以上一些观点有些属于本人自嗨,现在回归初心,收集题库并创建题库站的最终目的是希望帮一些人提升一点效率,节约一点时间,利用碎片时间,上下班地铁上刷个题,如果还能帮你提升技能,提升搞定面试的几率,那就最好不过了。

    我正在打造一个纯技术交流群:前面107中间963最后6098,面向开始学习软件测试或是技能进阶的朋友,以学习、交流、思考、提升能力为目标,因为一个人学不如大家一起学,有了更多的交流才会进步的更快。

    在这个群里不用担心自己的能力不足,不用担心问题是否太小白而不敢说,大胆的说出问题, 让更多的人一起来分析,说错了也没关系。

    最后

    为你奉上我花费两个月时间整理的大厂面试秘籍!一定有你需要的!这些面试题都是非常容易被面试官问到的,建议保存,面试之前反复观看,同时也节省你网上搜索资料的时间来学习。最后祝愿所有的面试者都能够找到自己满意的工作。

    ☀️ 【点击图片即可分享软件测试面试资料】

    展开全文
  • 总结测试工程师面试题(含答案

    万次阅读 多人点赞 2021-08-13 16:18:18
    2)、测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围(来自需求文档),进度安排,人力物力的分配,整体测试策略的制定。风险评估与规避措施有一个制定。 3)、...

    一起加油哈

    软件的生命周期(基础)

    计划阶段-〉需求分析-〉设计阶段-〉编码->测试->运行与维护

    测试流程有啥(还是基础)

    1)、测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议。
    2)、测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围(来自需求文档),进度安排,人力物力的分配,整体测试策略的制定。风险评估与规避措施有一个制定。
    3)、测试设计阶段:主要是编写测试用例,会参考需求文档(原型图),概要设计,详细设计等文档,用例编写完成之后会进行评审。
    4)、测试执行阶段:搭建环境,执行冒烟测试(预测试)-然后进入正式测试,bug管理直到测试结束。
    5)、测试评估阶段:出测试报告,确认是否可以上线。

    项目中的测试流程(项目经历)

    需求评审(开发人员,产品经理,测试人员,项目经理进行)---需求确定(需求文档及原型图版本确定);

    开发设计文档(开发人员在开始写代码前就能输出设计文档:开发计划、架构设计、数据库设计、接口文档);

    测试计划、策略确定,编写测试用例---测试计划、用例评审;

    接到测试版本后执行测试用例(补充维护用例);

    提交bug---开发人员修改;

    回归测试(可能又会发现新问题,再按流程开始跑)

    验收测试后编写各项报告。

    测试用例设计方法(写没写过用例)

    白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖

    黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法(老司机靠脑补大法

    软件测试分为几个阶段 各阶段的测试策略和要求(又是基础)

    测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段

    单元测试:是针对软件设计的最小单位(对于功能测试就是模块)

    集成测试:是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。

    系统测试:是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。

    验收测试:以需求阶段的《需求规格说明书》为验收标准,测试时模拟实际用户的运行环境

    bug描述与周期(对--基础)

    1、bug标题要简洁明了,重心明确

    2、要写明问题出现的前提条件

    3、操作过程要按步骤写清楚

    4、要写实际效果和预期效果

    5、要标明bug出现的概率

    6、提供必要的截图和日志,比较复杂的操作步骤提供视频

    7、bug等级要分好类,致命性bug、严重bug、一般性bug、建设性意见

    8、出现bug的软件版本号

    9、bug出现的模块

    发现》提交》指派》研发确认》研发修复》回归验证》是否通过验证》关闭

    测试结束的标准(emmmm)

    1、用例全部测试。

    2、覆盖率达到标准。

    3、缺陷率达到标准。

    4、其他指标达到质量标准

    你在测试中发现了一个bug,但是开发认为这不是一个bug,你应该怎样解决(坑爹的沟通能力)

    1、将问题提交到缺陷管理库里面进行备案。

    2、要获取判断的依据和标准:

    3、根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;

    4、如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;

    5、与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

    最后、抛给领导等结果~

    快速区分bug来源以及常见状态码(12345)

    哥,咱们一起看报文,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对;请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题,状态码如下:

    状态码 原因短语
    1XX Informational (信息性状态码)接收的请求正在处理  
    2XX    Success (成功状态码)请求正常处理完毕  
    3XX    Redirection (重定向状态码)需要进行附加操作以完成请求
    4XX    Client Error(客户端错误状态码)服务器无法处理请求
    5XX    Server Error (服务器错误状态码)服务器处理请求出错  

     http与https区别(加密传输)

    http协议和https协议的区别:传输信息安全性不同、连接方式不同、端口不同、证书zhuan申请方式不同、传输信息安全性不同

    1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息;

    2、https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。

    二、连接方式不同

    1、http协议:http的连接很简单,是无状态的;

    2、https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

    三、端口不同
    http协议:使用的端口是80;       https协议:使用的端口是443。

    四、证书申请方式不同

    http协议:免费申请            https协议:需要到ca申请证书,一般免费证书很少,需要交费

     get和post的区别(更详细的在后面的文章中,其实问put更好)

    a、GET请求在URL中传送的参数是有长度限制的,而POST没有

    b、GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

    c、GET参数通过URL传递,POST放在Request body中。

    d、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

    e、GET请求只能进行url编码,而POST支持多种编码方式。

    f、GET请求会被浏览器主动cache,而POST不会,除非手动设置。

    g、GET产生的URL地址可以被Bookmark,而POST不可以。

    h、GET在浏览器回退时是无害的,而POST会再次提交请求。 

    Alpha测试与beta的区别(基础++)

    Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。由一个或多个用户在开发环境下进行测试。

    Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。由一个或多个用户在用户实际环境下进行而是。 

     常用的测试工具(可以学学~)

    (fiddle、jmeter、postman、roadrunner、selenium、appium、jenkins、git、svn、禅道、xss平台、mysql、monkey等)

    fiddle:常用抓包工具,使用方式都是万变不离其宗和jmeter代理服务器一样(详细在下面

    jmeter:比较强大的压测工具,我写了个专栏讲解,感兴趣可以看一下https://blog.csdn.net/weixin_46658581/category_11228583.html?spm=1001.2014.3001.5482

    postman:最简单的接口测试工具,个人觉得很一般...推荐jmeter-.-

    monkey:瞎几把点系列 https://blog.csdn.net/weixin_46658581/category_11265713.html?spm=1001.2014.3001.5482

    工具这东西不是一两句说的清的,后面我会慢慢完善编辑专栏进行分析哈~~~

    接口测试常见问题(emmm基础)

    1、通过性验证,说白了就是传递正确的参数,是否返回正常的结果

    2、参数组合,因为参数有必传和非必传,参数的类型和长度,以及传递时可能业务上的一些限制,所以在设计用例时,就要排列组合这些情况,保证所有情况都能覆盖到

    3、接口的安全性,这个又分为几种情况:

    1)绕过验证,比如提交订单时,在传递商品价格参数时,修改商品价格,就要看后端有没有验证了。或者我支付时,抓个包将订单金额一改,如果能以我改后的金额支付,那这个借口就有问题了。

    2)绕过身份验证,就是某个功能只有有特殊权限的用户才能操作,那我传递一个普通的用户,是不是也能操作呢

    3)参数是否加密,这个关系到一些账户的安全,比如我们在登录一些网站时,它要将我们的登录信息进行加密,如果不加密我们的信息就会暴露,危害性极大。

    4) 密码安全规则,设置密码时复杂程度的校验。

    依赖性接口测试:上下游接口依赖性(+++1)

    用一个全局变量来处理依赖的数据,比如登录后返回token,其它接口都需要这个token,那就用全局变量来传token参数

    依赖于第三方数据的接口如何进行测试最正确的回答是mock,当然我们简单点去搞也一

    1、获取上一个接口的返回值

    2、将返回值设置成环境变量或者全局变量

    3、设置下一个接口的参数形式

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

    登录接口依赖token的,可以先登录后,token存到一个yaml或者json或者ini的配置文件里面
    后面所有的请求去拿这个数据就可以全局使用了,如果是cookies的参数,可以用session自动关联

    接口测试用例的举例:登录

    参数是否必填、参数间是否存在关联、参数取值范围 业务规则

    phoneNumber和password参数正确,登陆成功

    phoneNumber参数正确,password类型不为String, 登陆失败

    phoneNumber参数正确,password参数缺失, 登陆失败

    password参数正确,phoneNumber超过11位,登陆失败

    password参数正确,phoneNumber不为String,登陆失败

    password参数正确,phoneNumber参数缺失,登陆失败

    用户未注册,返回登陆失败 密码错误,返回登陆失败
    参数故意传入空字符串或null, 可看是否有进行处理

    常见面试中坑爹用例设计:如何测试一个纸杯=.=(有时候是花盆、桌子)

    功能度:用水杯装水看漏不漏;水能不能被喝到

    安全性:杯子有没有毒或细菌

    可靠性:杯子从不同高度落下的损坏程度

    可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

    兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

    易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

    用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

    疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

    压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

    APP测试哪些方面(对没错还是基础) 

    权限测试、安装、运行、卸载测试、UI测试、功能测试、性能测试、中断测试、兼容测试、安全测试、回归测试、升级更新测试、用户体验测试

    fiddler抓包使用(没错,有幸被一个步骤一个步骤的问过)

    web:打开fiddler工具后,再去浏览器打开网页,fiddler会自动抓包,抓取请求响应数据。他会自动设置为本地代理,还可以设置抓取https协议的包。【亲~浏览器F12了解下】

    手机:在手机上的网络设置里,设置代理服务器。就是把fiddler作为代理服务器(fiddler自身要设置为支持远程连接),手机连接fiddler工具,所以手机代理服务器设置页面要输入打开fiddler工具的电脑的ip地址和fiddler的端口号8888,好让手机能连接fiddler,通过fiddler来访问互联网。

    什么是性能测试=.=(千言万语emmm)

    系统在一定的压力情况下,查看cpu,内存,磁盘,网络带宽,TPS、响应时间、并发用户数、等各项指标,通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求,就是在特定的运行条件下验证系统的能力状况。

    什么是负载测试(无力反驳)

    负载测试主要是考察软件系统在既定负载下的性能表现。就是站在用户的角度去观察一定条件下软件系统的性能表现。期望结果是用户的性能指标需求得到满足。性能指标一般体现为响应时间、并发量等。

    测试环境搭建(我怕麻烦简单bb下)

    1、通过winscp上传tomcat,MySQL安装包,JDK(Java开发环境工具包)到linux下

    2、利用tar -zxvf解压缩包命令对jdk,tomcat,mysql进行解包、安装,再配置jdk环境变量。

    3、把war包(web程序)放到tomcate指定目录webapps下,再启动服务器即可。(输入startup.sh的路径,直接回车即可运行)

    常用的Linux命令

    常用操作命令

    shutdown -h now 立刻关机 
    shutdown -h 5   5分钟后关
    poweroff        立刻关机
    shutdown -r now 立刻重启
    shutdown -r 5   5分钟后重启
    reboot 立刻重启
    cd / 切换到根目录cd 
    /usr 切换到根目录下的usr目录
    cd …/ 切换到上一级目录 或  cd … cd ~ 切换到home目录
    cd - 切换到上次访问的目录
    ls 查看当前目录下的所有目录和文件
    ls -a查看当前目录下的所有目录和文件(包括隐藏的文件)
    ls -l 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
    ls / 查看指定目录下的所有目录和文件
    查找命令
    grep    命令是一种强大的文本搜索工具
    find    命令在目录结构中搜索文件,并对搜索结果执行指定的作。
    locate  让使用者可以很快速的搜寻某个路径。
    whereis 命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。
    which   命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
    命令格式
    crontab [-u user] file
    crontab [-u user] [ -e | -l | -r ]
    参数说明:
    -u user:用来设定某个用户的crontab服务
    file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。
    -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
    -l:显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前用户的crontab文件内容。
    -r:删除定时任务配置,从/var/spool/cron目录中删除某个用的crontab
    文件,如果不指定用户,则默认删除当前用户的crontab文件。
    命令:pwd 查看当前目录路径
    命令:ps -ef 查看所有正在运行的进程
    命令:kill pid 或者 kill -9 pid(强制杀死进程) pid:进程号
    ifconfig:查看网卡信息
    命令:ifconfig 或 ifconfig | more
    ping:查看与某台机器的连接情况
    命令:ping ip
    netstat -an:查看当前系统端口
    命令:netstat -an
    搜索指定端口
    命令:netstat -an | grep 8080

    目录操作【增,删,改,查】

    【增】 mkdir
    mkdir aaa      在当前目录下创建一个名为aaa的目录
    mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
    【删】rm
    删除文件:
    rm 文件    删除当前目录下的文件
    rm -f 文件 删除当前目录的的文件(不询问)
    删除目录:
    rm -r aaa  递归删除当前目录下的aaa目录
    rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
    全部删除:
    rm -rf *   将当前目录下的所有目录和文件全部删除
    rm -rf /* 【慎用!慎用!慎用!】将根目录下的所有文件全部删除
    注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
    【改】mv 和 cp
    重命名目录
    命令:mv 当前目录 新目录
    例如:mv aaa bbb 将目录aaa改为bbb
    剪切目录
    命令:mv 目录名称 目录的新位置(将/usr/tmp目录下的aaa目录剪切到/usr目录下面 mv/usr/tmp/aaa/usr)
    拷贝目录
    命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
    (将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr)
    【查】find
    命令:find 目录 参数 文件名称
    示例:find /usr/tmp -name ‘a*’ 查找/usr/tmp目录下的所有以a开头的目录或文件

    文件操作【增,删,改,查】

    【增】touch
    touch 文件名(示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt)
    【删】 rm
    rm -rf 文件名
    【改】 vi或vim
    vi编辑器的3种模式
    基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
    1、command mode 命令行模式下的常用命令:
    【1】控制光标移动: ↑,↓,j
    【2】删除当前行: dd
    【3】查找:/字符
    【4】进入编辑模式: i o a
    【5】进入底行模式: :
    
    2、Insert mode编辑模式
    编辑模式下常用命令:
    【1】ESC 退出编辑模式到命令行模式;
    
    3、last line mode底行模式下常用命令:
    【1】退出编辑: :q
    【2】强制退出: :q!
    【3】保存并退出: :wq
    
    【查】文件的查看命令:cat/more/less/tail
    cat:看最后一屏 cat sudo.conf(使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容)
    
    more:百分比显示more sudo.conf(使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看)
    
    less:翻页查看less sudo.conf(使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看)
    
    tail:指定行数或者动态查看tail -10 sudo.conf(使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束)
    
    
    打包和压缩
    Windows的压缩文件的扩展名 .zip/.rar
    linux中的打包文件:aa.tar
    linux中的压缩文件:bb.gz
    linux中打包并压缩的文件:.tar.gz
    Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
    命令:tar -zcvf 打包压缩后的文件名 要打包的文件,其中:z:调用gzip压缩命令进行压缩
    c:打包文件
    v:显示运行过程
    f:指定文件名
    示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
    tar -zcvf ab.tar aa.txt bb.txt
    或:tar -zcvf ab.tar *
    解压
    命令:tar [-zxvf] 压缩文件
    其中:x:代表解压
    示例:将/usr/tmp 下的ab.tar解压到当前目录下
    tar -zxvf ab.tar
    示例:将/usr/tmp 下的ab.tar解压到根目录/usr下
    tar -zxvf ab.tar -C /usr------C代表指定解压的位置
    

    常用的mysql命令

    【增】insert
    insert into 表名 values(值1,值2,…);
    insert into 表名(字段1,字段2…) values(值1,值2,…);(较常用)
    insert into 表名(字段1,字段2…) values(值1,值2,…),(值1,值2,…),(值1,值2,…);
    
    【删】delete
    delete from 表名 where 条件 
    
    【改(更新)】update
    update 表名 set字段1 = 值1, 字段2 = 值2 where 条件
    
    重要*【查】select
    select * from 表名               查询表中的所有数据 
    select 字段 from 表名            指定数据查询 
    select 字段 from 表名 where 条件  根据条件查询出来的数据 
    
    where 条件后面跟的条件 
    关系:>,<,>=,<=,!=
    逻辑:or, and
    区间:id between 4 and 6 ;闭区间,包含边界
    
    【排序】
    select 字段 from 表 order by 字段 排序关键词(desc | asc)
    排序关键词 desc 降序 asc 升序(默认)
    通过字段来排序 :select * from star orser by money desc, age asc;
    多字段排序 :select 字段 from 表 order by 字段1 desc |asc,…字段n desc| asc;
    
    【常用的统计函数】 sum,avg,count,max,min
    

    多表联合查询

    
    1.内连接
    隐式内连接 select username,name from user,goods where user,gid=gods,gid;
    显示内连接 select username,from user inner join goods on user.gid=goods.gid;
              select * from user left join goods on user.gid=goods.gid;
    2.外链接 左/右连接
    select * from user where gid in(select gid from goods);
    select * from user right jOin goods on user.gid=goods.gid;
    
    3.数据联合查询
    select * from user left join goods on user.gid=goods.gid union select * from user right join goods on user.gid=goods.gid;
    
    4.两个表同时更新
    update user u, goods g set u.gid=12,g.price=1 where u.id=2 and u.gid=g.gid;

    子句

    说明

    是否必须使用

    select

    要返回的列或表示式

    form

    从中检索数据的表

    仅在从表选择数据时使用

    where

    行级过滤

    group by

    分组说明

    仅在按组计算聚集时使用

    having

    组级过滤

    order by

    输出排序顺序

    limit

    要检索的行数

     monkey

    命令:adb shell monkey +命令参数
    所有的参数都需要放在monkey和设置的次数之间;参数的顺序可以调整,若带了-p ,-p必须放在monkey之后,参数必须在-p和次数之间
    
    2.monkey基础命令
    adb shell monkey -p 包名 -v -s seed值 压测次数
    
    参数-p:
    此命令用于指定要测试的包,若不指定则在整个系统中执行
    
    a)指定一个包执行10次:adb shell monkey -p 包名 10
    
    如下出现事件执行次数和所耗时间,则算是执行成功;
    
    b)指定多个包执行10次:adb shell monkey -p 包名 –p 包名 10
    
    参数 -v:
    用于指定反馈日志的详细程度级别(共3个级别)
    
    1.Level 0: adb shell monkey -p 包名 -v 10
    
    默认级别,仅提供启动、测试完成和最终结果等少量信息
    
    2.Level 1: adb shell monkey -p 包名 -v -v 10
    
    提供较为详细的日志,包括每个发送到Activity的事件信息
    
    3.Level 2: adb shell monkey -p 包名 -v -v -v 10
    
    提供最详细的日志,包括了测试中选中/未选中的Activity信息
    
    参数 -s:
    用于指定伪随机数生成器的seed值
    
    命令:adb shell monkey -p 包名 –s seed值 执行次数
    
    作用:如果seed值相同,则两次Monkey测试所产生的事件序列也相同的。
    
    示例:
    
    测试1:adb shell monkey -p com.qq –s 15888 100
    
    测试2:adb shell monkey -p com.qq –s 15888 100
    
    说明:
    
    两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。(也就是说,重复执行上次的随机操作)
    
    操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;
    
    运行:
    >>不间断操作500次              adb shell monkey -p 包名 -v 500  
    
    >>每个操作间隔500ms,共执行100次             adb shell  monkey -p 包名  -v-v --throttle  500 100
    
    >>每个操作间隔100ms,共执行1000次 ,其中点击事件占比50%,轨迹50%                 adb shell monkey  -p  包名  -v-v --pct-touch  50  --pct-trackball 50 --throttle 100 1000
    
    >>日志重定向到桌面文件夹                               adb shell monkey  -p  包名  -v-v --pct-touch  50  --pct-trackball 50 --throttle 100 1000>C:\Users\xyp\Desktop\Android脚本\1.log
    
    >>每个操作间隔500ms、崩溃、超时、许可错误继续执行                       adb shell  monkey -p  包名   --throttle  500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v-v-v  1000000>C:\Users\xyp\Desktop\Android脚本\1.log
    
    停止monkey测试           
    重新打开一个cmd窗口>>进入adb shell>>ps | grep monkey查找monkey进程>>kill  进程号结束monkey
    
    日志分析
    1. 查找出差步骤:
    a)找到monkey里哪个地方出错
    
    查看Monkey执行的是哪一个Activity,在switch后面找,两个swtich之间如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。
    
    b)查看Monkey里面出错前的一些事件动作,手动执行该动作
    
    >>Sleeping for XX milliseconds这是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件
    
    >>Sending XX 就是代表一个操作,如下图的两个操作 应该就是一个点击事件。
    
    c)若以上步骤还不能找出,则可以使用之前一样的seed,再执行monkey命令一遍,便于复现
    
    2.测试结果分析:
    >>程序无响应,ANR问题:在日志中搜索“ANR”
    
    >>崩溃问题:在日志中搜索“CRASH”
    
    >>其他问题:在日志中搜索”Exception”
    
    monkey说明
    --throttle   时间间隔
    
    --ignore-crashes    忽略崩溃
    
    --ignore-timeouts  忽略超时
    
    --ignore-security-exceptions   忽略许可错误
    
    --ignore-native-crashes  忽略本地崩溃
    
    --monitor-native-crashes   监控本地崩溃
    
    --pct-touch  触摸、点击
    
    --pct-motion 调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)
    
    --pct-trackball  调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)
    
    --pct-nav 调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
    
    --pct-majornav 调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
    
    --pct-syskeys 调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)
    
    --pct-appswitch 调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法
    
    --pct-flip 调整“键盘翻转”事件的百分比。
    
    --pct-anyevent 调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等
    
    注意:各事件类型的百分比总数不能超过100%
    

    请看更多文章哦~~~ 

     

     

    展开全文
  • 测试开发面试题汇总(自用)

    千次阅读 多人点赞 2021-01-12 13:21:03
    TCP 报文头里面的序号能使 TCP 的数据按序到达 报文头里面的确认序号能保证不丢包,累计确认超时重传机制 TCP 拥有流量控制拥塞控制的机制 可以参考这一篇博客 请简单说一下你了解的端口对应的服务 21端口:...
  • 小编特意整理了100道软件测试面试题,送给大家,希望大家都能顺利通过面试,拿下高薪。赶紧拿去吧~~ 正文: Q1、什么是软件测试? Q2、软件测试的目的? Q3、测试工程师的职责 Q4、什么是软件的生命周期? ...
  • 判断 (每2分20) 1软件测试就是为了验证软件功能实现的是否正确是否完成既定目标的活动所以软件测试在软件工程的后期才开始具体的工作 初级? 2发现错误多的模块残留在模块中的错误也多( ) 初级 3测试人员在测试...
  • 自动化测试面试题及答案

    千次阅读 2020-12-21 07:29:48
    自动化测试面试题及答案?--看完后吊打面试官!一、前言最近有童鞋和我抱怨,说网上很难搜到那些全面又合适的自动化测试面试题,这里根据我个人的经验以及收集整理的:你没看错,不慌,慢慢来。先从什么是自动化测试...
  • 包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2022软件测试面试宝典,还有软件测试求职的...
  • 31.Spring 介绍优点: Spring一个轻量级的Java 开发框架,Spring的核心是控制反转(IoC)和面向切面(AOP) 1.方便解耦,简化开发 (高内聚低耦合) Spring就是一个大工厂(容器),可以将所有对象的创建和依赖...
  • 相信大家都有这样一个忧虑就是面试,不管我们要找什么工作,面试都会是必不可少的,下面是整理出来的面试题和我的一些见解觉得不对的在评论区留言
  • 自己总结了各大厂软件测试测试开发的高频面试题还有参考答案,非常全面:软件测试开发面试八股文题目参考答案-其它文档类资源-CSDN文库https://download.csdn.net/download/weixin_47164283/85260410 ...
  • 测试开发面试题--2

    2018-04-13 08:28:25
    测试开发的部分面试题目,部分公司的题目,包括部分测试工具原理。
  • MySQL面试题及答案 【最新版】MySQL面试题大全,发现网上很多MySQL面试题及答案整理都没有答案,所以花了很长时间搜集,本套MySQL面试题大全 如果不背 MySQL面试题答案,肯定面试会挂! 这套MySQL面试题大全,...
  • 自动化测试面试题及答案大全(1)

    千次阅读 2021-02-09 13:45:01
    自动化面试题记录整理(部分答案自己整理)selenium中如何判断元素是否存在?没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素+异常捕获的方式判断selenium中hidden或者是display = none的元素是否可以...
  • 基础、liunx、MySQL、web测试、接口测试、APP测试 、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源需要的可以【点击这里领取完整版的面试题~暗号CSDN...
  • 软件测试面试题及答案,2021最强版!

    万次阅读 多人点赞 2021-03-06 14:13:21
    软件测试面试题及答案,2021最强版!
  • 主要考察面试者的语言表达能力、逻辑思维能力、反应能力、理解能力、协调能力等,一般会在面试开始热身的时候问一两道。 1、自我介绍 2、换工作的意图,遇到了什么问题,你想要新的公司/团队给你带来什么? 3...
  • 2019年资料,非常全面,一共323页
  • Java中级面试题及答案【最新版及答案,干货!!!这是一个中级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。 Java中级面试永远是程序员...
  • 【面试总结】测试开发面试题目

    千次阅读 2020-04-30 23:25:49
    从三月初开始找工作到现在,先后面试了阿里巴巴、支付宝、字节跳动、网易、快手的测试开发岗。 大公司对于测试发开的要求相比来说高很多,要求掌握的知识点的广度和深度层次也比较高,遂整理了这两个月的面试题目...
  • Java面试永远是程序员迈向成功的第一个门槛,想要面试成功,各种面试题的洗礼是必不可少的,下面就来看看小编精心整理的一些Java工程师面试题及答案吧。 博主已将以下这些面试题整理成了一个Java面试手册,是PDF版...
  • 絮叨 最近整理了各BATJ自动化测试面试题资料,如果你对python自动化测试面试题感兴趣的话可以加入我们175317069一起学习,会有各项测试资料发放。希望能帮助到你在面试前的一个复习,找到一个好的工作。也节省你...
  • 前端面试题以及答案 HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级使用、HTML5、CSS3、移动端适应。 JavaScript: 数据类型、面向对象、继承、闭包、...
  • Java面试题及答案2019版(上)

    万次阅读 多人点赞 2019-07-15 16:25:48
     // true a自动拆箱成int类型再和c比较 } } 最近还遇到一个面试题,也是和自动装箱和拆箱有点关系的,代码如下所示: public class Test03 { public static void main(String[] args) { Integer f1 = ...
  • 2022年 接口测试高频面试题及答案

    千次阅读 2022-03-14 21:28:45
    为什么要做接口测试/接口测试有哪些优势? 请问你们公司是如何做接口测试的? 怎么设计接口测试用例? 没有接口文档如何做接口测试? 怎么区分bug是前端还是后端的bug? 常用的接口测试工具? 接口之间数据依赖如何...
  • Java开发面试测试题答案
  • 测试技术面试题 开发及环境搭建类面试题 人力资源面试题
  • 软件测试面试题 用例编号 测试项目 测试标题 重要级别 预置条件 输入数据 执行步骤 预期结果 1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,489
精华内容 14,595
关键字:

测试开发面试题及答案

友情链接: dotnetapp.rar