软件测试面试题收集4

1、 白盒测试方法:

语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

1、语句覆盖:设计若干测试用例使得可执行语句至少执行一次

2、判定覆盖:设计测试用例使得程序中每个判断(比如存在一个if判断,需要走if的子句,也需要有条用例走else的子句)的取真分支和取假分支至少经历一次—判断的T/F

3、条件覆盖:设计测试用例使得每个判断的每个条件的可能取值都至少执行一次,

4、路径覆盖:设计测试用例使得程序中所有可能的路径都执行一次,

5、判断条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次

6、条件组合:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖

2、子网掩码的作用和用法:

用来标识ip地址的所属主机属于那个子网,因此子网掩码就是将某个ip地址划分为网络地址和主机地址

比如:255.255.255.0是一个C类地址,前面3为表示网络地址,最后一位表示主机地址。

注:不同子网下的ip地址不能ping通,比如172.34.0.32与172.34.1.32的子网掩码设置都为255.255.255.0时是不能ping通,但是将子网掩码设置为255.255.0.0是可以ping。

注2:根据主机数设定子网掩码,比如将172.64.0.0划分若干子网,每个子网含有700台主机,设置的子网掩码就是255.255.252.0

方法:将700台主机转为二进制表示,1010111100,确定位数N为10,那么将255.255.255.255的二进制从后数10为设置为0.

2、 网站打开较慢的原因:

  1. 考虑外部因素,是不是网络出现延迟,或者电脑配置过低,如果已经开启了很多程序,在此打开网站时很慢

  2. 内部因素,网站中存在过多图片或者flash,打开也会导致很慢

  3. 服务器有限,而访问量很大,导致访问很慢

  4. 如果域名解析出错或者服务器环境不正常导致打不开网站

3、 linux改变用户的权限:

chmod 777 filename-----设置filename的所有者,同组成员,其它成员的权限具有读写执行

4、 cookie的作用:

  1. cookie保存在客户端,因此在客户端保存用户数据,起到简单的缓存和用户身份识别。

  2. 保存用户登录状态信息,当用户在客户端登录,服务器会返回一个cookie给客户端保存,当下次客户端登陆时,将cookie的信息发送给服务器,服务器通过cookie判断是否登录过

  3. cookie的添加导致每次请求都需要带上,会增加流量消耗,

  4. cookie有长度(4kb)和数量(20)的限制

  5. cookie采用明文方式传输,如果cookie被截取就容易被获取信息

5、 什么是递归:

递归通俗讲就是函数自己调用自己,需要明白递归的三要素:函数的功能,递归结束条件,函数的等价关系式。

比如斐波那契数列:1,1,2,3,5,8,13,21.。。。

函数功能:

def digui(n):
 # 返回斐波那契数列

递归结束条件:
def digui(n):
 # 返回斐波那契数列
 If n<=2:
 Return 1

函数等价关系式:
def digui(n):
 # 返回斐波那契数列
 If n<=2:
 Return 1
 Return digui(n-1)+digui(n-2)

6、 计算每个学生的总成绩:

每个学生的总成绩,包含学生所学的多门课程,所以需要使用学生表和成绩表

select study_data.student.stuid as 学号,study_data.student.stuname as 姓名,sum(study_data.score.score) as 总成绩 from study_data.student join study_data.score on student.stuid=score.stuid group by student.stuid;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

7、 app测试与web端测试的区别

首先在共同点上没什么区别,都需要测试相应需求的功能点,如果有必要还要测试对应的性能和压测。

由于在系统架构上,web是B/S架构,而app是C/S架构,所以两方面关注的点不一样。

区别1:在测试点上,web测试点击的响应时间长短来考虑用户的使用好感;而app除了有响应时间,还需考虑流量消耗,电量消耗等

区别2:兼容性上,web考虑5大内核浏览器的代表厂商,chrome,ie,firefox,opera,safari。App考虑android、ios和平板的区别,此外还需考虑同一厂家的不同手机型号(比如小米系列的小米6,小米10等),不同的系统版本(比如miui等),不同的厂家的手机型号(比如小米,华为等),可能还有不同的分辨率

