软件测试常规面试题问答题(附带答案)-问答基础篇02

填空题

1.常见的黑盒测试方法有 等价类、边界值、场景法、判定表、正交法、错误推测法等。

2.典型的软件测试过程模型有 V模型、W模型、H模型、X模型等。

3.在测试中的80-20原则是指 80%的缺陷出现在20%的模块。

4.日前Unix 操作系统提供的一个常用的文本编辑器是vi (vim): 其中有:命令行模式、末行模式、插入模式。

5.软件的六大质量特性包括:功能性、可靠性、易用性、效率性、软件维护性、软件可移植性。

6.软件缺陷产生的原因包括 需求、设计、开发 以及其他原因。

7.jmeter测试元件的执行顺序

(1)配置元件(config elements )

(2)前置处理程序(Per-processors)

(3)定时器(timers )

(4)取样器(Sampler)

(5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空)。

(6)断言(Assertions)(除非Sampler 得到的返回结果为空)。

(7)监听器(Listeners)(除非Sampler 得到的返回结果为空)。

8.oralce数据库默认的监听端口号为1521;mysql的默认端口号为3306.

9.使用loadrunner的步骤:

(1)创建脚本-创建脚本,选择协议-录制脚本-编辑脚本-检查修改脚本是否有误

(2)用中央控制器来调度虚拟用户-创建场景,选择脚本-设置机器虚拟用户数-设置事务-如果模拟多机测试,设置IP

(3)运行脚本

(4)分析测试结果

判断题

1.软件测试是通过运行程序来查看错误 错 (静态测试不运行程序)

  1. 验收 测试是以最终用户为主的测试 对

3.测试程序仅仅按预期方式运行就行了 错 还要找出规格的疏漏

4.回归测试是用于验证改变了的系统或组件是否保持原有的特性 对

5.好的测试员不懈追求完美 错 不能过于钻牛角尖,好的测试员知道何时完美无法企及,何时达到“够好”

6.软件测试工具可以替代测试员 错 自动化测试不能完全替代手工测试

7.软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一 对

  1. 自动化测试可能延误项目进度 对

9.软件测试是有效的排除软件缺陷的手段 对

  1. 只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性 错

简答题

1.什么是软件测试
顾名思义,就是在规定的条件下对一个产品或程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

通俗来讲,软件测试是保障软件质量全过程的集合。

2.软件测试的目的
发现软件的缺陷与漏洞,对软件的质量进行评估,提高软件的质量。

3.什么是集合点?设置集合点有什么意义?loadrunner中设置集合点的函数是哪个?
集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,已达到模拟真实环境中多个用户同时操作,同时产生负载,实现性能测试的最终目的。

添加方法:

1、其中录制脚本script view中添加:lr_rendezvous(“XXX”);

2、在录制脚本的tree view里添加:rendezvous-XXX;

4.性能测试中tps如果上不去原因有哪些

1.网络宽带

在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。

2.链接池

可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。

3.垃圾回收机制

从常见的应用服务器来说,比如Tomcat,因为java的的堆栈内存是动态分配,具体的回收机制是基于算法,如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,那么对TPS

也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。

4.数据库配置

高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,

就会导致数据库事务处理过慢,影响到TPS。

5.通信链接机制

串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。

(关于协议的连接,可参考之前的博客:HTTP协议进阶:连接管理)

6.硬件资源

包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。

7.压力机

比如jmeter,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS(这个时候就需要进行分布式压测来解决其单机负载的问题)。

8.压测脚本

还是以jemter举个例子,之前工作中同事遇到的,进行阶梯式加压测试,最大的模拟请求数超过了设置的线程数,导致线程不足。

提到这个原因,想表达意思是:有时候测试脚本参数配置等原因,也会影响测试结果。

9.业务逻辑

业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。

10.系统架构

比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。

5.响应时间和吞吐量之间的关系是什么

响应时间的定义:响应时间是提交请求和返回该请求的响应之间使用的时间。

吞吐量的定义:吞吐量是对单位时间内完成的工作量的量度。

响应时间越短,单位时间内的吞吐量越大;响应时间越长,单位时间内的吞吐量越小。

综合题

1.一台测试压力机模拟2000个客户对服务端进行压力测试与4台压力机对 服务端进行压力测试,有什么区别

计算机基础
1.linux显示当前目录命令

pwd

2.查找文件

find

3.显示文件的后N行内容

tail -n +200 filename.txt

4.在文件中查找某个字符

grep'word'filename

5.显示所有进程

ps aux

2.有两张图书表和作者表
图书(图书好,图书名,作者编号,出版社,出版日期)

作者(作者姓名, 作者编号,年龄,性别)

a.查出所有姓张的作者姓名

select* from 作者 where name like "张%"

b.查询出书最多的作者的姓名和图书

数学推理
请选择正确的选项

1, 5,6,8,10,14(D)

a.12 b.16 c.18 d.22

2, 2,2,3,5,14 (D)

a.50 b.55 c.63 d.69

3,1,1,2,6,8,11(B)

a.13 b.17 c.18 d.20

4,1,7,19,37(B)

a.57 b.61 c.66 d.80

5,2,12,23,52( B )

a.61 b.74 c.76 d.82

1.。。。。11有3个表S,C,SC;

