软件测试技术面试题问答三
1、一套完整的测试应该由哪些阶段组成?
参考答案:
测试计划、测试设计与开发、测试实施、测试评审与测试结论
2、单元测试的主要内容?
参考答案:
模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
3、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容?
参考答案:
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;(2)一个模块的功能是否会对另一个模块的功能产生不利的影响;(3)各个子功能组合起来,能否达到预期要求的父功能;(4)全局数据结构是否有问题;(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
4、简述集成测试与系统测试关系?
参考答案:
(1)集成测试的主要依据概要设计说明书,系统测试的主要依据是需求设计说明书;
(2)集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试。
5、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些?
参考答案:用户手册、安装和设置指导、联机帮助 、指南、向导
样例、示例和模板、授权/注册登记表 最终用户许可协议
6、软件系统中除用户文档之外,文档测试还应该关注哪些文档? 参考答案: 开发文档 、软件需求说明书 、数据库设计说明书 概要设计说明书 、详细设计说明书、可行性研究报告 、管理文档 、项目开发计划、 测试计划 、测试报告、开发进度月报 、开发总结报告
7、简述软件系统中用户文档的测试要点?
参考答案:
(1)读者群。文档面向的读者定位要明确。对于初级用户、中级用户以及高级用户应该有不同的定位(2)术语。文档中用到的术语要适用与定位的读者群,用法一致,标准定义与业界规范相吻合。
(3)正确性。测试中需检查所有信息是否真实正确,查找由于过期产品说明书和销售人员夸大事实而导致的错误。检查所有的目录、索引和章节引用是否已更新,尝试链接是否准确,产品支持电话、地址和邮政编码是否正确。(4)完整性。对照软件界面检查是否有重要的分支没有描述到,甚至是否有整个大模块没有描述到。(5)一致性。按照文档描述的操作执行后,检查软件返回的结果是否与文档描述的相同。(6)易用性。对关键步骤以粗体或背景色给用户以提示,合理的页面布局、适量的图表都可以给用户更高的易用性。需要注意的是文档要有助于用户排除错误。不但描述正确操作,也要描述错误处理办法。文档对于用户看到的错误信息应当有更详细的文档解释。(7)图表与界面截图。检查所有图表与界面截图是否与发行版本相同。(8)样例与示例。像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它。以每一个模块制
作文件,确认它们的正确性。(9)语言。不出现错别字,不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。 (10)印刷与包装。检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等等。
8、单元测试主要内容是什么?
参考答案:
单元测试大多数由开发人员来完成,测试人员技术背景较好或者开发系统软件时可能会安排测试人员进行单元测试,大多数进行的单元测试都是开发人员调试程序或者开发组系统联合调试的过程。讨论这个问题主要是扩充一下读者的视野。
单元测试一般包括五个方面的测试:
(1)模块接口测试:模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。模块接口测试也是集成测试的重点,这里进行的测试主要是为后面打好基础。测试接口正确与否应该考虑下列因素:
-输入的实际参数与形式参数的个数是否相同;-输入的实际参数与形式参数的属性是否匹配; -输入的实际参数与形式参数的量纲是否一致;
-调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同; -调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配; -调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致; -调用预定义函数时所用参数的个数、属性和次序是否正确; -是否存在与当前入口点无关的参数引用; -是否修改了只读型参数;
-对全程变量的定义各模块是否一致; -是否把某些约束作为参数传递。
如果模块功能包括外部输入输出,还应该考虑下列因素: -文件属性是否正确;
-OPEN/CLOSE语句是否正确;
-格式说明与输入输出语句是否匹配; -缓冲区大小与记录长度是否匹配; -文件使用前是否已经打开; -是否处理了文件尾;
-是否处理了输入/输出错误; -输出信息中是否有文字性错误。 -局部数据结构测试; -边界条件测试;
-模块中所有独立执行通路测试; (2)局部数据结构测试:检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确,局部功能是整个功能运行的基础。重点是一些函数是否正确执行,内部是否运行正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误: -不合适或不相容的类型说明; -变量无初值;
-变量初始化或省缺值有错;
-不正确的变量名(拼错或不正确地截断); -出现上溢、下溢和地址异常。
(3)边界条件测试:边界条件测试是单元测试中最重要的一项任务。众所周知,软件经常在边界上失效,采用
边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。边界条件测试是一项基础测试,也是后面系统测试中的功能测试的重点,边界测试执行的较好,可以大大提高程序健壮性。
(4)模块中所有独立路径测试:在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块
中每条语句至少执行一次。测试目的主要是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。具体做法就是程序员逐条调试语句。常见的错误包括: -误解或用错了算符优先级; -混合类型运算; -变量初值错; -精度不够;
-表达式符号错。
比较判断与控制流常常紧密相关,测试时注意下列错误: -不同数据类型的对象之间进行比较; -错误地使用逻辑运算符或优先级;
-因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等; -比较运算或变量出错;
-循环终止条件或不可能出现; -迭代发散时不能退出; -错误地修改了循环变量。
模块的各条错误处理通路测试:程序在遇到异常情况时不应该退出,好的程序应能预见各种出错条件,并预设各种出错处理通路。如果用户不按照正常操作,程序就退出或者停止工作,实际上也是一种缺陷,因此单元测试要测试各种错误处理路径。一般这种测试着重检查下列问题: -输出的出错信息难以理解;
-记录的错误与实际遇到的错误不相符;
-在程序自定义的出错处理段运行之前,系统已介入; -异常处理不当;
-错误陈述中未能提供足够的定位出错信息。
9、如何理解强度测试?
参考答案:
强度测试是为了确定系统在最差工作环境的工作能力,也可能是用于验证在标准工作压力下的各种资源的最下限指标。
它和压力测试的目标是不同的,压力测试是在标准工作环境下,不断增加系统负荷,最终测试出该系统能力达到的最大负荷(稳定和峰值),而强度测试则是在非标准工作环境下,甚至不断人为降低系统工作环境所需要的资源,如网络带宽,系统内存,数据锁等等,以测试系统在资源不足的情况下的工作状态,通过强度测试,可以确定本系统正常工作的最差环境.
强度测试和压力测试的测试指标相近,大多都是与时间相关的指标,如并发量(吞吐量),延迟(最大\最小\平均)以及顺序指标等
强度测试需要对系统的结构熟悉,针对系统的特征设计强度测试的方法。
10、如何理解压力、负载、性能测试测试?
参考答案:
性能测试是一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试。增大访问系统的用户数量、或者几个用户进行大数据量操作都是压力测试。而负载测试是压力相对较大的测试,主要是测试系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分。100个用户对系统进行连续半个小时的访问可以看作压力测试,那么连续访问8个小时就可以认为负载测试,1000个用户连续访问系统1个小时也可以看作是负载测试。
实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注整体性能的高度上来对系统进行测试。
热门岗位
-
热门
软件测试工程师
优惠价 ¥ 8 -
热门
产品经理
优惠价 ¥ 8 -
热门
初级理财顾问
优惠价 ¥ 8 -
热门
金融客户经理
优惠价 ¥ 8 -
热门
有机合成助理研究员
优惠价 ¥ 8 -
热门
药剂师
优惠价 ¥ 8