2021-04-08

一,简答题:

  1. 商品B 原价:13.00元 限时折后价:10.00元 优惠券:0.00元 优惠券使用后应付:10.00元满10-1元使用后应付9.00元实付:9.00元 (这种计算方法对吗?如果对,请答:正确:如果不对:请写出正确的计算方法。)

    正确

  2. 商品C原价:22.00元 限时折后价:20.00元 优惠折扣:5折 折扣使用后价格为多少元? 之后参加满减优惠:满5元减5元 实付多少元?

    5元

  3. 用边界值法测试,一个商品价格区间为0元至5元,那么,在测试中应该取的边界值是什么?

    2

  4. 一个新项目下来,要经过哪些个测试阶段才能正式发布?

    测试计划

    测试设计

    测试开发

    测试执行

    测试评估

  5. APP和 web测试有什么不同?

    (01)APP的兼容性测试尤为重要:由于手机厂商生产的手机型号及相关软硬件存在千千万万的差异性,进而APP端需要着重考虑分辨率、系统版本、尺寸、主流机型等等;

    (02)APP性能测试指标不一样:除了需要和web一样考虑APP客户端的性能外,我们还需要考虑电量、流量的消耗、GPU渲染等;

    (03)APP网络测试场景的复杂性:如2G、3G、4G、5G、wifi、弱网环境等

    (04)APP基于手机载体存在的交叉事件测试、前后台切换、安装/卸载/升级测试

    (05)APP基于手机载体特有的一些用户操作习惯类测试,如横竖屏切换、多点触控、事件触发区域等

  6. 工作中会发现有些难题你是倾向于找领导解决还是自己解决完之后告知领导你的结果?

    自己解决完之后告知领导结果

  7. 简述测试用例包含那些必要部分?怎样理解sanity case 和moke case?

    用例编号,所属模块,测试标题,重要级别,前置条件,测试输入,操作步骤,预期结果。以及编写测试用例时的注意事项

  8. 如何判断一个问题是不是bug?bug一般分为哪些级别,以及如何定级?

    1. 通过技术文档来识别缺陷。
    2. 根据行业标准规范或参考同类型软件来识别缺陷
    3. 与客户和相关人员沟通来识别

    BUG一般分致命,严重,一般和提示

    致命是严重影响产品的BUG

    严重是产品中使功能无法实现的BUG

    一般是某个BUG的发生,只影响了一个功能,而其他功能可以正常运行。

    提示就是一些GUI的问题,或者友好性的问题。

  9. 功能测试的常用方法有哪些?以微信朋友圈的点赞功能为例,请设计测试用例?

    等价类、边界值、错误推测、因果图、判定表以及业务流程图

    用例:

    1. 是否可以点赞
    2. 取消点赞
    3. 多次点赞会出现什么情况
    4. 多人点赞时的顺序是否按照时间顺序进行排列
    5. 点赞是否显示头像和名称
    6. 点赞之后能否进行评论
    7. 点赞之后退出该页面,再次进入朋友圈点赞消息是否还存在
    8. 多用户点赞,再次打开朋友圈是是否可以按照顺序看到是谁谁谁赞了我
  10. 简述app测试中,性能二叉树主要包含哪些方面?

    1.连接超时

    2.崩溃

    3.系统交互

    4.弱网下的运行情况

    5.CPU使用问题

  11. 请说明一下每条命令的含义

    (1) adb devices -l

    找不到设备锁定

    (2) adb install-r[path]/ adb uninstall [package]

    安装程序到绝对路径并锁定/卸载此应用

    (3) adb puah [File]

    将文件拷贝

    (4) adb pull [File]

    复制文件

    (5) adb shell dumpsys meminfo

    以用来查看指定进程包名的内存使用情况

  12. 在你之前的项目测试中,做过哪些兼容测试?

    Web兼容

    App兼容

    操作系统兼容

    浏览器兼容等等

  13. 是否了解package与activity的定义和关系?

    activity的定义:Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互!Activity用于显示用户界面,用户通过Activity交互完成相关操作 , 一个App允许有多个Activity。

    package:的作用是把不同的 java 程序分类保存,更方便的被其他 java 程序调用。

    关系:

  14. 使用monkey命令做稳定性测试,用到过哪些参数?各代表什么意思?

    \1. adb devices 查看设备

    \2. adb logcat >d:/111.log 指定log的位置

    \3. adb install 这个命令将指定的apk文件安装到设备上

    \4. adb shell -p 包 100 执行monkey命令

  15. 在IT中场景的请求方式有哪些?有什么区别?是否了解cookie,session,tpken的用法和区别?

    请求方法 GET 请求获取Request-URI所标识的资源

    POST 在Request-URI所标识的资源后附加新的数据

    HEAD 请求获取由Request-URI所标识的资源的响应消息报头

    PUT 请求服务器存储一个资源,并用Request-URI作为其标识

    DELETE 请求服务器删除Request-URI所标识的资源

    TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断

    CONNECT 保留将来使用

    OPTIONS请求查询服务器的性能,或者查询与资源相关的选项和需求

  16. 你之前的服务端或前端测试中有几个环境,这些环境有什么区别?

    开发环境:开发环境是专门用于开发的服务器

    测试环境:一般是克隆一份生产环境的配置

    生产环境:是指正式提供对外服务的

  17. 请对淘宝的收藏功能设计功能及接口测试用例

  18. 如何判断 个bug是客户端问题还是服务端问题还是前端问题?
    先使用抓包工具确定服务器接口反回的数据是否正确,这样就可以排除是否是服务器原因
    如果返回的是服务器报错那麼就是服务器原因, 如果反回的数据与接口文档不符那麼就是接口问题, 最後就是客户端问题.

  19. 简述软件项目的选代流程,你在过去的工作中参与过哪些环节?

    1. 风险评估
    2. 成本预算
    3. 客户沟通的过程
    4. 需求分析
    5. 面向对象程序设计
    6. 开发管理
    7. 产品交付
  20. 临近发版阶段,突然产品要新加一个需求,直接来找你,你该怎么做?

    客户的需求变更是对的,满足其工作需求、现实中的系统需求不可能一次性的全部提出,因此我们要以对等的心态来面对客户的需求

