————哈喽,大倩倩又来啦 🙇♀️🙇♀️🙇♀️
——-——求赏求关注_微信公众号:倩倩小幸Hu
21、什么是系统瓶颈?
参考答案:
瓶颈主要是指整个软硬件构成的软件系统某一方面或者几个方面能力不能满足用户的特定业务要求,“特定”是指瓶颈会在某些条件下会出现,因为毕竟大多数系统在投入前。
严格的从技术角度讲,所有的系统都会有瓶颈,因为大多数系统的资源配置不是协调的,例如CPU使用率刚好达到100%时,内存也正好耗尽的系统不是很多见。因此我们讨论系统瓶颈要从应用的角度讨论:关键是看系统能否满足用户需求。在用户极限使用系统的情况下,系统的响应仍然正常,我们可以认为改系统没有瓶颈或者瓶颈不会影响用户工作。
因此我们测试系统瓶颈主要是实现下面两个目的:
-发现“表面”的瓶颈。主要是模拟用户的操作,找出用户极限使用系统时的瓶颈,然后解决瓶颈,这是性能测试的基本目标。
-发现潜在的瓶颈并解决,保证系统的长期稳定性。主要是考虑用户在将来扩展系统或者业务发生变化时,系统能够适应变化。满足用户目前需求的系统不是最好的,我们设计系统的目标是在保证系统整个软件生命周期能够不断适应用户的变化,或者通过简单扩展系统就可以适应新的变化。
22、什么是桩模块?什么是驱动模块?
参考答案:
桩模块:被测模块调用模块
驱动模块****调用被测模块
23、什么是扇入?什么是扇出?
参考答案:
扇入:被调次数,扇出:调其它模块数目
24、你认为做好测试计划工作的关键是什么?
参考答案:
软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;
做好测试计划工作的关键****:目的,管理,规范
1. 明确测试的目标,增强测试计划的实用性****编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确 2****.坚持****“5W”****规则,明确内容与过程 “5W”****规则指的是****“What****(做什么)****”****、****“Why****(为什么做)****”****、****“When****(何时做)****”****、****“Where****(在哪里)****”****、****“How****(如何做)****”****。利用****“5W”****规则创建软件测试计划,可以帮助测试团队理解测试的目的(****Why****),明确测试的范围和内容(****What****),确定测试的开始和结束日期(****When****),指出测试的方法和工具(****How****),给出测试文档和软件的存放位置(****Where****)。 3****.采用评审和更新机制,保证测试计划满足实际需求****测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。 4. 分别创建测试计划与测试详细规格、测试用例****应把详细的[测试技术](javascript:;)指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理[数据库](javascript:;)中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
25、你认为做好测试用例工作的关键是什么?
参考答案:
需求和设计文档的理解程度,对系统的熟悉程度
26、简述一下缺陷的生命周期?
参考答案:提交->确认->分配->修复->验证->关闭
27、软件的安全性应从哪几个方面去测试?
参考答案:
(1)****用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
(2)****加密机制
(3)****安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
(4)****数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
(5)****防病毒系统
28、软件配置管理工作开展的情况和认识?
参考答案:
软件配置管理贯穿于软件开发、测试活动的始终,覆盖了开发、测试活动的各个环节,它的重要作用之一就是要全面的管理保存各个配置项,监控各配置项的状态,并向项目经理及相关的人员报告,从而实现对软件过程的控制。
软件测试配置管理包括4个最基本的活动:
配置项标识
配置项控制
配置项状态报告
配置审计
软件配置管理通常借助工具来辅助,主要有MS SourceSafe、Rational ClearCase等
29、你觉得软件测试通过的标准应该是什么样的?
参考答案:
缺陷密度值达到客户的要求
30、引入测试管理的含义?
参考答案:风险分析,进度控制、角色分配、质量控制
31、一套完整的测试应该由哪些阶段组成?
参考答案:测试计划、测试设计与开发、测试实施、测试评审与测试结论
32、单元测试的主要内容?
参考答案:
模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容?
参考答案:
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响;
(3)各个子功能组合起来,能否达到预期要求的父功能;
(4)全局数据结构是否有问题;
(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
34、简述集成测试与系统测试关系?
参考答案:
(1)集成测试的主要依据概要设计说明书,系统测试的主要依据是需求设计说明书;
(2)集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试。
35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些?
参考答案:
用户手册
安装和设置指导
联机帮助
指南、向导
样例、示例和模板
授权/注册登记表
最终用户许可协议
36、软件系统中除用户文档之外,文档测试还应该关注哪些文档?
参考答案:
开发文档
软件需求说明书
数据库设计说明书
概要设计说明书
详细设计说明书
可行性研究报告
管理文档
项目开发计划
测试计划
测试报告
开发进度月报
开发总结报告
37、简述软件系统中用户文档的测试要点?
参考答案:
(1)读者群。文档面向的读者定位要明确。对于初级用户、中级用户以及高级用户应该有不同的定位
(2)术语。文档中用到的术语要适用与定位的读者群,用法一致,标准定义与业界规范相吻合。
(3)正确性。测试中需检查所有信息是否真实正确,查找由于过期产品说明书和销售人员夸大事实而导致的错误。检查所有的目录、索引和章节引用是否已更新,尝试链接是否准确,产品支持电话、地址和邮政编码是否正确。
(4)完整性。对照软件界面检查是否有重要的分支没有描述到,甚至是否有整个大模块没有描述到。
(5)一致性。按照文档描述的操作执行后,检查软件返回的结果是否与文档描述的相同。
(6)易用性。对关键步骤以粗体或背景色给用户以提示,合理的页面布局、适量的图表都可以给用户更高的易用性。需要注意的是文档要有助于用户排除错误。不但描述正确操作,也要描述错误处理办法。文档对于用户看到的错误信息应当有更详细的文档解释。
(7)图表与界面截图。检查所有图表与界面截图是否与发行版本相同。
(8)样例与示例。像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它。以每一个模块制作文件,确认它们的正确性。
(9)语言。不出现错别字,不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。
(10)印刷与包装。检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等等。
38、单元测试主要内容是什么?
参考答案:
单元测试大多数由开发人员来完成,测试人员技术背景较好或者开发系统软件时可能会安排测试人员进行单元测试,大多数进行的单元测试都是开发人员调试程序或者开发组系统联合调试的过程。讨论这个问题主要是扩充一下读者的视野。
单元测试一般包括五个方面的测试:
(1)模块接口测试:模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。模块接口测试也是集成测试的重点,这里进行的测试主要是为后面打好基础。测试接口正确与否应该考虑下列因素:
-****输入的实际参数与形式参数的个数是否相同;
-****输入的实际参数与形式参数的属性是否匹配;
-****输入的实际参数与形式参数的量纲是否一致;
-****调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;
-****调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;
-****调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;
-****调用预定义函数时所用参数的个数、属性和次序是否正确;
-****是否存在与当前入口点无关的参数引用;
-****是否修改了只读型参数;
-****对全程变量的定义各模块是否一致;
-****是否把某些约束作为参数传递。
如果模块功能包括外部输入输出,还应该考虑下列因素:
-****文件属性是否正确;
-OPEN/CLOSE****语句是否正确;
-****格式说明与输入输出语句是否匹配;
-****缓冲区大小与记录长度是否匹配;
-****文件使用前是否已经打开;
-****是否处理了文件尾;
-****是否处理了输入/输出错误;
-****输出信息中是否有文字性错误。
-****局部数据结构测试;
-****边界条件测试;
-****模块中所有独立执行通路测试;
(2)局部数据结构测试:检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确,局部功能是整个功能运行的基础。重点是一些函数是否正确执行,内部是否运行正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:
-****不合适或不相容的类型说明;
-****变量无初值;
-****变量初始化或省缺值有错;
-****不正确的变量名(拼错或不正确地截断);
-****出现上溢、下溢和地址异常。
(3)边界条件测试:边界条件测试是单元测试中最重要的一项任务。众所周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。边界条件测试是一项基础测试,也是后面系统测试中的功能测试的重点,边界测试执行的较好,可以大大提高程序健壮性。
(4)模块中所有独立路径测试:在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。测试目的主要是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。具体做法就是程序员逐条调试语句。常见的错误包括:
-****误解或用错了算符优先级;
-****混合类型运算;
-****变量初值错;
-****精度不够;
-****表达式符号错。
比较判断与控制流常常紧密相关,测试时注意下列错误:
-****不同数据类型的对象之间进行比较;
-****错误地使用逻辑运算符或优先级;
-****因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;
-****比较运算或变量出错;
-****循环终止条件或不可能出现;
-****迭代发散时不能退出;
-****错误地修改了循环变量。
模块的各条错误处理通路测试:程序在遇到异常情况时不应该退出,好的程序应能预见各种出错条件,并预设各种出错处理通路。如果用户不按照正常操作,程序就退出或者停止工作,实际上也是一种缺陷,因此单元测试要测试各种错误处理路径。一般这种测试着重检查下列问题:
-****输出的出错信息难以理解;
-****记录的错误与实际遇到的错误不相符;
-****在程序自定义的出错处理段运行之前,系统已介入;
-****异常处理不当;
-****错误陈述中未能提供足够的定位出错信息。
39、如何理解强度测试?
参考答案:
强度测试是为了确定系统在最差工作环境的工作能力****,****也可能是用于验证在标准工作压力下的各种资源的最下限指标。
它和压力测试的目标是不同的****,****压力测试是在标准工作环境下****,****不断增加系统负荷****,****最终测试出该系统能力达到的最大负荷(稳定和峰值),而强度测试则是在非标准工作环境下****,****甚至不断人为降低系统工作环境所需要的资源****,****如网络带宽****,****系统内存****,****数据锁等等****,****以测试系统在资源不足的情况下的工作状态****,****通过强度测试****,****可以确定本系统正常工作的最差环境****.
强度测试和压力测试的测试指标相近****,****大多都是与时间相关的指标****,****如并发量(吞吐量),延迟(最大*****最小*****平均)以及顺序指标等
强度测试需要对系统的结构熟悉****,****针对系统的特征设计强度测试的方法
40、如何理解压力、负载、性能测试测试?
参考答案:
性能测试是一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试。增大访问系统的用户数量、或者几个用户进行大数据量操作都是压力测试。而负载测试是压力相对较大的测试,主要是测试系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分。100个用户对系统进行连续半个小时的访问可以看作压力测试,那么连续访问8个小时就可以认为负载测试,1000个用户连续访问系统1个小时也可以看作是负载测试。
实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注整体性能的高度上来对系统进行测试。