找出没有选修过“李明”老师讲授课程的所有学生姓名
Select S.Sno,S.Sname
from S
where Sno not in
(select distinct( SC.Sno)
from SC,C,T
where SC.Cno=C.Cno and T.Tno=C.Tno and T.Tname='李明');
Select S.Sno,S.Sname
from S
where not exists
(select *
from SC,C,T
where S.Sno=SC.Sno and SC.Cno=C.Cno and T.Tno=C.Tno and T.Tname='李明');
以上两种方法都是正确的。

2.。。。。在linux系统中,一个文件的访问权限是755,其含义又是什么
文件权限为755

1、第一位7,代表文件所有者拥有的权限为可du读(4)+可写(2)+可执行(zhi1)

2、第dao二位5,代表文件所有者同组用户的权限为可读(4)+不可写(0)+可执行(1)

3、第三位5,代表公共用户的权限为可读(4)+不可写(0)+可执行(1)

3.。。。。linux中,如何从root用户切换到普通用户?

1.su是在用户间切换,可以是从普通用户切换到root用户,
2.也可以是从root用户切换到普通用户。如果当前是root用户,那么切换成普通用户test用以下命令:su - test
3.如果要切换回root用户,那么用以下命令:su或su -用户名root可以省略不写。切换回root用户时要输入root密码。一般直接输入exit命令来切换回root用户,这样就不用输入密码。

4.。。。。说出4种及以上常用的操作系统及其主要的应用范围(微软的操作系统除外)
参考答案:
Linux(RedHat、SUSE、Debian、TruboLinux):主要用于搭建各类服务器
MACOS:苹果机的操作系统,用于图像处理
Unix(AIX:IBM服务器的专用操作系统;
Solaris:Sun操作系统;FreeBSD、NetBSD.

5.。。。。一套完整的测试应该由哪些阶段组成分别阐述一下各个阶段。
分为计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试。一套完整的测试应该由五个阶段组成:

6.。。。。。什么是黑盒测试,黑盒测试的常用方法及个方法的理解
主要对软件内部的结构和算法进行测试

① 等价类划分
② 边界值分析
③ 因果图分析法
④ 错误推断法 等

详细分析:
(一)等价类划分:
等价类的划分无非就两种情况:有效等价类、无效等价类

1.有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能需求。

2.无效等价类:与有效等价类的定义恰巧相反。
无效等价类是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
他能检验程序在不符合规则的数据输入下,是否会有异常(无效等价类至少应该有一个,也可能有多个,视情况而定

(二)边界值分析法
1.边界值分析法也是一种典型的黑盒测试方法,其主要的测试点 是对“输入”或“输出”的“边界”值进行测试
2.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界

(三)因果图分析法
1.这里我们先回顾一下前面介绍的两种黑盒测试方法:等价类划分法和边界值分析法,我们可以发现,等价类划分法和边界值分析法它们都是着重考虑输入条件,但是未考虑输入条件之间的联系、相互结合等。
2.考虑输入条件之间的相互结合可能会产生一些新的情况。但要检查输入条件的结合不是一件容易的事情,即使把所有的输入条件划分成等价类,他们之间的结合情况也相当多。因此,必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图分析法(逻辑模型)

(四)错误推断法
在软件测试过程中,人们可以依靠经验和直觉推测系统中可能存在的各种错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法。

基本思想:
①根据以往的测试经验和对系统内部知识的了解,列出系统中各种可能有的错误和容易发生错误的特殊情况,再根据它们来设计测试用例。
②随着在产品测试的实践中对产品的了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效。
③可以作为测试设计的一种补充手段,并且积累的经验越丰富,方法使用效率越高

7.。。。。移动环境下测试设计需要考虑的因素

首先,要了解移动产品和web端产品之间有什么不同。从自身属性和结构来说,移动端偏向于手势操作,而且受限于屏幕尺寸的大小,尤其是还受限于网络环境——3G网络、4G网络,甚至是已经落后的2G网络,都会影响到用户体验移动端的产品。因此,移动产品设计首要需要考虑屏幕的适配,手势操作需符合用户习惯,图文的配置需要考虑到用户使用场景的限制因素,产品里的透露的信息是否可以满足用户在网络不良情况下也可以操作自如,无忧浏览

8.。。。。设计一个程序,读入三个整数,代表三角形三边长,程序显示三角形是不等边三角形,等腰三角形或等边三角形

include

using namespace std;
int isSanjiaoxing(int a,int b,int c)
{
if(a>(b+c) || b>(a+c) || c > (a+b))return 0; //不是三角形,返回0
else return 1; //是三角形,返回1
}
void main()
{
int choose;
for(;;)
{
cout<<"╔══════主菜单══════╗"< cout<<"║ ① 输入三条边 ②退出 ║"< cout<<"╚═══════════════╝"< cout<<"请选择功能:";
cin>>choose;
switch(choose){
case 1: //输入三条边并判断
int a,b,c;
cout<<"请依次输入三个条边,每次以回车隔开:";
cin>>a>>b>>c;
int i;
i = isSanjiaoxing(a,b,c);
if(i == 0)cout<<"该三条边不能构成三角形!"< else cout<<"该三条边能构成三角形!"< break;
case 2:
exit(0); //退出
default:
cout<<"输入不正确,请重新输入!"< }
}
}

你可能感兴趣的:(软件测试常规面试题问答题(附带答案)-问答基础篇02)