二 、口述题:是否遇到过测试任务过多无法完成的情况?当时你是怎么解决的?

应该把问题向项目经理反馈,跟项目经理说明测试情况,现有的测试时间能够完成哪些的测试。不能完成的测试任务由项目经理决定,是否加班或者加人完成。最主要的是要将风险暴漏出来及时处理。

三、简答题

  1. 在同一个项目组内,你认为你怎么做会比另外一名测试更加优秀?

    • 业务熟悉度更高, 架构理解更深入, 代码能力要更好, 协调推动能力更强
  2. 版本发布后,线上出现了bug,你认为该怎么解决?

    1. 评估bug的影响范围
    2. 解决线上问题
    3. 回溯线上问题
  3. 对于一个相对成熟的项目,你认为你在团队中承担着怎样的角色?你认为自己改怎样在团队中生存。

  4. 你做软件测试多久了?你认为对于测试人员,最重要的三个特点是什么?

    系统思维能力

    项目管理能力

    沟通表达能力

  5. 简述测试流程?

  6. 什么是软件测试?软件测试的目的与原则?

    通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程

    目的:找出软件存在的缺陷

    原则:

    原则一:尽早进入软件测试
    原则二:穷尽测试是不可行的
    原则三:程序员应避免检查自己的程序
    原则四:充分注意测试中缺陷的群集现象
    原则五:严格执行测试计划,排除测试的随意性
    原则六:应当对每一个测试结果做全面的检查
    原则七:妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便
    原则八:设计测试用例时,应当包括合理的输入数据和不合理的输入数据
    原则九:测试用例应由测试数据和与之对应的预期输出结果这两部分组成

  7. 目前主要的测试用例设计方法是什么?

    等价类、边界值、因果图、错误猜测、正交试验

  8. 给你一个网站,你如何测试?

    首先,查找需求说明、网站设计 等相关文档,分析测试需求。

    制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:

    功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试

    设计测试用例

    功能性测试:

    可以包括,但不限于以下几个方面:

    链接测试:链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。

    提交功能的测试。

    多媒体元素是否可以正确加载和显示。

    多语言支持是否能够正确显示选择的语言等。

    界面测试:

    可以包括但不限于一下几个方面:

    页面是否风格统一,美观

    页面布局是否合理,重点内容和热点内容是否突出

    控件是否正常使用

    对于必须但为安装的空间,是否提供自动下载并安装的功能

    文字检查

    性能测试:

    一般从以下两个方面考虑:

    压力测试;负载测试;

    数据库测试:

    要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。

    安全性测试:

    1 基本的登录功能的检查

    2 是否存在溢出错误,导致系统崩溃或者权限泄露

    3 相关开发语言的常见安全性问题检查,例如 SQL 注入等。

    4 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持

    **兼容性测试:**根据需求说明的内容,确定支持的平台组合:

    浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性

    开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理

    体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。

    定期评审,对测试进行评估和总结,调整测试的内容。

  9. 软件的安全性应从哪几个方面去测试?

    (1) 用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议

    (2) 加密机制

    (3) 安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描

    (4) 数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理

    (5) 防病毒系统

  10. 黑盒测试和白盒测试是软件测试的两种基本方法请分别说明各自的优点和缺点?

      1. 黑盒测试的优点有 :
    
  1. 比较简单,不需要了解程序的内部的代码及实现
  2. 与软件的内部实现无关
  3. 从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题
  4. 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能
  5. 在做软件自动化测试时较为方便
    缺点 :
    1)不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%
  6. 自动化测试的复用性较低。

