软件测试基础_笔试面试题
目录
一、软件测试定义
二、软件测试作用
三、测试原则
四、测试对象
五、测试级别
六、系统测试分类
七、常见的系统测试方法
八、软件质量的六大特性
九、软件测试流程
十、软件架构比较(B/S,C/S)
十一、浏览器
十二、图片类型
十三、常见面试题
1.给你一个杯子如何测试
2.扫码功能如何测试
3.测试一把椅子
4.接口测试的使用方法
5.测试购物车
6.计算器测试
7.测试一部电梯
8.APP闪退,什么原因
一、软件测试定义 通过手工或者工具对”被测对象“进行测试操作,从而验证实际结果与预期结果之间是否存在差异
二、软件测试作用 1.通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心
2.测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据支持
3.测试可以降低同类型产品开发遇到问题的风险
三、测试原则 1.测试证明软件存在缺陷
2.不能执行穷尽测试
3.缺陷存在群集现象
4.某些测试需要依赖特殊的环境
5.测试应尽早介入
6.杀虫剂现象:同一个测试用例不能重复执行多次
7.不存在缺陷谬论
四、测试对象 1.需求分析阶段:各种需求规格说明书
2.软件架构设计:API接口文档(接口测试)
3.编码实现阶段:源代码(白盒测试、单元测试)
4.系统功能使用:软件功能主体(当前行业做的最多的一种测试)
五、测试级别 1.单元测试(UT):单元指的是组成软件最小的底层代码结构,一般就是类、函数、组件
2.集成测试(IT):将多个单元模块组合在一起,验证他们之间沟通的”桥梁“是否能正常工作(接口测试)
3.系统测试(ST):测试人员充当用户对软件功能主体进行测试
4.验收测试:
(1)α测试----内测
(2)β测试---公测
(3)UAT测试---有客户派出对业务非常精通的人员来使用该软件,对功能进行测试
(4)验收测试的核心是让客户为当前软件”买单“
六、系统测试分类 1.功能测试
2.兼容性测试
3.安全测试
4.性能测试
七、常见的系统测试方法 1.按测试对象
(1)白盒测试:测试主体是软件的底层代码
(2)黑盒测试:测试外在主体功能
(3)灰盒测试:介于两者之间(接口测试)
2.按测试对象是否执行
(1)静态测试
(2)动态测试
3.按测试手段
(1)手工测试:由测试人员手动测试,优点是可以灵活改变测试操作及环境
(2)自动化测试:一种自己写测试脚本,另一种利用第三方工具,优点是高效
八、软件质量的六大特性 1.功能性
2.易用性
3.可靠性
【软件测试基础_笔试面试题】4.效率性
5.可维护性
6.可移植性:从一个平台移植到另一个平台上使用的能力
【功能靠用,效率可以】
九、软件测试流程 1.需求分析
(1)梳理清楚需要设计的点是什么
(2)需求来源:需求规格说明书、API文档、竞品分析、个人经验
2.设计用例
3.评审用例
4.配置环境
5.执行用例
(1)执行用例前会做一个冒烟测试:核心是快速的对当前软件的核心功能进行验证。若有问题,将此版本回退给开发
6.回归测试及缺陷跟踪
(1)回归测试:指的是当我们将某个缺陷提交给开发,修复完成之后,需要测试人员再次对其进行测试
(2)缺陷跟踪:当测试人员发现某个缺陷之后需要一直对其进行状态的跟踪
7.输出测试报告
测试过程中产生的数据进行可视化输出
8.测试结束
产生的文档进行整理归档
十、软件架构比较(B/S,C/S) 1.标准:相对cs来说,bs两端都使用现成的成熟产品,显得标准一些
2.效率:cs客户端可以分担一些数据的处理,执行效率高一些
3.安全:bs架构中的数据传输都是以http协议进行的传输,而http是明文传输,可以被抓包,所以bs相对不安全
4.升级:bs只需在服务器端将数据进行更新,前台只需刷新页面就可完成升级。而cs必须两端都进行更新
5.开发成本:cs客户端需要自己开发,开发成本高
十一、浏览器 IE
Chrome
Firefox
Safari
Opera
十二、图片类型 1.jpg(jpeg):可以高度保留图片色彩信息
2.png:可实现透明
3.gif:所占体积小,可实现动图
4.psd:可分层
十三、常见面试题
1.签到测试(网易雷火)
文章图片
(1)UI界面
- 查看界面是否美观,有无错别字
- 可签到,已签到,未到签到时间的,可以补签的,未能补签的
未签到状态:
- 进入页面,查看“立即签到”按钮样式;
- 点击“立即签到”按钮:预期效果:按钮变为已签到状态,
- 查看奖励是否发送(核对发奖规则),
- 领奖记录是否更新
- 当天奖励状态由“待领取”变为“已领取
登录存在补签的用户:
- 选择一个进行补签,弹出分享弹窗:点击进行分享 (每个入口都需要测试,如果存在没有微信,QQ,微博的情况)
- 分享成功后回到活动页面,查看是否发放了奖励
- 分享成功后不返回活动页面,重新打开活动页面,奖励是否发放
- 查看分享出去的网页,打开是否为h5 首页
- 分享失败后,查看是否可以重新分享
核对每一天的奖励发放,入口分别为 正常签到 和 补签
- 全勤:一周全部签到领取金币最低24,最高32
- 查看这个奖励发送在领奖记录里面展示样式
- 查看页面没有数据的情况下,预期不展示
- 用户第一次进行签到,查看是否页内自动展示
- 只展示最新的9条,按时间倒序排列
(2)易用性:杯子是否烫手、是否有防滑措施、是否方便饮水、是否易用手端着或手拿
(3)安全性:使用过程中杯口是否容易给身体造成伤害,杯子有没有毒或细菌
(4)可靠性:杯子从不同高度掉下来的损坏程度
(5)稳定性:杯子一直盛着水,时间长了是否会漏水
(6)兼容性:是否可容纳高温度水、果汁、酒精、汽油等
(7)用户文档:用户手册上是否对杯子的使用方法进行限制,是否出现使用过程中友好的提示、该注意的问题、使用环境等有详细的描述
2.扫码功能如何测试 (1)用微信/qq/支付宝/淘宝/京东等渠道扫一扫进行测试;
(2)扫码进入页面显示是否正确,跳转链接是否正确;
(3)保存扫码图片,长按图片识别进入(微信);
(4)扫码时二维码不完全对准;
(5)扫残缺的二维码;
(6)扫模糊的二维码;
(7)扫缩小的二维码;
(8)联网扫码;
(9)不联网扫码;
(10)弱网扫码;
(11)二维码有效期验证
(12)失效二维码是否可以扫
(13)二维码生成多个扫描后是否正常显示
(14)修改与二维码相关的内容/跳转网址后,不重新生成二维码,扫码进入看信息是否更新
(15)扫码跳转过程中断测试(扫码时来电/来信息/邮件等)
(16)扫码后切换应用程序,看是否会闪退,黑屏,跳转回去是否会跳到相应的链接
3.测试一把椅子 功能测试:
1.能不能供人坐,即能不能供人使用。
2.坐上去是否摇晃。
3.坐人后是否会发出响声。
4.椅子上会不会掉颜色,即坐上去,来回摩擦椅子上的颜色会不会粘到衣服上。
5.有水撒到椅子上的时候,用布子或纸擦的时候会不会掉颜色。能不能擦干净水。
6.坐上去会不会有塌陷的感觉。
7.从椅子上离开的时候会不会发出响声。
8.椅子会不会轻易挂到衣服。
9.靠在椅背上的时候会不会,发出响声,椅子会不会摇晃。
10.椅子脏了是能易清理干净。
11.是否只能供一个人坐
性能测试:
1.椅子能承受多大的重量,不会发出响声;能承受多大的重量不被压坏。
2.椅子是否怕水
3.椅子是否怕火
4.椅子是否能在压了重物的情况下,然后摇晃,能坚持不长时间不响\不坏.
5.椅背,用力向后靠椅背,检测椅背的向后的承受能力.
安全性测试:
1.椅子的材质是否与用户说明书或质量保证书上的一样。
2.椅子的材料是否对人体有危害。
3.在撒到椅子上水/饮料等液体的时候,椅子会不会产生什么有害的物质。
4.在椅子被磨损的时候,会不会有划伤或擦伤用户的可能。
5.坐在椅子上的时候,是否安全,例如在只坐到椅子最前端的一部分时,椅子会不会失去平衡等等。
6.在与椅子摩擦的时候,会产生一定的容量,在摩擦的比较厉害的时候,会不会,产生有害的气体或物质。例如,产生难闻的气味等等。
7.在人坐或踩在椅子上时椅子是否稳固,即不摇晃等。
外观/适用性测试(界面/适用性测试):
1.椅子的外观是否美观实用。
2.是否与用户说明书或质量保证书上的一样出现的实物图相同。
3.椅子的气味/扶手/坐垫及靠垫的软硬度是否合适。
4.椅子是否容易挪动。
5.椅子的高度/重量/材质是否合适。
6.椅子的适用场合是否合适
4.接口测试的使用方法
- 业务功能逻辑:正常场景、异常场景
- 边界分析测试:业务规则边界分析、输入输出参数边界分析
- 参数组合测试
- 异常情况测试:重复提交、并发测试、事务测试、分布式测试、环境测试
- 性能测试:响应时间、吞吐量、并发数、服务器资源使用率
- 安全测试:敏感信息是否加密、SQL注入等
postman(功能)、Jmeter(功能、性能)、soupUI、loadRunner(性能)、RebotFramework(http协议)
5.测试购物车 界面测试:
- 打开页面后,页面的布局是否合理,显示是否完整;
- 鼠标浮动在购物车按钮,迷你购物车界面显示是否正常;
- 不同卖家的商品在不同的table区域显示,区分明显;
- 页面的tooltips能正常显示;
- 所有页面链接功能正常,可以点击到正确页面;
- 页面关联本地软件阿里旺旺的icon点击后,能打开软件;
- 从商品信息页面添加的商品能显示在购物车中;
- 购物车页面打开的同时,在其他页面添加了商品,购物车页面刷新后,新的商品能显示;
- 若未登录,点击购物车,则提示用户输入用户名和密码,或者提示其他的非注册用户购物方式;
- 商品未勾选的状态下,结算按钮是灰色无法点击的;
- 勾选商品后,已选商品的总价会显示,结算按钮变高亮可点击工作;
- 勾选商品,点击结算按钮后,进入确认订单信息页面;
- 购物车页面中,可以对添加的商品信息做信息的修改,并自动保存成功;
- 卖家在线的时候,旺旺icon高亮,反之,灰色;
- 购物车有商品降价或者库存告急的,那么点击对应的tab,降价或者告急商品会归类后显示;
- 购物车能添加的商品种类是有数量上限的;
- 不要的商品,可以删除;
- 打开购物车页面要多久;
- 1. 快捷键功能知否支持
- 不同浏览器上的测试功能是否正常;
- app上测试
7.测试一部电梯 功能测试:
最基本的上下功能,开关功能,还有里面的各个按键
性能测试:
比如电梯的调度算法,用户的等待时间,平均等待时间,上下的速度,耗电量等等
压力测试:
比如承重量(你实际承受力是20,那么当进入19个人的时候就应该报警,或者是实际上用户有可能一股脑的全部冲进电梯,所以在静止的时候电梯需要考虑到这种情况),突然断电,门打不开等等
可用性测试:
按钮是否方便,按键的感觉是否好,视觉效果,现在很多人诟病的事情是,开和关两个按钮的图示很不友好,在紧急的时候很容易搞错
兼容性测试:
比如每个国家的电压不一样,是否考虑到这个情况
本地化/国际化测试:
曾经看到一部电梯的使用手册翻译成英文,翻译得很差
可维护性:
电梯如果坏了怎么去维修。
8.APP闪退,什么原因 (1)缓存垃圾过多
(2)运行的程序过多,导致内存不足
(3)应用版本兼容问题
推荐阅读
- Python基础|Python基础 - 练习1
- Java|Java基础——数组
- Java基础-高级特性-枚举实现状态机
- 营养基础学20180331(课间随笔)??
- iOS面试题--基础
- HTML基础--基本概念--跟着李南江学编程
- typeScript入门基础介绍
- 我的软件测试开发工程师书单
- c++基础概念笔记
- 集体释放