软件测试之面试题(一)

废话不多说,上干货!

目录

专栏一:软件基础

问题1:你认为什么是软件测试?

问题2:软件测试的目的是什么?

问题3:测试用例包含的内容有什么?

问题4:你发现了个bug,但开发认为这不是个bug,你会怎么办?

问题5:给你一个杯子如何进行测试(软件测试的类型有哪些)?

问题6:如何制定测试计划?

问题7:测试报告的内容有哪些?

问题8:怎么判断一个缺陷是前端还是后端的问题?

问题9:C/S模式和B/S模式,有什么区别?

问题10:说说印象让你最深的bug是什么?

专题二:Linux命令

问题11:说出你常用的10个以上的Linux命令

问题12:Linux中不同权限对应的数字是什么?比如755是什么意思?

问题13:如何查看后台所有java进程?

问题14:如何使用linux命令查看后台日志?

问题15:如何使用tar命令压缩和解压gz包?

问题16:解释命令的含义Is-la lgrep log、 ps -ef、kill -9 2543

问题17:重启网络服务的命令?

问题18:查询端口占用并杀掉占用端口的进程?

问题19:测试环境如何搭建?

问题20:Linux如何查看CPU、磁盘等信息?


专栏一:软件基础

软件测试基础考察的是在测试过程中是否进行了最基本的规范测试。

问题1:你认为什么是软件测试?

答案:描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

问题2:软件测试的目的是什么?

答案:通过手工测试或者工具辅助,尽可能多的发现程序错误,以便提高软件质量和用户满意度。

问题3:测试用例包含的内容有什么?

答案:用例编号、测试项目、用例标题、重要级别、前置条件、输入数据、执行步骤、预期结果、实际结果、是否通过

问题4:你发现了个bug,但开发认为这不是个bug,你会怎么办?

答案:

        1.将该问题先提交到缺陷管理工具中进行备案;
        2.寻找判断依据:例如需求说明,设计文档,确认是否和预期要求一致;
        3.站在用户的角度是否因设计不合理等原因严重影响到用户使用;
        4.与开发人员、设计人员,来判断是否是缺陷
        5.及时向测试经理反馈问题,并将自己认为是个缺陷的理由合理的说出来;
6.如还无法进行确认,经理向上级反映,及时与客户进行沟通确认;

问题5:给你一个杯子如何进行测试(软件测试的类型有哪些)?

这个问题,比如给你一张桌子,一辆电梯如何测试一样,主要考察的是测试人员能否全方位分析问题,换句话也是考察软件测试的类型有哪些?模板基本按照如下即可:

答案:

  • 需求测试:查看杯子使用说明书
  • 界面测试:查看杯子外观
  • 功能度:用水杯装水看漏不漏;水能不能被喝到
  • 安全性:杯子有没有毒或细菌
  • 可靠性:杯子从不同高度落下的损坏程度
  • 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用
  • 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
  • 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
  • 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
  • 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等
  • 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
  • 跌落测试: 杯子加包装(有填充物),在多高的情况摔下不破损
  • 震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输
  • 期望输出:
    • 该期望输出需查阅国标、行标以及使用用户的需求
    • 说明书测试: 检查说明书书写准确性

问题6:如何制定测试计划?

答案:软件测试计划是对测试过程的一个整体上的设计;通过项目和产品的信息,对测试范围,测试风险进行分析,对测试用例,工作量,资源和时间等进行估算,对测试采用测试策略,方法,环境,资源,进度等做出合理的安排。每个公司用的测试计划的模板,测试计划要点一般包括:

  1. 确定测试范围
  2. 制定测试策略
  3. 测试资源安排
  4. 进度安排
  5. 风险及策略

问题7:测试报告的内容有哪些?

答案:

        1)项目概述
        背景介绍、测试目的、测试范围项目经理、需求、开发、测试等相关负责人名字
        2)数据统计
        人力投入:需求分析、设计测试用例、执行测试需要多少人
        用例覆盖统计:用例总数、通过用例数、未通过用例数、未测试用例数,通过率
        问题单不同维度统计:按照bug严重级别统计,按bug类型分类统计,按bug状态分类统计等等
        3)测试风险,规避措施,以及优先级
        测试用例覆盖不全
        测试人力不足导致测试进度滞后
        测试人员经验不足导致测试结果分析不全面
        4)对被测试版本的一个评估给予测试结论:通过/不通过/有条件测试通过

问题8:怎么判断一个缺陷是前端还是后端的问题?