2. 白盒测试的优点有 :
1) 帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题
缺点 :
1) 程序运行会有很多不同的路径,不可能测试所有的运行路径
2) 测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求
3) 系统庞大时,测试开销会非常大。
 3. 什么是并发?
操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,
 4. 您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?
就事论事,对事不对人
沟通不夹杂个人情绪
 5. 测试结束的标准是什么?
单元测试退出标准

1) 单元测试用例设计已经通过评审

2) 核心代码100% 经过Code Review

3) 单元测试功能覆盖率达到100%

4) 单元测试代码行覆盖率不低于80%

5) 所有发现缺陷至少60%都纳入缺陷追踪系统且各级缺陷修复率达到标准

6) 不存在A、B类缺陷

7) C、D、E类缺陷允许存在

8) 按照单元测试用例完成了所有规定单元的测试

9) 软件单元功能与设计一致

集成测试退出标准

1) 集成测试用例设计已经通过评审

2) 所有源代码和可执行代码已经建立受控基线,纳入配置管理受控库,不经过审批不能随意更改

3) 按照集成构件计划及增量集成策略完成了整个系统的集成测试

4) 达到了测试计划中关于集成测试所规定的覆盖率的要求

5) 集成工作版本满足设计定义的各项功能、性能要求

6) 在集成测试中发现的错误已经得到修改,各级缺陷修复率达到标准

7) A、B类BUG不能存在

8) C、D类BUG允许存在,但不能超过单元测试总BUG的50%。

9) E类BUG允许存在

1) 系统测试用例设计已经通过评审

2) 按照系统测试计划完成了系统测试

3) 系统测试的功能覆盖率达100%

4) 系统的功能和性能满足产品需求规格说明书的要求

5) 在系统测试中发现的错误已经得到修改并且各级缺陷修复率达到标准

6) 系统测试后不存在A、B、C类缺陷

7) D类缺陷允许存在,不超过总缺陷的5%

8) E类缺陷允许存在,不超过总缺陷的10%

  1. 请你回答一下性能测试有哪些指标,对一个登录功能做性能测试,有哪些指标
    从外部看,主要有

1、吞吐量:每秒钟系统能够处理的请求数,任务数

2、响应时间:服务处理一个请求或一个任务的耗时

3、错误率:一批请求中结果出错的请求所占比例

从服务器的角度看,性能测试关注CPU,内存,服务器负载,网络,磁盘IO

对登录功能做性能测试

单用户登陆的响应界面是否符合预期

单用户登陆时后台请求数量是否过多

高并发场景下用户登录的响应界面是否符合预期

高并发场景下服务端的监控指标是否符合预期

高集合点并发场景下是否存在资源死锁和不合理的资源等待

长时间大量用户连续登录和登出,服务器端是否存在内存泄漏

怎么测出可同时处理的最大请求数量

