软件测试笔试、面试题目集锦

一、单选题

1、软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节B)
?A.集成测试?B.单元测试?C.目的测试?D.确认测试
单元测试是对最小可测试单元的检查和验证

2、测试工程师在软件测试计划阶段依据(A)制定指定测试进度
?A.工作说明书?B.概要设计说明书?C.详细设计说明书?D.单元测试用例
工作说明书–SOW 制定测试进度
概要设计说明书–HLD 设计测试用例
详细设计说明书–LLD 程序员编码实现
单元测试用例–UTC 单元测试使用

3、软件测试阶段中,集成测试阶段常用的方法是(D)
?A.使用黑盒测试方法即可?????B.使用白盒测试方法即可
?C.以黑盒测试为主,白盒测试为辅?D.以白盒测试为主,黑盒测试为辅

4、软件测试的目的是(C)
?A.证明软件中没有错误?B.改正软件中的错误
?C.发现软件中的错误??D.优化程序结构

5、关于软件测试对于软件质量的意义,错误的是(C)
?A.度量与评估软件的质量?B.改进软件开发过程
?C.保证软件质量?????D.发现软件错误

6、软件测试用例主要由输入数据和(C)两部分组成
?A.测试计划?B.测试规范?C.预期输出结果?D.异网测试记录分析

7、为了提高软件测试的效率,应该(C)
?A.随机选取测试数据
?B.在完成编码以后制定软件的测试计划
?C.选择发现错误可能性最大的数据作为测试用例
?D.取一切可能的输入数据作为测试数据

8、软件长时间运行的测试,以期发现一些资源泄露等问题,这种测试类型一般是(D)
?A.强度测试?B.基准测试?C.负载测试?D.稳定性测试

9、软件测试哪个阶段修复缺陷的成本最低(A)
?A.需求分析阶段?B.系统测试阶段?C.集成测试阶段?D.编码阶段

10、所有的软件测试必须在实际使用环境下进行,否则结果无任何意义(B)
?A.正确?B.不正确
解析:压测不能在生产环境上进行

11、软件测试的目的是尽可能多的找出软件的缺陷(A)
?A.正确?B.不正确

12、软件验收测试不包括(B)
?A.正式验收测试?B.白盒测试?C.alpha测试?D.beta测试
解析:白盒测试属于结构化测试

13、以下有关软件测试中路径测试的说法,错误的是(D)
?A.路径测试是整个测试的柱石,是结构测试之一
?B.穷举路径测试是不可能完成的
?C.在研究路径测试时,通常使用程序控制流图代替程序框图
?D.为了达到完全覆盖,路径选择时应尽量选择复杂的路径代替简单的路径
解析:既然要达到完全覆盖,那么长路径和短路径都要有

二、不定项选择题

1、软件验收测试包括(BCD)
?A.功能测试?B.正式验收测试?C.alpha测试?D.beta测试

2、软件验收测试的合格通过准则是(ABCD)
?A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求
?B.所有测试项没有残余严重问题
?C.立项审批表,需求分析文档,设计文档和编码实现一致
?D.验收测试工件齐全

3、从下列关于软件测试的叙述中,选出正确的叙述(AB)
?A.发现错误多的程序块,残留在模块中的错误也多
?B.测试设计时,应充分考虑 异常的输入情况
?C.用黑盒法测试时,测试用例是根据程序内部逻辑设计的
?D.测试的目的是验证该软件已正确的实现了用户的要求

4、以下哪些内容属于软件测试的范围(ABCD)
?A.在产品需求阶段,了解需求详情并准备测试方案
?B.在版本提测之前,为开发人员准备自测用例
?C.在产品发布之前,组织众测并整理反馈
?D.在产品发布之后,关注用户数据和线上反馈

5、使用软件测试工具的目的是(ABC)
?A.帮助测试寻找问题?B.协助问题的诊断
?C.节省测试时间?D.提高bug的发现率

6、下面关于软件测试,描述正确的是(ABC)
?A.软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程
?B.软件测试的测试目标是发现一些可以通过测试避免的开发风险
?C.软件测试的原则之一是测试应该尽早进行。最好在需求阶段就开始介入
?D.软件测试主要工作内容是验证问题

7、在软件测试阶段,可以采用哪些策略进行单元测试(ABCD)
?A.逻辑覆盖?B.代码评审?C.同行评审?D.循环覆盖
解析C:同行评审是用来检验软件开发,软件评测各阶段的工作是否齐全、规范,各阶段产品是否达到了规定的技术要求和质量要求,以决定是否可以转入下一阶段的工作

8、以下关于软件测试活动目的的表述,正确的是(ACD)
?A.证明程序有错误,暴露问题
?B.证明发布的程序无任何错误
?C.证明技术实现与产品设计的一致性
?D.证明产品设计与用户需求的一致性

三、问答题

3.1 测试基础

1、什么是软件测试及软件测试的意义/strong>

?定义:为了发现错误而执行程序的过程
?意义:以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由潜在的软件缺陷和错误造成的隐患所带来的的商业风险