答案:

        1.可以通过fiddler/F12抓包分析前后端的交互,如果前端请求参数不对则是前端的问题,如果前端请求参数正确但后端响应不对则是后端的问题;
        2.也可以通过看日志,根据日志中的提示信息来判断是前端还是后端的日志
        3.根据经验判断,常见的问题类型如下:
                前端问题:界面显示、字体、对齐、展示消息等
                后端问题:数据问题、业务逻辑问题等

问题9:C/S模式和B/S模式,有什么区别?

答案:

         C/S模式又称C/S结构, 是软件系统体系结构的一种. C/S模式与B/S模式相比, C/S模式应用系统最大的优点是不依赖企业外网环境, 即无论企业是否能够上网, 都不影响使用。C/S模式需要安装后才能使用, 即以软件的形式存在

        B/S模式即浏览器和服务器结构, 它是随着 Internet技术的兴起, 对C/S结构的一种变化或者改进的结构. 在这种结构下, 用户工作界面是通过WWW浏览器来实现, 极少部分事务逻辑在前端实现, 但是主要事务逻辑在服务器端实现, 形成所谓三层结构.不需要安装客户端, 在网页上就可以访问, 即以浏览器为载体的形式呈现

问题10:说说印象让你最深的bug是什么?

这个可以根据自己的项目来答,千万不要答上线之后还存在的严重bug,不然基本记得面试就凉凉了。

专题二:Linux命令

Linux命令相对于WIndows来说复杂很多,但又是软件从业人员必须掌握的一部分,因为大部分的中间件都部署在Linux服务器上,包括测试人员最常查看的日志也必须通过Linux进行查看。所以这是所有企业必面之一。目前最主流的是CentOS,所以以下面试题围绕的是CentOS的命令。

问题11:说出你常用的10个以上的Linux命令

答案
        1.man,linux中的男人,是查看命令说明
        2.su,切换用户
        3.cd,切换目录
        4.ls,查看目录
        5.mkdir,创建目录
        6.mv,修改或移动目录
        7.vi,编辑文件
        8.more、tail、cat、less,查看目录
        9.tar、unzip,解压文件
        10.free,显示内存使用情况
        ... ...

问题12:Linux中不同权限对应的数字是什么?比如755是什么意思?

答案:4表示可读,2表示可写,1表示可执行。权限从左到右分别是用户所有者,用户所在组和其他用户。755表示所有者有的权限是4+2+1可读可写可执行,用户所有者所在组权限为4+1可读可执行,其他用户权限4+1

问题13:如何查看后台所有java进程?

答案:ps -ef |grep java 或者 jps -m,ps -ef|grep 进程名,这个命令是查看相应进程

问题14:如何使用linux命令查看后台日志?

答案:使用tail-f日志文件名称

问题15:如何使用tar命令压缩和解压gz包?

答案:
        1.
压缩: tar -zcvf
                tar zcvf FileName.tar.gz DirName
        2.解压: tar-zxvf
                tar zxvf FileName.tar.gz

问题16:解释命令的含义Is-la lgrep log、 ps -ef、kill -9 2543

答案:

        Is -la lgrep log查找当前目录含有log的文件
        ps -ef查看所有进程
        kill-9 2543强制终止2543进程

问题17:重启网络服务的命令?

答案:

        service network restart或systemctl restart network
        network网络服务 firewalld防火墙 mysql数据库服务 httpd apache 服务

问题18:查询端口占用并杀掉占用端口的进程?

答案:

        1.已知程序名称查找占用了端口:
                举例
                查进程ID ps-ef|grep 程序名[如tomcat)
                根据上一步结果,查占用端口netstat -nap I grep pid(109)

        2.已知占用了哪个端口,查程序名称
                查进程ID netstat -nap Igrep端口(8080)
                根据上步结果,查应用程序名ps ef| grep pid

问题19:测试环境如何搭建?

答案:

        一般根据开发给的部署文档指建, 都署文档操作步骤如下:
                1.安装依赖软件java (jak. tomcat. redis. mysql)等
                2.导入基础数据(建表,导入初始化的数据)
                3.获取代码(编译、打包),war包
                4.部署到tomcat的webapps目录下
                5.修改配置文件
                6.启动服务

问题20:Linux如何查看CPU、磁盘等信息?

答案:

        1.查看CPU详细信息
                cat /proc/cpuinfo
        2.查看内存信息
                cat /proc/meminfo
        3.查看磁盘信息
                fdisk -l
    

        先更新到这里,笔者也要准备准备面试了,正好也一起学习学习,后面会更新Jmeter、数据库专题、python基础知识专题、docker专题、selenium专题、pytest、unittest等自动化测试框架专题和性能测试专题。原创不易,如需转载请与我联系,谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值