可以采用性能测试工具(WeTest服务器性能),该工具是腾讯wetest团队出品,使用起来很简单方便,但测试功能相当强大,能提供10w+以上的并发量,定位性能拐点,测出服务器模型最大并发

  1. 如何测试一个纸杯?
    需求测试:查看杯子使用说明书+界面测试:查看杯子外观+功能度:用水杯装水看漏不漏;水能不能被喝到+安全性:杯子有没有毒或细菌+可靠性:杯子从不同高度落下的损坏程度+可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用+兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等+易用性:杯子是否烫手、是否有防滑措施、是否方便饮用+国际化:杯子上的图案有没有触犯到某个国家或宗教的禁忌+用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

  2. 购物车功能怎么进行测试?
    界面显示设计
    购物车功能
    购物车基本功能
    购物车业务关联
    购物车非功能
    性能
    兼容性等

  3. 对于有系统大量并发访问,你会如何做测试,有什么建议
    如何做高并发系统的测试,一般而言,整体的测试策略是:先针对部分系统进行性能测试及压力测试,得到各部分的峰值处理性能,再模拟整体流程测试,重点测试整体业务流程以及业务预期负荷,着重测试以下几点:
    1、不同省份,不同运营商CDN节点性能,可采用典型压力测试方案
    2、核心机房BGP网络带宽,此部分重点在于测试各运行商的BGP网络可靠性,实际速率,一般采用smokeping,lxChariot等工具
    3、各类硬件设备性能,一般采用专业的网络设备测试工具
    4、各类服务器并发性能,分布式处理能力,可采用压力测试方案工具
    5、业务系统性能,采用业务系统压力测试方案
    6、数据库处理性能,这部分需要结合业务系统进行测试,以获取核心业务场景下的数据库的TPS/QPS,
    7、如果有支付功能,需要进行支付渠道接口及分流测试,此部分相对而言可能是最大的瓶颈所在,此外还涉及备份方案,容灾方案,业务降级方案的测试。

  4. 简述负载测试与压力测试的区别。

    负载测试是从并发量维度出发,不断增加并发量的情况下,系统的性能指标;

    压力测试是从访问时间维度出发,在并发量一定的情况下,不断增加连续访问的时间,系统的性能指标;

  5. 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。题是如何只用这2个水壶从池塘里取得3升的水。

    第一步:先取来6升水,倒进5升桶的水桶里,即得到6升桶里余下的1升水;
    第二步:把5L桶清掉,把取到的1升水放进5升的水桶里保留不动,然后再取6升水,倒进5升的水桶里,6升的桶得到的是2升水,把5L桶清掉,存放这2升水;
    第三步:5升水桶有2升水.再取6升水,倒进5升水桶里,原有2L升+3升=5升,这时6升-3升=3升,5升就没用了,要的就是6升里余下的这3升水了.

  6. 软件属性中,软件产品首要满是的应该是?

    功能需求

  7. 单元测试中设计测试用例的依据是?

    详细设计规格说明书

四、判断题

  1. 单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(对)
  2. 软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作( 错)
  3. 发现错误多的模块,残留在模块中的错误也多。(对)
  4. 测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(错 )
  5. 单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试,(对)
  6. 功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。(对)
  7. 软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。(对)
  8. 软件测试只能发现错误,但不能保证测试后的软件没有错误。(对)
  9. 软件就是程序。(错)
  10. 测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(错)

五、问答题

  1. 在您以往的工作中,一条软件缺陷(或者叫BUG)记录都包含了哪些内容?如果提交高质量的软件缺陷(bug)记录?

    一条BUG记录最基本应包含:编号、BU所属模块、BUG描述、BUG级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现bUG需要参加需求以及详细的设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布,这样才能提高提交BUG的质量。

  2. 测试分为那几个阶段?

    按照开发阶段划分,软件测试可分为单元测试、集成测试、系统测试和验收测试
    集成测试:针对每个单元的测试,以确保每个模块能正常工作为目标
    集成测试:对已经测试过的模块进行组装,进行集成测试。目的就是在于检验与软件设计相关的程序结构问题。
    系统测试:检验软件产品能够与系统的其他部分(比如:硬件、数据库及操作人员)协调工作。
    验收测试:检验软件产品质量的最后一道工序,主要突出用户的作用,同时软件开发人员也有一定程度的参与。

  3. 了解哪些测试工具?你是用过和知道的测试工具有哪些?各有什么用途?

    Jmeter:接口测试、压力测试
    soapui:接口测试
    xshell、xftp:管理linux系统
    禅道:管理BUG
    navictt:管理数据库

  4. 先有一个程序,页面提供3个输入框a、b、c,一个输出框d,根据a、b、c的输入判断数据层是否只能组成一个三角形(三角形两边之和大于第三边),在d中输出:是,否

    等价类划分法:
    有效等价类:a、b、c的值都大于0
    a+b>c且b+c>a且a+c>b
    无效等价类:
    a/b/c为0或负数
    a/b/c为空
    a/b/c为非数字
    a+b<=c b+c<=a a+b<=b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值