2、您所熟悉的软件测试类型都有哪些试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试等)

测试类型:功能测试、性能测试、界面测试
功能测试(黑盒测试):把测试对象看作一个盒子,利用黑盒测试进行动态测试时,需要测试软件产品的功能,不需要测试软件产品的内部结构和处理过程。

采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略

性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行,通过负载测试,确定在各种工作负载下系统的性能,目标时测试负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试

界面测试:界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户完成自己相应得操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能够给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的微距与放弃中付诸东流

区别
?功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题
?性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性
?界面测试更关注于用户体验上,用户使用该产品时是否易用,是否易懂,是否规范(快捷键之类),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户五一输入无效数据),做某个性能测试时,首先它可能是一个功能点,保证其功能没问题,然后考虑该功能点的性能测试

3.2 mysql数据库

3.2.1 增删改查操作

增:

  • 插入指定列:insert into 表名(列1,列2…) value(值1,值2…);
  • 插入所有列:insert into 表名 value(值1,值2…)
  • 一次插入多行:insert into 表名 value(值1,值2…)
    ????????????????(值1,值2…)

添加一个属性:

  • alter table + table名字 + add + 字段名 + 数据类型;

解析:在表testTable中插入2个字段,font和age

自增:

?order by默认升序asc。若存在where子句,order by必须放在where语句后,如:

自减:

删:

  • delete from 表名 where 列名 = 值;

改:

  • update 表名 set 列名 = 新值 where 列名 = 某值;

查:

  • 查询部分列:select 列1,列2…from 表名 [where 条件];
  • 查询所有列:select * from 表名 [where 条件];
  • 查找指定的几行数据:select * from 表名 limit 5;
  • 查询列别显示别名
  • 计算负荷条件的平均年龄,且显示为别名

3.2.2 数据库连接

内连接–inner join on:

返回的是两个表的交集

左外连接–left join

左表(a_table)的记录全部显示,右表(b_table)只显示与左表相交的部分

右外连接–right join

右表(b_table)记录全部显示,左表(a_table)只显示与右表相交的部分

3.2.3 常见面试题

1.主键、外键、超键、候选键/strong>

?主键:能唯一标识元组的候选键

?外键:如果模式R中的属性k是其他模式的主键,那么k在模式R中称为外键

?超键:在关系中能唯一标识元素属性的集称为关系模式的超键

?候选键:不含有多余属性的超键

2.drop、truncate、delete的区别/strong>

drop:删除内容和定义,释放空间【表结构和数据一同删除】

truncate:删除内容,释放空间,但不删除定义【表结构还在,数据删除】

delete:删除内容,不删除定义,也不释放空间

3.3 linux

  • cd… :返回上一级目录
  • cd…/… :返回上两级目录
  • ls:查看目录中的文件
    ? ls -F:查看目录中的文件
    ? ls -l:显示文件和目录的详细资料
    ? ls -a:显示隐藏文件
  • pwd:查看当前目录的路径
  • ps -ef:查看进程
  • kill:结束进程
  • igconfig:查看网卡信息
  • ping:查看与某台机器的连接情况
  • netstat -an:查看当前系统端口
  • ctrl l:清屏

目录操作:

  • mkdir:创建目录
  • rm:删除目录或文件
  • cp:拷贝目录
  • mv:剪切或重命名
  • find:搜索目录
    ?find /-user user1:搜索属于用户‘user1’的文件和目录

文件操作:

  • touch:新建文件
  • rm:删除文件
  • vi/vim:修改文件

查看文件

  • cat:看最后一屏
  • more:百分比显示
  • less:翻页查看

权限修改:

  • chmod +x aaa.txt
  • r:可读
  • w:可写
  • x:可执行文件

查找命令:

  • grep
  • find
  • locate
  • whereis
  • which

3.4 网络协议

1.什么是HTTP请求,请求方式有哪些/strong>

?HTTP:超文本传输协议。HTTP定义了信息如何被格式化,如何被传输,以及在各种命令下服务器和浏览器所采取的的响应

?请求方式:GET、POST、PUT、HEAD、DELETE等

2.Post请求与get请求的区别/strong>

?GET请求:获取资源。get方法一般用来从服务器上获取资源的方法。服务器接到get请求后,就会明白客户端是要从服务器获取相应的资源,然后会根据请求报文中相应的参数,将需要的资源返回给客户端,使用get方式的请求,传输的参数是拼接在URL上的

?POST请求:数据提交。一般用于表单提交,将客户端的数据塞到请求体中发送给服务器端

区别:

  • 1)get请求无消息体,只能携带少量数据;post请求消息体,可以携带大量数据
  • 2)get请求将数据放在url地址中;post请求将数据放在消息体中
  • 3)get请求提交的数据放在HTTP请求协议中;post提交的数据放在实体数据中。get方式提交的数据最多只能有1024字节,post没有限制

来源:╰ー 幸运儿

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月22日
下一篇 2021年4月22日

相关推荐