2.常见的黑盒测试方法: 等价类划分,定测试用例,因果图,边值分析法,猜错法,随机数法等。
3.典型的软件测试过程模型有 V 模型、 W 模型、 X 模型、 H 模型等
4在测试中的 80-20原则是指: %80的bug存在于%20的代码里。
5,目前 Unix操作系统提供的一个常用的文本编辑器是 vim ,其有 指令 、文本 、末行 三种模式。
6.软件的六大质量特性包括 功能性、可靠性、易用性、吸引性、效率性、软件维护性、维护性的依从性
7.软件缺陷产生的原因包括 需求不明确 ,设计、 编码问题 以及其他原因。
8.jmeter测试元件的执行顺序:
(1)配置元件(config elements )
(2)前置处理程序(Per-processors)
(3)定时器(timers )
(4)取样器(Sampler)
(5)后置处理程序(Post-processors)
(6)断言(Assertions)
(7)监听器(Listeners)
9. ORALCE 数据库默认的监听端口号为 1521 ;MYSQL 的默认端口号为3306
10.使用Loadrunner的步骤:
1、第一步:需求分析,你要把数据容量,数据模型,业务模型等设计和分析2、第二步:写脚本 ,。选择协议、录制脚本、编辑脚本、检查修改脚本是否有误。 3、第三步:场景分析,数据准备4. 第四步:运行脚本,监控设置。5、第五步:分析测试结果。
四、判断题(10分)
1.软件测试是通过运行程序来查看错误。(T)
2.验收测试是以最终用户为主的测试。(F)
3.测试程序仅仅按预期方式运行就行了。(F)
4.回归测试是用于验证改变了的系统原有的特性.(T)
5.好的测试员不懈迫求完美(F)
6,软件测试工具可以代替软件测试员。(F)
7.软件测试是一个过程,包含若干活动,运行故件进行测试只是活动之一(T )
8.自动化测试可能延误项目进度。( F)
9.软件测试是有效的排除软件缺陷的手段、(T)
10.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性,( F)
五、简答题(30分)
1.什么是软件测试?
为了发现程序中的错误而执行程序的过程
它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。
2.软件测试的目的?
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
(3)成功的测试是发现了至今为止尚未发现的错误的测试。
3.什么是集合点?设置集合点有什么意义? Loadrunner中设置集合
点的函数是哪个?
集合点主要是用来聚集虚拟用户的,在controller中可以对集合点触发条件进行设置,当虚拟用户到达集合点后会停止接下来要进行的操作,直到满足集合点的触发条件,此时在集合点上的用户同时开始操作相同的动作,也就形成了所谓的“并发”;简而言之就是可以设置并发数。
集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,已达到模拟真实环境中多个用户同时操作,同时产生负载,实现性能测试的最终目的。
rendezvous函数
4.性能测试中tps如果上不去原因有哪些?
1、网络带宽
在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。
2、连接池
可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。(关于连接池的具体内容,可参考之前的博客:性能测试:连接池和线程)
3、垃圾回收机制
从常见的应用服务器来说,比如Tomcat,因为java的的堆栈内存是动态分配,具体的回收机制是基于算法,如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,那么对TPS也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。
4、数据库配置
高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。
5、通信连接机制
串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。(关于协议的连接,可参考之前的博客:HTTP协议进阶:连接管理)
6、硬件资源
包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。
7、压力机
比如jmeter,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS(这个时候就需要进行分布式压测来解决其单机负载的问题)。
8、压测脚本
还是以jemter举个例子,之前工作中同事遇到的,进行阶梯式加压测试,最大的模拟请求数超过了设置的线程数,导致线程不足。提到这个原因,想表达意思是:有时候测试脚本参数配置等原因,也会影响测试结果。
9、业务逻辑
业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。
10、系统架构
比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。
5.响应时间和吞吐量之间的关系是什么?
吞吐量:系统服务器在每秒钟能够处理通过的交易数;
响应时间:系统完成事务执行准备后所采集的时间戳到系统完成执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。
六、综合题(20分)
1.一台测试压力机模拟 2000个客户对服务端进行压力测试与四台压力测试机对服务端进行压力测试,有什么区别?
一、计算机基础知识
1、写出常用的 linux命今显示当前工作目录
pwd
查找文件
find
显示文件的后n行内容
tail -n 20 filename (代表显示后20行)
在文件中查找某个字符
显示所有进程
netstat tanlp
2、有两张表图书表和作者表
图书(图书号,图书名,作者编号,出版社,出版日期)
作者(作者姓名,作者编号,年龄,性别)
a查出所有姓张的作者姓名
b查询出出书最多的作者的姓名和图书
二、数字推理
请选择正确的选项
(1)5,6,8, 10 ,14,(D)
A.12 B.16 C.18 D.22
(2)2,2,3,5,14,(D)
A.50 B.55 C.63 D.69
(3)1 ,1,2, 6,8 ,11 ,()
A.13 B.17 C.18 D. 20
(4)1 ,7 ,19 ,37,( )
A.57 B.61 C.66 D.80
(5)2,12,23 , 52 ,()
A.61 B.74 C. 76 D.82
三、软件测试基础
1、什么是黑盒测试,黑盒测试的常用方法及各方法的理解
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
1、划分等价类
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据,取得较好的测试结果,等价类划分可有两种不同的情况:有效等价类和无效等价类。
2、边界值分析法
边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。
3、错误推测法
错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。 例如,在单元测试时曾列出的许多在模块中常见的错误。
4、场景法
软件几乎都是用事件触发来控制流程的,事件触发的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
5、判定表组成法
规则:任何一个条件组合的特定取值及其相应要执行的操作,在判定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列。
2、移动环境下测试设计需要考虑的因素
首先,要了解移动产品和web端产品之间有什么不同。从自身属性和结构来说,移动端偏向于手势操作,而且受限于屏幕尺寸的大小,尤其是还受限于网络环境——3G网络、4G网络,甚至是已经落后的2G网络,都会影响到用户体验移动端的产品。因此,移动产品设计首要需要考虑屏幕的适配,手势操作需符合用户习惯,图文的配置需要考虑到用户使用场景的限制因素,产品里的透露的信息是否可以满足用户在网络不良情况下也可以操作自如,无忧浏览。
用户使用移动端的产品的时候,是不会在固定的一个位置操作的,而且他们的操作习惯更偏向于间隔性强,次数多——如地铁,公汽,逛街,都是随时变换位置的,而上车、下车、乘坐扶梯时候为了安全都不会去关注手机——因此,需要考虑你的产品会不会干扰用户或者占用用户过多精力,要注意避免去影响用户的正常做事,或者过于在不断变换的场景中过于集中在这款产品上,而发生事故或意外。
这里要说的第三点,也是我在第一点里谈到的——需要符合用户的手势操作习惯,比如手机端有重力感应器,加速度传感器,位置传感器,压力传感器等,这些都是我们设计移动产品时候可以借鉴的,但不能去擅自修改的。比如,明明是利用重量感应器来完成的操作,你却让用户利用加速度传感器来完成——这显然是不行的。
3、程序从一个输入对话框中读取3个整数值这三个整教值代表三角形三条边的长度。程序显示提示信息,指出该三角形是何种三角形:不规则三角形,等腰三角形还是等边三角形,如都不是提示输入数据错误。根据上述设计相关用例。
Toleinfo笔试题
一、计界机如识
1、在Linuw系统中,一个文件的访同权限是755,其含又是什么?
设置用户的权限为:
1.文件所有者可读可写可执行
--7
2.与文件所有者同属一个用户组的其他用户可读可执行
--5
3.其它用户组可读可执行
--5
2、Linux 中,如何从root用户切换到普通用户?
如果当前是root用户,那么切换成普通用户test用以下命令:
su - test
root@ubuntu:~# su - test
[sudo] password for test:
test@ubuntu:~$
如果要切换回root用户,那么用以下命令:su或su -用户名root可以省略不写。切换回root用户时要输入root密码。一般直接输入exit命令来切换回root用户,这样就不用输入密码。
test@ubuntu:~$ exit
logout
root@ubuntu:~#
3、说出4种及以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。
1、 DOS操作系统
DOS是英文Disk Operation System的简称,中文为磁盘操作系统,自1981年推出1.0版发展至今已升级到6.22版,DOS的界面用字符命令方式操作,只能运行单个任务。
2、 Windows 9x
Windows 9x是一个窗口式图形界面的多任务操作系统,弥补了DOS的种种不足。此后推出的Windows ME(2000年)、Windows XP(2001年)与Windows 9x相比,着重增加和增强了网络互联、数字媒体、娱乐组件、硬件即插即用、系统还原等方面的功能。
3、Windows 98
是面向大众用户的版本,由于是从DOS发展过来的,在安装和运行了大型软件以后,系统会变得不太稳定,经常会死机。
4、windows xp
实在windows nt的技术上发展过来的,由于最初windows nt是为服务器设计的因此稳定性要比windows 98系列操作系统好很多。
5、 Windows NT/ Windows 2000
Windows NT是一个网络型操作系统,它在应用、管理、性能、内联网/互联网服务、通讯及网络集成服务等方面拥有多项其他操作系统无可比拟的优势。因此,它常用于要求严格的商用台式机、工作站和网络服务器。
Windows 2000是在Windows NT内核基础上构建起来的,同时吸收了Windows 9x的优点,因此,Windows 2000更易于使用和管理,可靠性更强,执行更迅速,更稳定和更安全,网络功能更齐全,娱乐效果更佳。
windows服务器最常用的是 windows 2003和windows 2008两种,这两款都被很多大小型企业所用。
6、 UNIX
UNIX操作系统设计是从小型机开始的,从一开始就是一种多用户、多任务的通用操作系统,它为用户提供了一个交互、灵活的操作界面,支持用户之间共享数据,并提供众多的集成的工具以提高用户的工作效率,同时能够移植到不同的硬件平台。
UNIX操作系统的可靠性和稳定性是其他系统所无法比拟的,是公认的最好的Internet服务器操作系统。从某种意义上讲,整个因特网的主干几乎都是建立在运行UNIX的众多机器和网络设备之上的。
7、 Linux
准确的说,Linux应该是符合UNIX规范的一个操作系统,Linix是基于源代码的方式进行开发的。Linux是一套免费使用和自由传播的类似UNIX的操作系统,这个系统是由全世界各地的成千上万的程序员设计和实现的。
用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。
Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的UNIX特性,具有多任务、多用户的能力。而且还包括了文本编辑器、高级语言编译器等应用软件。
它还包括带有多个窗口管理器的X—Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。它是一个功能强大、性能出众、稳定可靠的操作系统。
8、 其他操作系统
如:Mac OS是苹果电脑Macintosh机器的专用操作系统,从本质上将,Mac OS 也是UNIX的一个变体。
4、一套完整的测试应该由哪些阶段组成?
测试一般由单元测试,集成测和系统测试阶段组成,
单元测试侧重于单元的逻辑结构;
集成测试侧重于模块间接口;
系统测试测试系统的整体特性.
工作中的测试一般根据公司的实际情况实际应用
二、数据库
Student (S#, Sname, Sage,Ssex)学生表
Course(C#, Cname,T#)课程表
SC(S#,C#,score)成绩表
Teacher(T#,Tname)教师表
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
2、查询所有课程成绩小于60分的同学的学号、姓名;
1O.手写一份she!l文件start.sh,用干启动 bussiness.iar,并在当前log目录下记录日志,并直接将日志输出至控制台(如果服务已经启动,则自动重启)
11.有3个表S,C,SC:
s ( SNO ,SNAME)代表(学号,姓名)
C(CNO ,CNAME , CTEACHER)代表(课号,课名,教师)
sC (SNo , CNo , SCGRADE)代表(学号,课号﹐成绩)
问题:
1,找出没选过“黎明”老师的所有学生姓名。
2,列出2门以上(含2门)不及格学生姓名及平均成绩。
3,既学过1号课程又学过2号课所有学生的姓名。
三、问答题
1、测试人员在软件开发过程中的任务是什么?
- 1、寻找 Bug;
- 2、避免软件开发过程中的缺陷;
- 3、衡量软件的品质;
- 4、关注用户的需求。
- 总的目标是:确保软件的质量。
2、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点。
黑盒测试的优点有:比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。
黑盒测试的缺点有:不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低。
白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点有:程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。
3、根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。
软件测试就是用最少的人力与物力,尽可能多的找出软件中存在的错误与缺陷。
软件测试一般分为:测试需求、测试计划、单元测试、集成测试、系统测试、测试总结。
4、什么是软件质量保证?软件质量保证人员与开发人员的关系如何?
软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。 软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题
四、编程题
编程输出1/1+1/3+1/5+……+1/99的和。
#coding=utf-8
def
mysum(num):
sum
=
0
for
i
in
range
(num):
if
(i
%
2
)
=
=
1
:
sum
=
sum
+
1
/
i
return
sum
if
__name__
=
=
'__main__'
:
res
=
mysum(
100
)
print
(res)
3您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
工具是bugzilla缺陷管理工具
1) 测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。
2) 经验证无误后,修改状态为VERIFIED.待整个产品发布后,修改为CLOSED.
3) 还有问题,REOPENED,状态重新变为“New",并发邮件通知。
4) 项目组长根据具体情况,重新reassigned分配给bug所属的开发者。
5) 若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明)
6) 开发者收到Email信息后,判断是否为自己的修改范围。
7) 若不是,重新reassigned分配给项目组长或应该分配的开发者。
8) 测试人员查询开发者已修改的bug,进行重新测试。
4你项目中常用集成测试的策略
基于功能分解的集成测试;
非增量式的:
瞬时集成;
增量式的:
自顶向下、自底向上、基干、三明治。。。。;
基于调用图的集成测试;
基于路径的集成测试。
5举例你在测试中使用的工具(不限于接口、压力、性能、流量、
硬件等)
monkey LoadRunner JMeter appnium selenium
6简述什么是 TCP/IP三次握手,四次挥手