美文网首页项目资料收集&面试题
开发测试岗——测试问题

开发测试岗——测试问题

作者: ZYJ2016 | 来源:发表于2017-10-22 16:06 被阅读63次

百度校招二面挂,突然又收到通知让面开发测试岗,只有一晚上准备测试内容。临时抱佛脚,不少问题果然问到。记录如下。

相关概念

测试过程
测试过程包括五大部分,分别为:单元测试、集成测试、确认测试、系统测试、验收测试。

黑盒
在完成完成后关注程序功能是否符合需求,是否能适当地接收输入数据、产生正确的输出信息。

白盒
在开发中关注代码运行的效率和结果。

在设计测试用例时,有用到过哪些方法?
黑盒测试:等价类,边界值,因果图,功能划分,错误猜想。。。
白盒测试:语句覆盖,分支覆盖,逻辑覆盖。。。

单元测试
对软件中最小可测单元进行检查和验证。
C语言单元指一个函数、JAVA单元指一个类。

集成测试
在单元测试的基础上,将所有模块安装设计需求组装成子系统或者系统,进行集成测试。
实践表明,一些模块虽然能够单独工作,但并不能保证连接起来也能正常工作。一些局部上反映不出来的问题,在全局上可能暴露出来。

系统测试
将已确认的软件与计算机硬件、外设、网络等所有元素结合在一起,进行系统的各种组装测试和确认测试。验证系统是否满足需求规格,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。


数据库


类型、粒度、应用场景

类型

共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。

排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。

更新(U)锁:更新锁在修改操作的初始化阶段用来锁定可能要被修改的资源,这样可以避免使用共享锁造成的死锁现象。

使用共享锁时,修改数据的操作分为两步:
首先获得一个共享锁,读取数据;
然后将共享锁升级为排它锁,然后再执行修改操作。

这样如果同时有两个或多个事务同时对一个事务申请了共享锁,在修改数据的时候,这些事务都要将共享锁升级为排它锁。这时,这些事务都不会释放共享锁而是一直等待对方释放,这样就造成了死锁。
如果一个数据在修改前直接申请更新锁,在数据修改的时候再升级为排它锁,就可以避免死锁。

粒度

锁是具有粒度的,即可以对不同的资源加锁。

锁定的粒度包括 行、页、扩展盘区、表、库等。

锁定在较小的粒度的资源(例如行)上可以增加系统的并发量但需要较大的系统开销,从而也会影响系统的性能,因为锁定的粒度较小则操作可能产生的锁的数量会增加;

锁定在较大的粒度(例如表)就并发而言是相当昂贵的,因为锁定整个表限制了其它事务对表中任意部分进行访问,但要求的开销较低,因为需要维护的锁较少。

什么时候用行锁什么时候用表锁

对于InnoDB表,在绝大部分情况下都应该使用行级锁,因为事务和行锁往往是我们之所以选择InnoDB表的理由。但在个别特殊事务中,也可以考虑使用表级锁。

第一种情况是:事务需要更新大部分或全部数据,表又比较大,如果使用默认的行锁,不仅这个事务执行效率低,而且可能造成其他事务长时间锁等待和锁冲突,这种情况下可以考虑使用表锁来提高该事务的执行速度。

第二种情况是:事务涉及多个表,比较复杂,很可能引起死锁,造成大量事务回滚。这种情况也可以考虑一次性锁定事务涉及的表,从而避免死锁、减少数据库因事务回滚带来的开销。


测试要点

正确性、可用性、边界条件、性能、压力测试、错误恢复、兼容性、安全性。


测试用例

微信朋友圈

1.是否可以正常点赞和取消;
2.点赞的人是否在可见分组里;
3.点赞状态是否能即时更新显示;
4.点赞状态,共同好友是否可见;
5.不同手机,系统显示界面如何;
6.性能检测,网速快慢对其影响;
7.点赞显示的是否正确,一行几个;
8.点赞是否按时间进行排序,头像对应的是否正确;
9.是否能在消息列表中显示点赞人的昵称、备注;
10.可扩展性测试,点赞后是否能发表评论;
11.是否在未登录时可查看被点赞的信息。

自动贩卖机

金额刚够,顺利出货
金额超出,找零出货
金额超出, 没钱找零,出货
金额不足,进行提示,把货币退出
金额足够,取消交易
假币,不出货

扫码支付

1,通过网银充值10元(标题) 然后请自己描述详细操作步骤
预期结果 支付宝帐户中增加10元(前提是不考虑网络延时,或各网银的出帐延时)
2,通过网银充值时 网银余额不足
预期结果 充值失败 不影响支付宝中帐户金额
3,通过网银充值时,在任意操作步骤中(建议是最后一步)取消该服务
预期结果 充值失败 不影响支付宝中帐户金额
4,充入0元 (基本上不会同意充0的操作的吧)
预期结果 充值失败 提示输入大于0的金额
5,充入n元(N= 支付宝每次限制的最大充值金额)
预期结果 支付宝帐户中增加n元
6 充入N+1元 (与第5条一样,都是边界值法。但是要分开写成两条)
预期结果 充值失败/提示金额大出限制

