2021-04-14笔试1
1.请列举你所了解的编程语言
java、python、c/c++、javascript
2.请列举你了解的操作系统
window、unix,linux,苹果
3.请简要说明一下数组和链表的区别
1)数组便于查询和修改,但是不方便新增和删除
2)链表适合新增和删除,但是不适合查询,根据业务情况使用合适的数据结构和算法是在大数据量和高并发时必须要考虑的问题
4.请分别解释一下TCP/IP、FTP和HTTP的含义
5.针对软件开发过程中的不同阶段,应该进行哪些类型的软件测试
单元测试(各个测试的基础,测试对象:最小可测试单元)
集成测试(测试关注最小可测试单元之间接口和子系统集成)
系统测试(整个系统组装后置于真实运行环境进行全面评估)
验收测试(用户角度对系统进行认可验收)
6.请列举出白盒测试中的几种逻辑覆盖方法
定义:
白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,白盒指的是程序的内部结构和运作机制是可见的。
白盒测试的目的:
通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设置检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
白盒测试的方法:大致分为静态方法和动态方法两大类。
A. 静态分析:
是一种不执行程序而进行测试的技术。静态分析的主要目的是检查软件的表示和描述是否一致,没有冲突或者没有歧义。
B. 动态分析:
当软件系统在模拟或真实的环境中执行前、过程中和执行后,对其行为分析。它显示了一个系统在检查状态下是否正确。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。
符号说明:
^ 代表逻辑运算符 && 或者 ||
T 代表 True F 代表 False
A / B 代表条件表达式
(1)语句覆盖
使程序中的每个可执行语句都能执行一次的测试用例
测试用例条件: A ^ B = T
image.png
(2)判定覆盖(分支覆盖)
对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况
测试用例条件:
A ^ B = T
A ^ B = F
image.png
(3)条件覆盖
image.png
设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果
测试用例条件:
A=T A=F
B=T B=F
(4)判定条件覆盖(分支条件覆盖)
设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次。
测试用例条件:
A ^ B = T A ^ B = F
A=T A=F
B=T B=F
image.png
(5)条件组合覆盖
设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次
测试用例条件:
A= T B= T
A= T B= F
A= F B= T
A= F B= F
image.png
(6)路径覆盖
设计测试用例时,覆盖程序中所有可能的执行路径
优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。
缺点:于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖。
7.请列举出黑盒测试中的几种设计用例的方法,并选其中1中方法进行简单解释
- 等价类
- 边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
比如:
输入框长度为1-11,取边界值为:1、11、12、0
运动员的参赛项目为1-3项,取边界值为:0项、1项、3项、4项 3. 查询面页面有999行,每50行为一页,取边界值为:输出0行、1行、50行、51行、999行
上面提到的注册邮箱的软件需求,用户名要求长度为6-15位 。
边界值上点为:5,6,15,16 全了吗?
在实际的测试设计中,会将等价类和边界值结合起来使用,那么我们最终可以确认的用例设计为: 5,6,10,15,16五个长度的字符的输入值
- 判定表
- 场景法
- 错误推测法
8.请简要描述性能测试的目的,并列举几种常见的性能测试类型
性能测试的类型.png9.请列举你了解或熟悉的中间件
中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。
Tomcat是Sun的JSWDK(JavaServer Web Development Kit)中Servlet的运行环境(servlet容器)。Tomcat是Apache Jakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业Java Servlet容器的特性,并被一些企业用于商业用途。
10.请列举你了解或熟悉的linux中的命令及含义
11.如果需要对QQ或者MSN中‘发送文件’功能进行测试的话,你能从哪些方面进行测试
QQ 传文件 ,扩展下这个词语: QQ通过网络传文件, 我们来分析下里面的名词和动词
名词: QQ 文件 网络 动词: 传
QQ的属性:好友 非好友 QQ版本 在线 不在线
文件属性:文件 文件夹 文件大小 文件类型 文件数量
网络属性:网络好,网络差, 跨网
根据我们提取出来的属性,分析出下面需要测试的场景
1、给在线非好友传文件
2、给不在线非好友传文件
3、给不支持传文件版本的QQ的在线用户传文件
4、给在线的好友传文件
5、给不在线的好友传文件
6、假如QQ支持单个QQ同时给5个用户传文件, 那么同时给5个用户和6个用户传文件
7、传文件夹
8、传文件
9、文件大小最大支持XXG, 传XXG的文件和比XXG大一点的文件
10、传不允许的文件类型
11、同时支持传XX个文件, 那么测试同时传XX个文件, 测试同时传XX+1个文件
12、支持文件的最大传输速率XX,需要测试是否有限制
13、单个用户每天最大传输XXG文件,需要测试是否有限制
14、 单个用户每天最多给XX人传输文件
15、单个用户每天最多传输XX个文件
16、传输过程中断网, 如何处理
17、传输过程中网络很差,是否能够成功
18、传输过程中取消
19、传输时没有网络
20、 传文件时对方拒绝