Ie内核:qq、搜狗、百度、360、世界之窗等

Webkit内核:Safari、Chrome 手机浏览器都是webkit内核

Gecko内核: 火狐浏览器(Firefox) it类用的多

Presto内核:opera浏览器

区别3:专项测试,web没有,app有设置弱网测试,安装卸载和使用权限设置

区别4:自动化测试工具的使用,web常用selenium,app常用appium

8、 如何区分h5页面与android的原生页面:

首先了解h5是什么,h5是第五代超文本标记语言(互动形式的多媒体广告页面)可以实现跨平台使用,可以随时上线,不需要与app产品上线约束,同时也是html+css+js的组合技术。

区分方法1:利用抓包工具,抓取后h5链接,然后将该链接复制到浏览器打开,如果可以正常打开,说明就是h5.

区分方法2:h5页面的底部导航,在上拉会有一起滚动,

区分方法3:h5页面过度依赖网络,如果设置网络比较慢,打开页面会很慢,并且打开的前奏是空白页面,因为h5除了加载html,还需要js、css。

9、 h5页面的测试点:

1. 功能测试点,必要的功能都需要实现

2. 内部链接跳转是否正确

3. 登录测试,若客户端已登录,h5中进去就是登录,若客户端没有登录,进去h5加入需要登录,会调起原生登录页面。

4. 翻页测试,注意在急速操作情况下,第一页还没loading出来,就翻到第二页,查看请求是否已经发送

5. 刷新操作,刷新操作之后还是在当前页面

6. 在分辨率不一样的手机上测试,观察页面是否完全打开,是否有抖动等

10、打开页面是白屏的原因怎么确定:

首先F12查看控制台,确定是不是前端出现的错误(js有没有报错,或者页面元素隐藏)导致页面加载不出

如果前端没问题,那就是后端问题,服务器出现毛病,资源加载不出,找后端用日志查看。

一定不会是网络不通加载不出的原因

11、tcp与udp的主要区别:

在这里插入图片描述
在这里插入图片描述

12、tcp连接之后就进行数据传输吗:

首先了解tcp数据传输的3个步骤,连接建立,数据传输和连接释放

13、响应时间怎么判断正常:

1、2-5-10原则:2秒之内,响应很快;2-5秒响应速度还可以;5-10秒响应速度很慢,但还是可以接受;8秒之后没有加载出,糟糕透了。

2、终端用户响应时间= 页面下载时间+ 服务器响应时间+ 浏览器处理及渲染时间

14、登录过程中验证码如何绕过测试:

首先验证码分短信验证码,数字或者字母验证码,图片滑动验证码,计算验证码。

如果有可能:对于数字验证码,可以与开发商量在测试环境将代码隐藏,生产环境是不可能滴。其次还可以跟开发说将验证码设置万能验证码,直接写死。最后还可以将验证码从过cookie看能不能跳过获取。

15、在编写自动化测试用例过程中应该遵守以下几点原则:
1、一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器。
2、一个用例只验证一个功能点,不要试图在用户登录系统后把所有的功能都验证一遍。
3、尽量少的编写逆向逻辑用例。一方面因为逆向逻辑的用例很多(例如,手号输错有几十种情况);另一方面自动化脚本本身比较脆弱,对于复杂的逆向逻辑用例实现麻烦且容易出错。
4、用例与用例之间尽量避免产生依赖。
5、一条用例完成测试之后需要对测试场景进行还原,以免影响其它用例的执行。

16、进程与线程的区别:

一个在内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,多个线程可以共享数据。一个进程至少有一个线程。

同类的多个线程共享进程的堆和方法区,每个线程有自己独立的程序计数器,虚拟机栈,本地方法栈,所以线程之间切换就很方便代价较小。

进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位

同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的

17、输入url,到加载页面到底出现什么操作:

总的来说是2大步骤,首先DNS解析,将url域名解析成ip地址;其次根据ip地址进行http连接和断开,即所谓的三次握手四次挥手.

细说:DNS解析—》TCP连接(三次握手)—》发送HTTP请求—》服务器处理请求并返回HTTP报文—》浏览器解析数据渲染页面—》断开连接(四次挥手)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值