软件测试面试题及答案

  1. Beta测试和Alpha测试有什么区别?

Answer:区别:两者的主要区别是测试的场所不同。Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。而beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。一般地,alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。如果产品通过了beta测试,那么就可以正式发行了。

 

  1. 软件测试是从软件的哪个阶段介入的,介入以后一般会做些什么?为什么从这个阶段介入?

Answer:从需求分析阶段介入,测试人员在需求分析阶段,主要做:1.理解需求,2.指出需求中不明确的地方,3. 分析测试范围和测试点

 

  1. 集成测试和系统测试的关系

Answer:系统测试最主要的就是功能测试,测试软件《需求规格说明书》中提到的功能是否有遗漏,是否正确的实现。做系统测试要严格按照《需求规格说明书》,以它为标准。测试方法一般都使用黑盒测试法; 集成测试在系统测试之前,单元测试完成之后系统集成的时候进行测试。集成测试也叫接口测试,我之前工作中主要针对一些http协议的rest接口做一些接口测试,主要用到的工具有:fiddler,postman,jmeter

 

  1. 测试计划工作的目的是什么?测试计划工作的内容包含什么?其中哪些是最重要的?

Answer:目的:1.确定测试所需要的时间和资源,以保证其可获得性、有效性。2.确立每个测试阶段测试完成以及测试成功的标准、要实现的目标。3.识别出测试活动中各种风险,并消除可能存在的风险,降低由不可能消除的风险所带来的损失。 主要要素:产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等

 

  1. 描述tcp/ip协议的层次结构,每一层中的重要协议

A: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

 

  1. 什么是并发?在loadrunner中如何设置并发测试?集合点失败了怎么办?

A:并发是指在同一时刻与服务器进行了交互的在线用户数量。在loadrunner中,通过在脚本中设置集合点,然后在controller中设置集合点策略,来实现并发测试集合点释放失败的原因是服务器无法处理这么大的并发数,可能原因有:数据库无法处理这么多并发,也有可能是服务器中间件tomcat内存不足,或者服务器cpu,磁盘io等也可能造成集合点释放失败

 

 

  1. 描述ls命令的常用参数,及参数的意义

 

  1. 命令“tail myself”和“head myself”什么意思?

A: tail myfile表示:显示myfile 的最后10行 head myfile表示:显示myfile 的前10行

 

  1. vi编辑器中,哪个命令可以将光标移动到200行?进行字符串查找使用什么命令?怎样从插入模式转换成命令行模式?
  2. Linux系统中把/home/wwwroot/sinozzz123目录重命名为/home/wwwroot/sinozzz456的命令是什么
  3. 使用c语言编写函数,交换两个变量的值

#include #include int main() {     int a =10, b = 20;     printf("交换前a=%d, b=%d\n", a, b);          int temp = a;//先定义一个临时变量     a = b;     b = temp;          printf("交换后a=%d, b=%d\n", a, b);          return 0; }

  1. 数据库中什么是基本表?什么是视图?

A: 基本表是本身独立存在的表,在SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不存在独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍然存放在导出视图的基本表中。用户可以在基本表那样使用视图,可以在视图上再定义视图。

 

  1. 下面的SQL试题将使用到如下一个银行基本数据库,基本表结构如下: 表名列名 Branch (分支机构)branch-name branch-city assets 表名列名 Customer (客户)customer-name customer-street customer-city 表名列名 Loan (贷款)loan-number branch-name amount 表名列名 Borrower (贷款人)customer-name loan-number 表名列名 Account (账户)account-number branch-name balance 表名列名 Depositor (存款人)customer-name account-number

13.1.  找出住在Harrison且在银行中至少有三个账户的客户的平均余额

 

13.2. 找出在银行中有贷款的客户的名字,并且他的名字既不是Smith 也不是 Jones

 

13.3. 找出那些总资产至少比位于Brooklyn某一家支行要多的支行的名称

 

13.4. 找出所有在Perryridge支行中只有一个账户的客户

 

13.5. 找出loan表中amount为空值的贷款号

 

13.6. 找出每个支行储户数

 

13.7. 找出账户平均余额大于1200元的支行

 

13.8. 找出街道地址中包含子串Main的所有客户的姓名

 

 

A.1:Select depositor. customer-name, avg(balance)From depositor, account, customer Where depositor.account-number = account.account-number And account.account-number = customer.customer-nameAnd customer-city = ‘Harrison’group by account.customer-name having count (distinct depositor.account-number)>=3

 

A.2:select distinct customer-name from borrowerwhere customer-name not in (‘Smith’,’Jones’)

 

A.3:Select distinct T.branch-name From branch as T, branch as S Where T.assets > S.assets and S.branch-city = ‘Brooklyn’

 

A.4. Select T.customer-name From depositor as TWhere unique (select R.customer-name From account, depositor as RWhere T.customer=R.customer-name and R.account-number=account.account-number and Account.branch-name=’Perryridge’)

 

A.5:Select loan-number From loanWhere amount is null

 

A.6:Select branch-name, count(distinct customer-name)From depositor, account Where depositor.account-number = account.account-numberGroup by branch-name

 

A.7:Select branch-name, avg(balance) From account Group by branch-nameHaving avg(balance) > 1200

 

A.8:Select customer-name From customer Where customer-street like ‘%Main%’

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/cctv4/p/11533554.html

你可能感兴趣的:(软件测试面试题及答案)