百度首页测试

界面测试

文字、按钮、图标等大小显示正常,风格一致,整体美观自然。

功能测试

百度首页呈现的功能:新闻,网页,贴吧,知道,音乐,图片,视频,地图,这8个是最主要的;
紧接着次要的百科,文库,hao123,更多;
除此之外就是把百度设为主页,安装百度浏览器,加入百度推广,关于百度等等;
和用户相关的还有登录,注册。

边界条件测试

  1. 用例说明: 最小输入值为0个字时。
    输入: 不输入文字,直接按搜索。
    预期结果: 页面刷新,无变化。
  2. 用例说明: 百度搜索文本框内可输入的最大字数是100个汉字。
    输入: 键盘输入或复制粘贴一段很长的中文进入文本框。
    预期结果: 100字时不能输入或被百度自动截取其中前100个字。
  3. 用例说明: 百度搜索文本框的输入值在点击搜索按钮后,会被截取前38个汉字,其后面的字词均被忽略。
    输入: 键盘输入或复制粘贴大于38个汉字进入搜索框。
    预期结果: 按下搜索按钮,百度跳转到搜索结果页面,并提示“"××" 及其后面的字词均被忽略,因为百度的查询限制在38个汉字以内”,将被自动截取的内容复制粘贴到word,统计字数为38。
  4. 用例说明:任意一个中文、英文、符号、空格在输入进文本框内第一次计数时均视同一个汉字。
    输入:输入或者复制粘贴任意一个中文、英文、符号、空格后输入大于38汉字。
    预期结果: 第一个字符被当做汉字计算。
  5. 用例说明: 连续的空格在点击搜索按钮后进行搜索时会自动合并,并转化一个单独的空格。
    输入: 复制粘贴38个汉字进入搜索文本框,并中间加入62个连续空格后按下搜索。
    预期结果: 搜索结果里最后一个汉字被忽略,因为前面有37个汉字加1个合并后的空格长度已达38.并且在文本框里原来62个空格的位置现在显示一个空格。

兼容性测试

WINDOWS/LINUX/UNIX等各类操作系统下及各版本条件下的应用;
IE/FIREFOX/GOOGLE/360/QQ等各类浏览器下及各版本条件下的应用;
SQL/ORACLE/DB2/MYSQL等各类数据库存储情况下的兼容性测试;
简体中文、繁体中文、英文等各类语种软件平台下的兼容性测试;
IPHONE/IPAD、安卓等各类移动应用平台下的兼容性测试。

相关文章

  • 开发测试岗——测试问题

    百度校招二面挂,突然又收到通知让面开发测试岗,只有一晚上准备测试内容。临时抱佛脚,不少问题果然问到。记录如下。 相...

  • 以始为终—测试计划及测试用例的重要性

    纵观测试行业的发展史,从原来的 测试岗 到 现在的 测试开发岗,一路猛歌高唱开发能力在测试岗位的重要性,但是却忘记...

  • 2020届暑期实习-字节跳动测试岗面经

    作者按:本人先后面试字节跳动公司测试开发岗和测试岗,最后被测试岗捞起并上岸。现分享本人面经及个人总结,以供各位参考...

  • 记一次奇葩的面试经历

    岗位: 引擎测试岗 面试官问题 1 测试管理和项目管理有什么区别 2 测试管理中在工作中比重 3 测试管理中对于k...

  • 测试的使命

    测试最终为业务服务。无论是做开发还是做测试,最终都是为了解决业务问题、解决用户的问题。开发更多地是构建质量,而测试...

  • 测试

    软件测试的分类 按开发阶段来分:单元测试、集成测试、系统测试、验收测试。按测试的实施单位来分:开发方测试、用户测试...

  • 敏捷实践之desk check

    背景 软件开发的流程中,往往测试提供了测试用例,开发自测后提测,如果测试发现问题再反馈回来,如果一些功能点是有问题...

  • 消费品企业如何开展口味测试的市场调研?

    口味测试主要目的:选择合适产品,发现产品问题,协助产品开发。 测试方法: —单一产品测试 —全组合配对产品比较测试...

  • Flowable部署服务器乱码

    问题场景 最近开发flowable的项目,开发完成之后本地测试没有问题(本地连接的测试库),当项目发布到Linux...

  • 测试开发是测试,还是开发?

    读者提问: 测试开发工程师到底是测试,还是开发? 阿常回答: 既是测试,也是开发。 首先,测试开发是测试工程师,他...

网友评论

  • Mirana_Z:确认测试和验收测试是什么呀
    ZYJ2016: @Mirana_Z 字面意思🙀

本文标题:开发测试岗——测试问题

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