第一章引论
3、软件测试与开发的关系就是怎样的?为什么这么说?
答:软件测试与软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。
【补充题】
补1、软件测试要在编程完成后才能开始,这种观点对不?说明原因。
答:P11
补2、V模型,测试阶段与开发阶段的对应关系。
答:P11
第二章软件测试的基本概念
2、如何理解软件质量与软件缺陷的对立统一关系?
答:P14
缺陷就是质量的对立面,要了解什么就是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷就是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。
5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发与测试工作有何启发?
答:P21
要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。
【补充题】
补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示?(P20)
第三章软件测试方法
3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。
解:
1)输入4180088,覆盖(1)(7)(9)(12);
2)输入418009X,覆盖(2)(7)(9)(12);
3)输入418009,覆盖(3);
4)输入41800999,覆盖(4);
5)输入AB8009C,覆盖(5)(6);
6)输入8080099,覆盖(8);
7)输入4180099,覆盖(10);
8)输入4180099,覆盖(11);
9)输入4180099,覆盖(13)。
6、针对程序流程图(图略),用最少的测试用例完成各种逻辑覆盖与路径覆盖的测试
设计。
解题要点:
分别回答语句覆盖、判定覆盖、条件覆盖、路径覆盖。
其中:前三种逻辑覆盖可以用同样的两个测试用例覆盖(假设图中向右分支为True 分支;如果标注向右分支为False分支,语句覆盖可以用一个用例);
路径覆盖需要三个用例(两个判定均为True的路径不可能覆盖)。
用例应给出预期输出。
8、结合等价类划分与边界值分析法,设计个人所得税计算程序的测试用例。(税率
表略)
解题要点:
一般基于等价类划分的用例取中间值,边界值分析需要对每一个边界值取:边界值-
1、边界值、边界值+1三种情况。
用例应给出预期输出。
9、用判定表法设计测试NextDate(Y,M,D)函数的测试用例。
解题要点:
判定表的条件设置一定要单一,其不同组合直接能对应测试用例设计。
应至少写出部分用例,给出预期输出。
【补充题】1、针对Test函数按照基本路径测试方法设计测试用例。
int Test(int i_count, int i_flag)
{
int i_temp = 0;
while (i_count>0)
{
if (0 == i_flag)
{
i_temp = i_count + 100;
break;
}
else
{
if (1 == i_flag)
{
i_temp = i_temp + 10;
}
else
{
i_temp = i_temp + 20;
}
}
i_count--;
}
return i_temp;
}
解:
int Test(int i_count, int i_flag)
{
1 int i_temp=0;
2 while (i_count>0)
{
3 If (0==i_flag)
{
4 i_temp=i_count+100;
5 break;
}
6 else
{
7 If (1==i_flag)
{
8 i_temp=i_temp+10;
}
9 else
{
10 i_temp=i_temp+20;
}
}
11 i_count--;
}
12 return i_temp;
}程序控制流
图:
程序环路复杂度:CC=4
基本路径集:
Path1 1-2-3-6-7-8-11-2-12
Path2 1-2-12
Path3 1-2-3-4-5-12
Path4 1-2-3-6-7-9-10-11-2-12
设计测试用例
补2,
假设出生年月格式为yyyymmdd,有效出生日期范围为1950年1月1日至1995年12
月31日。
解:
补3
规则为:大于等于90小于等于100为优;大于75小于90为良;大于等于60小于等于75为及格;大于等于0小于60为不及格。
解:
设计测试用例为(仅列出输入):
补4
色计算个人得分:项目负责人加10%,技术骨干加5%,贡献小成员减5%,其她成员获得基本分;不同角色不允许重复。使用判定表方法设计测试用例。
解:
列出条件桩:
就是项目负责人?
就是技术骨干?
贡献小?
列出动作桩:
基本分+10%
基本分+5%
基本分-5%
基本分
不允许
第四章软件测试依据与规范
4、简要概述建立测试管理与评判体系的六大过程。
答:P91
测试规划、测试设计、测试实施、配置管理、资源管理、测试管理。
【补充题】
补1、W模型相对V模型的改进。
答:P68
第五章单元测试
1、为什么要进行单元测试?单元测试的主要任务有哪些?
答:P96、P97~99
为了尽早发现软件中存在的缺陷。
单元测试的主要任务包括:模块独立执行通路测试、模块局部数据结构测试、模块接口测试、模块边界条件测试、模块的各条错误处理通路测试、内存分析。2、单元测试的对象不可能就是一组函数或多个程序的组合,为什么?
答:P95
单元测试针对的就是软件设计的最小单位,强调被测软件的独立性,单元与程序其她部分隔离开,避免其她单元对该单元的影响。
【补充题】
补1、软件测试中,什么就是驱动程序与桩程序?主要在那些阶段应用?
答:P107,应用在单元测试与集成测试阶段。
第六章集成测试与系统测试
1、系统集成测试常见有哪几种不同模式?各自优缺点就是什么?
答:P126、P127~128
常见划分包括渐增式与非渐增式,具体模式包括:自顶向下集成、自底向上集成、大棒(大爆炸)集成、三明治集成。
优缺点对比略。
7、测试一个网站,可以采用哪些方法?应注意什么问题?
答:开放式问题,无标准答案。应问题可以包括:链接测试、页面图形元素测试、表单测试等。
【补充题】
补1、什么就是回归测试?
答:P132
补2、解释性能测试相关概念:在线用户与并发用户,虚拟用户,思考时间,负载模式。
答:P135
第七章验收测试
2、进行验收测试的条件就是什么?通过标准就是什么?
答:P146
条件就是系统或软件产品已通过了系统内部测试,所有缺陷得到修正。
通过标准:完全执行验收计划中的测试用例;发现错误得到修正;完成软件验收测试报告。
4、用户界面测试有哪些要素?
答:P149
七个要素:符合标准与规范、直观性、一致性、灵活性、舒适性、正确性、实用性。
5、兼容性测试包括哪三个方面?
答:P152~154
软件兼容性测试、数据共享兼容性测试、硬件兼容性测试。
第八章面向对象软件的测试
1、面向对象的软件测试与传统的软件测试有何不同?
答:P159
面向对象软件有其自身特征:类之间有继承关系,子类可以覆盖父类方法,所以面向对象软件测试有类与子类测试、分层与增量、层次结构测试。
【补充题】
补1、在对OOA与OOP进行审查时,面向对象层次结构测试应包括哪些方面?
答:P161
对认定对象的测试、对认定结构的测试、对构造的类层次结构的测试。
补2、面向对象的类测试中,描述根据前置条件与后置条件构造测试用例的方法。答:P163
为所有可能的组合情况确定测试用例需求;根据需求创建特定输入值的测试用例;增加违反前置条件的测试用例。
补3、在面向对象集成测试中,交互性测试应考虑哪些类?
答:P165
原始类、汇集类与协作类。
第十章软件本地化测试
2、软件本地化与国际化有什么关系?
答:P205
软件国际化就是在软件设计与文档开发过程中,使得功能与代码设计能处理多种语言与文化传统,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。软件本地化就是将一个软件产品按特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言与文化的特殊要求的软件生产活动。
4、软件本地化测试应着重于哪些方面?
答:P210
功能性测试,所有基本功能、安装、升级等测试;
翻译测试,包括语言完整性、术语准确性等的检查;
可用性测试,包括用户界面、度量衡与时区等;
兼容性调试,包括硬件兼容性、版本兼容性等测试;
文化、宗教、喜好等适用性测试
手册验证,包括联机文件、在线帮助、PDF文件等测试
第十一章软件测试自动化
2、手工测试与自动化测试如何进行有效结合?
答:P225
测试自动化能显著降低重复手工测试的时间,建立可靠、重复的测试,减少人为错误,增强测试质量与覆盖率。测试自动化不能完全替代手工测试与手工测试工程师,保证100%的测试覆盖率,弥补测试实践的不足。
3、测试自动化实现中,关键的技术就是什么?
答:P228~232
关键技术包括:代码分析、对象识别、脚本技术、自动比较。
【补充题】
补1、分析自动化测试的适用场合。
答:P238
单元测试、集成测试、系统性能测试、稳定性测试、可靠性测试等比较适合采用自动化测试。
第十二章组建测试团队
1、测试团队的主要任务就是什么?
答:P267~268
主要任务包括:建立测试计划、设计测试用例、执行测试、评估测试结果、递交测试报告等,此外还应参加各种审查工作。
第十三章部署测试环境
2、测试环境中有哪些基本要素?
答:要素:硬件、网络环境、软件、数据准备。
第十四章设计与维护测试用例
1、测试用例有哪几个组成部分?一般采用哪些方法进行组织?
答:P310~311,P318
测试用例应包括:标志符(Identification)、测试项(Test Items)、测试环境要求、输入标准(Input Criteria)、输出标准(Output Criteria)、测试用例之间的关联。
可以按照程序功能模块、测试用例的类型、测试用例的优先级进行组织。
第十五章报告所发现的缺陷
1、软件缺陷生命周期中有哪些基本状态?
答:P325
包括发现、打开、修复、关闭。
2、如何有效描述缺陷?
答:P329
描述缺陷的基本要求:单一准确、可以再现、完整统一、短小简练、特定条件、补充完善、不做评价。
【补充题】
补1、对缺陷的严重性一般定义哪四个级别,各自含义就是什么?
答:P326
致命的(fatal)、严重的(critical)、一般的(major)、微小的(minor)。
第十六章软件测试与质量分析报告
5、基于需求的测试覆盖评估与基于代码的测试覆盖评估,哪一种更有效?
答:P349
基于需求的测试覆盖评估更通用,但就是度量值不准确;基于代码的测试覆盖可以借助工具完成,度量更准确,但就是要求能够访问源代码。
第十七章软件测试项目管理
2、正确搭建测试环境并拥有足够资源,就能够保证测试项目成功不?
答:开放式题目,无标准答案
3、测试过程中能否做到始终严格按照测试计划与规则执行?
答:开放式题目,无标准答案。
【补充题】
补1、测试计划的主要内容有哪些?
答:P360
应包括标识符、情况简介、测试项(测试范围)、测试策略(方法)、通过标准、测试人员职责、进度表、风险分析等内容。
补2、测试项目的计划一般经过哪些过程?
答:P361
收集资料,确定测试需求与范围,起草计划,内部审查(讨论与修改),多方审查,定稿与批准,测试计划的实施与跟踪