软件测试面试题及答案
今天抽空来整理整理软件测试面试中的那点事儿吧,帮助那些正在找工作或想跳槽找工作的兄弟姐妹们!
分享目前软件测试常见的面试问题以及问题的答案给大家阅读参考。
由于篇幅问题,不能把全部面试题和答案分享上来,有需要的可以看文末!
1 什么是软件测试?
为了发现程序中的错误而执行程序的过程
2 软件测试的目的?
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布
特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分
析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。
其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
详细而严谨的可靠性增长模型可以证明这一点。
测试的目的是按照用户所需软件的质量,检查开发软件过程出现的 bug, 使得开发人员
及时修改,可以避免在开发结束的时候发现软件存在质量问题,避免公司不必要的损失。
赢得用户对公司产品的认可。
测试的目的是以最少人力、物力和时间找出软件中潜在各种错误和缺陷,通过修正种
错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的
商业风险。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。
3 软件测试的目标
发现尽可能多的错误
测试是一个为了寻找错误而运行程序的过程。
一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
4需求人员需要何时参加需求分析?
如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工作的开展越有利 可以尽早的确定测试思路 减少与开发人员的交互 减少对需求理解上的偏差原则上,测试人员对需求了解得越深入对测试工作越有利,所以最好一开始就应该参加需求分析工作。这样做可以带来如下好处:
-
测试人员全程参与需求分析,对需求了解得很深入,减少了很多与开发人员的交互,节省了时间。测试人员参与前期开发讨论,直接掌握了不清晰的需求点。
-
早期确定测试用例的编写思路,为测试打好基础
-
可以获取一些测试数据,为测试用例设计提供帮助
-
可以发现需求不合理的地方,降低了测试成本。
-
测试人员主要的工作之一就是确认系统是否正确实现了需求。
5 一个有广告的纸杯子,请设计测试用例?
测试项目:杯子
需求测试:查看杯子使用说明书界面测试:查看杯子外观
功能度:用水杯装水看漏不漏;水能不能被喝到安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放 24 小时检查泄漏时间和情况;盛上汽油(案例二)放 24 小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
跌落测试: 杯子加包装(有填充物),在多高的情况摔下不破损
震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输
基本功能测试(逻辑功能测试)。
(1)硬度:是否达到设计标准。
装载能力:在杯子内分别装入少量的、半杯的、满杯的,看其装载量是否达到设计标准。
装载种类:开水(是否产生异味)、温水、冷水、冰水、咖啡...
(2)界面测试(UI 测试)。
看其形状、大小设计是否适合人方便拿起。
外观是否吸引人(广告嘛),赏心悦目。
带广告的图案沾水受是否掉色、模糊。
(3)易用性测试。
看其形状、大小设计是否适合人方便拿起。
残疾人士用此杯去喝水的容程度。
杯子设计是否上大下小,在运输过程中可以套在一起有效利用空间,在使用时也容易拿开。
(4)稳定性测试(24 X 7 测试)。装入液体后记录其多少以后漏水。
(5)安全性测试。杯子所用的材料(包括纸基、涂层和广告颜料)是否符合食品卫生标准,在内外温
度等环境因素下是否会与所盛各种饮料相反应,而产生对人体有害的物质。
(6)本地化测试。为国际化和本地化的需要,广告图案和文字是否在政治、宗教和文化方面具有广泛的适用性。
(7)对设计的改进建议。“如果是一次性杯子,能否标示已使用(比如变色)”和“杯子是否有使用者标贴(多人使用时防止混淆)”。
6 linux查看文件用什么命令,查看进程用什么命令
查看文件内容的命令有 more less head tail cat
查看进程:ps -ef | grep 进程号
查看日志文件常用:less、view
7 写出表的增删改查SQL语法
表的创建:create table 表名 (列名1 类型 约束,列2 类型 约束…)
表的删除:drop table 表名
表的更改(结构的更改,不是记录的更新):alter table 表名 add|drop 列名|约束名
插入记录:insert into 表名…values…
更新记录:update 表名 set 列名=值 where 条件
删除记录:delete from 表名 where 条件
8什么是数据的完整性?
数据完整性指的是存储在数据库中的数据的一致性和准确性。
完整性分类:
(1)实体完整性:主键值必须唯一且非空。(主键约束)
(2) 引用完整性(也叫参照完整性):外键要么为空,要么引用主表中存在的记录。(外键约束)。
(3)用户自定义完整性:针对某一具体关系数据库中的约束条件。
9nginx,tomcat,apache 都是什么?
Nginx (engine x) 是一个高性能的HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。
Apache HTTP Server 是一个模块化的服务器,源于 NCSAhttpd 服务器
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。
10 常用 HTTP 协议调试代理工具有什么?详细说明抓取 HTTPS 协议的设置过程?
Fiddler 是一个 http 协议调试代理工具
打开Fiddler,进入 Tools-Options-HTTPS,配置允许抓取 HTTPS 连接和解析 HTTPS 流量然后选择要解释的来源,设置是否忽略服务证书错误(这些操作做完之后,在浏览器方位 IP:8888,安装证书就可以在浏览器抓取 HTTPS 协议了)
11接口测试的步骤有哪些?
1)发送接口请求
2)测试接口获取返回值
3)断言:判断实际结果是否符合预期
12 性能测试的类型都有哪些?
负载测试(Load Test)
通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。
压力测试(Stress Test)
通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能够提供的最大服务级别的测试。
压力测试是一种特定类型的负载测试。
疲劳强度测试
通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
疲劳强度测试可以反映出系统的性能问题,例如内存泄漏等。
大容量测试(Volume Test)
对特定存储、传输、统计、查询业务的测试。
总结
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!
文章评论