1.简答
1、对面向对象的系统采用的集成策略有哪些?
答:自顶向下,自底向上两种。
2、比较负载测试、压力测试、容量测试和强度测试的区别?
负载测试:在一定的工作负荷下,系统的负荷及响应时间。通过逐步增加系统负载,最终确定在满足性能指标的情况下,系统能承受的最大负载量的测试;
压力测试:在瞬间峰值的压力下,看系统的承受能力,最终确定系统性能在什么样的负载条件下处于崩溃状态;
3、测试计划都包括哪些要点?
答:项目的相关简介、测试范围、测试的参考文档、测试时间的安排、人力资源的分配、系统风险的评估和优先级的定义、缺陷的严重级别标准以及在接下来的测试工作中编写测试用例和缺陷报告的模板。
4、什么是测试策略?
答:描述测试工作的总体方法和目标,主要包括:确定的测试技术和工具,确定测试启动、停止、完成的标准,风险分析和应对方案。
5、如何保证用例覆盖到罕见缺陷?
答:充分的设计时间、充分的需求分析,每一个功能点都有用例覆盖,严格的评审流程,保障输出都是有效的,在测试用例的执行过程中,会根据实际的项目情况,对用例来做增加和修改。
6、缺陷报告包括哪些?
答:软件名称、版本号、功能模块、缺陷编号、对应的用例编号、编写时间、编写人、预期结果、实际结果、缺陷描述、严重级别、优先级别。
7、测试总结报告包括哪些?
答:主要是测试过程的总结和版本质量的评估。
8、缺陷等级的划分?
严重:系统崩溃、数据丢失、数据毁坏;
较严重:操作系失误、错误结果、遗漏功能;
一般:小问题、错别字、ui布局、罕见故障;
建议:不影响使用的瑕疵或更好的实现。
9、开发人员修复缺陷后,如何保证不影响其他功能?
答:重新执行用例,看是否出现错误结果,并且对周围的一些相关功能点追加新的测试用例。
10、Alpha测试与Beta测试的区别?(验收测试)
Alpha测试:在系统开发接近完成时对应用系统的测试,不能由程序员或测试员完成;
Beta测试:用户在实际使用环境下测试,开发人员不在测试现场
11、什么是易用性测试?
答:易用性测试主要是从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题。
12、什么是安全测试?
答:安全性测试是要检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。
破坏系统的保护机构以进入系统的主要方法有以下几种:
(1)正面攻击或从侧面、背面攻击系统中易受损坏的那些部分;
(2)以系统输入为突破口,利用输入的容错性进行正面攻击。
13.简单概述缺陷报告包含哪些内容
缺陷编号 严重程度 优先级 所属模块 缺陷状态 测试环境 指派人 缺陷类型 缺陷标题 重现步骤
预期结果 实际结果 提交人 提交时间 测试用例 附件
14.开发人员修复缺陷后如何保证不影响其他功能
重新执行用例,看是否出现错误结果,并且对周围的一些相关功能点追加新的测试用例。
15.压力测试和负载测试的区别 需要关注那些指标
负载测试:是指对程序不段增加压力,每个增加后,程序的性能情况 压力测试:是指程序长时间运行的稳定性
压力测试分为稳定性测试和破坏性测试 区别:负载测试是不关注稳定性的,压力测试是关注稳定性的
16.SQL中having是做什么用的 WHERE和Having有什么区别
having称为分组滤过条件,也就是说是分组需要的条件,所以必须与group by联用
也就是说,聚合函数计算的结果可以当条件来使用,因为它无法放在where里,只能通过having这种方式来解决。 区别:HAVING 子句对
GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE
子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但
HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中出现的任意项。
17.如果项目周期很短 测试人力匮乏 你是怎么调谐的
依据代码review的结果和影响范围,对测试内容进行适当的裁剪。 借助自动化工具的支持,提高测试案例的执行效率。
调整组内任务的优先级,进行人力协调,优先投入最紧要的项目。 必要的情况下加班
18.测试发现了一个高优先级的bug 在上线前产品人员评估后确认该bug
不阻塞上线 可以以后再修复 但是上线后收到了很多的用户反馈 说该问题 影响到了用户的习惯 因此紧急上线了一个补丁包修复该问题 请问如何保证
同类问题以后不再发生(请将找出的问题原因和解决方法写出来)
19.用例设计 QQ发消息功能(写出你能想到的所以测试点 用例结构要清晰)
1.发送消息是否成功(按钮和快捷键)
2.发送文字(消息为空、空格、最大长度、敏感字、特殊符号)
3.发送图片,包括从本地选择图片和从外部复制粘贴(图片大小、格式、数量)
4.发送文字和图片混合的消息
5.给不同的人发消息(例如:好友、陌生人、群聊里发消息、讨论组里发消息、通过群私聊,需考虑群主开启与未开启私聊的情况)
6.群发消息(对象包括好友、群聊、讨论组等)
7.被禁言是否还能发消息
8.群聊或讨论组中发消息,已经屏蔽群的人是否还能收到
9.发送消息时,对方在线或离线、忙碌状态等
10.发送过程中弱网或者断网
11.从运营安全的考虑,一个qq一天可以发送多少消息,发送多少图片
12.安全性,当发送黄图或有毒链接时(拦截?提示?)
20.什么是软件测试
使用人工或自动的手段来运行或测量软件系统的过程, 以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。
21.软件测试的目的
用最少的人力物力时间,找出软件中存在的问题,修正问题,规避商业风险。
22.性能测试中tps如果不上去原因有哪些
1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,
超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。 2、连接池
可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat) 和数据库连接池(或者理解为最大允许连接数也行)。
3、垃圾回收机制 从常见的应用服务器来说,比如Tomcat,因为java的的堆栈内存是动态分配,
具体的回收机制是基于算法,如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,
那么对TPS也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。 4、数据库配置
高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,
或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。 5、通信连接机制
串行、并行、长