第一题. 软件测试的目的与原则是什么?
目的:1.通过测试工作可以发现并修复软件当中存在的缺陷
2.可以降低同产品开发遇到的风险
3.记录软件运行过程中的一些数据,从而为决策者提供技术支持
原则:1. 2/8定律,核心功能占20%,非核心占80%,我们会集中测试20%的核心功能,发现缺陷的机率会高于80%,因此,遇到的缺陷都会集中在20%的功能模块里。
2.不能进行穷尽测试,有些功能是无法将所有测试情况逻辑出来的,任何的测试都有结束的时间。
3.为了更好的发现和解决软件中的缺陷。
第二题.测试人员在测试中的任务是什么?
1.尽早的找出系统当中的Bug
2.避免软件开发过程中缺陷的出现
3.确保软件的质量
4.关注用户的需求,并保证系统符合用户需求
第三题.缺陷报告内容包括什么?
1.Bug的优先级,严重程度,开发的接口人员,与Bug产生对应的版本
2.Bug可能属于的模块。如果不能确认,可以由开发人员来判读
3.Bug标题,需要清晰的描述现象
4.Bug描述,需要尽量给出新的Bug步骤
5.Bug附件中能给出相关的日志与截图
第四题。请您描述一下测试的V模型
用户需求--需求分析--概要设计--详细设计--编码--单元测试--集成测试--系统测试--验收测试
第五题.性能测试关注的指标是什么
吞吐率
用户的响应时间
每秒点击数
资源利用率
业务成功率
第六题.Bug不能复现怎么办
1.首先考虑环境问题,看是否能够还原原来的环境
2.遇Bug到问题就要提,不能放过任何一个Bug,在提交的Bug描述中加上一句话,那就是复现概率,尝试20次,出现一次或尝试10次,交给开发,开发会根据复现的概率,调整改Bug的优先级。
3.尽量回想发生问题时的复现步骤,不要漏掉任何一个细节,按照步骤的组合尝试复现
4.与开发人员配合,让开发人员对相应的代码检查,看是否通过代码层面检查出问题
5.保留发生Bug时的log,附加到提交的Bug中,希望可以通过log中找到一些蛛丝马迹。
6.查看代码,也许是代码变更,引起的Bug
第七题.什么是Http协议,请求方法是什么?以及Http协议与Https协议的区别?
Http协议又叫超文本传输协议,是定义了一个客户端到服务器请求与应答的标准,分别为请求头与响应头。
请求方法是:get请求与post请求
HTTPS协议是以安全为目标的HTTP通道,简称Http的安全版。
区别:
1.http协议需要申请证书,一般免费证书较少,需要一定费用
2.http的链接简单,是无状态的,而https协议是由SSL+http协议构建的可进行加密传输,身份认真的网络协议要比HTTP协议安全
3.http协议是超文本协议,又叫明码传输,而https是具有安全性的SSL加密传输协议。
4.http协议与https协议使用的链接方式不同,一个用的是端口80,一个是443
第八题.get请求与post请求的区别?
get请求通常从服务器获取数据,请求参数在地址栏之后,数据量有限制,不够安全。
post请求通常往服务器提交数据,请求参数在请求实体中,数据量无限制,较为安全
第九题.重载与重写的区别?
1.重载是发生同一个类中,方法名相同,参数列表却不同,与返回值无关。
2.重写是发生在父类与字类之间,字类的重写方法必须与父类的重写方法声明完全相同,有相同的返回值类型,比父类的重写方法更好访问。
第十题.APP测试与Web测试的区别?
相同点:1.同样的测试用例方法相同
2.同样的测试方法:都会依据原型图或效果图来检查UI
3.测试页面载入与翻页的速度,登录时常,内容是否溢出
4.测试应用系统的稳定性
不同点:
1.app测试平台:百度云测,testin云测不同
2.App的安装卸载:全新安装,升级安装,第三方工具安装,第三方工具卸载,直接卸载删除,消息推送测试,手机授权测试,前后台切换,网络环境
3.App的中断测试:来电中断,短信中断,蓝牙,闹钟,拔插数据线,手机锁定,手机断电,手机问题
4.兼容性测试:Web项目考虑不同浏览器兼容,app需要考虑手机不同的操作系统,不同机型,不同屏幕
5.网络测试:不同网络与运营商,目前我国三大运营商:电信,移动,联通,不同的网络制式,如:GSM,CDMA,3G等,在不好或无网络的情况下的APP行为
BS/CS架构的区别是什么?
答,
概念:所谓的架构就是用来指导我们软件开发的一种思维,目前最长见的就是BS/CS.
[if !supportLists]B-[endif]--browser浏览器
[if !supportLists]C-[endif]--clent客户端
[if !supportLists]S-[endif]--server服务端
区别:
[if !supportLists]1,[endif]标准:相对于cs架构来说Bs架构的两端都是使用现成的成熟产品,bs会显示的标准一些。
[if !supportLists]2,[endif]效率:相对于bs架构来说cs中的客户端可以分担一些数据的处理,执行效率会高一些。
[if !supportLists]3,[endif]安全:bs架构当中得到数据的传输都是以Http协议进行传输的,而Http协议又是明文输出。可以被抓包,那么cs架构比Bs架构显得就不那么安全了,(其实都是相对的)。
[if !supportLists]4,[endif]升级:bs架构只需要在服务器端将数据进行更新,前台只需要刷新页面就可以升级,而cs架构必须要将两端都进行更新才可以。
[if !supportLists]5,[endif]开发成本:相对于bs架构来说cs当中的客户端需要自己开发,bs不用,所以说cs成本会高一些。
Jmeter与LoadRunner的区别是什么?哪个工具比较好?
答,
相同点:
1,jmeter与LoadRunner都是作为性能测试工具,基本参数都可以一样。
不同点:
[if !supportLists]1,[endif]LoadRunner是性能测试领域的王者,标准制定者,而Jmeter是后起之秀。
[if !supportLists]2,[endif]开发语言不同:
(1)LoadRunner主要自C语言开发,支持Java,VB ,C++。
(2)Jmeter是纯JAVA开发,支持多种JAVA脚本语言。
3,软件工具的费用,学习成本不同:
1,LoadRunner费用高昂,(LoadRunner11有破解版,但LoadRunner12就没有破解版了)
2,Jmeter完全是免费的。
3,LoadRunner学习成本更低,主要是强大的录制功能能让大家钟爱,省事,效率高,门磕低,用的人多经验分享也多,相对容易上手。
4,Jmeter相对学习资料会少一些,而且没有LoadRunner强大的录制功能。
4,jmeter是一个轻量级的工具,可以进行接口性能压力测试,LoadRunner是一个重量级的工具,可以进行性能压力测试,Jemeter相对于LoadRunner来说简单,易操作,好上手,LoadRunner操作复杂。
5,LoadRunner比较好。
14,Android手机和IOS手机,系统有什么区别?
答,
1,运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制
2,两者后台制度不同:IOS中任何第三方程序都不能在后台运行,安卓中任何程序都能在后台运行,直到没有内存才会关闭
3,IOS中用于UI指令权限最高,安卓中数据处理指令权限最高
15,请说一下MonKey的优缺点?
答,优点:
1,使用简单。
2,节省了重复性操作的时间。
3,随机输入可能发现一些平常意想不到的缺陷。
4,MOnKey虽可以根据一个指定的命令脚本发送按键消息,但不支持条件判断,也不支持读取待测界面的信息来执行验证操作。
5,可对MonkeyTest的对象,事件数量,类型,频率等进行设置。
缺点:
1,测试的对象仅为应用程序包,有一定的局限性。
16,测试的计划内容以及重要性?
答,
测试计划的内容:测试计划分为测试需求和测试计划
测试需求分为功能需求和性能需求,
1,功能需求包括1,逻辑功能2,易用性3,兼容性4,安装卸载等功能性需求.
2,性能需求关注的就是1,响应时间2成功率,3,吞吐量,4,CPU占有率,5,事物通过率,6,内存占有率等主要的能够反映我们软件和服务器性能的参数。
3,项目测试需求:(我们的性能需求是这样提的,30个在线用户按照正常的操作速度访问xxx功能,成功率是100%,且90%的响应时间不超过4s,当并发在线用户数超过100个时,xxx的成功率大于98%,其中90%的在线用户数的请求响应时间是不大于用户的最大容忍时间10s。)
测试计划包括1,根据需求,产品原型图,UI效果图编写测试计划,2,测试背景3,工期评定,4,人员安排,5,进度安排,6,测试班次