软件测试技术填空与简答复习资料.docx
《软件测试技术填空与简答复习资料.docx》由会员分享,可在线阅读,更多相关《软件测试技术填空与简答复习资料.docx(18页珍藏版)》请在冰点文库上搜索。
软件测试技术填空与简答复习资料
软件测试复习资料
软件开发过程:
根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。
设计:
根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。
编程:
将设计转换成计算机可读的形式。
测试:
对设计、编程进行验证和用户需求确认的过程
维护:
维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。
软件开发过程含需求分析、__________、_________、___________、维护。
快速应用开发(RAD)–V模型
螺旋模型
XP-eXtremeProgramming极限编程
⏹最简单的可能就是最有效的
⏹极限编程适合
小团队(2-10programmers)“高风险”
快速变化或不稳定的需求强调可测试性
⏹格言
⏹“沟通、简化、反馈、激励”
下图所示的软件开发模型为_______增量开发____________。
下图所示的软件开发模型为________迭代开发_____________。
UML分类和模型图
标准建模语言UML共定义了三大类、共12种模型图:
1结构类StructuralDiagrams:
用4种模型图描述系统应用的静态结构,包括类图、对象图、组件图和配置图;
2行为类BehaviorDiagrams:
用5种模型图描述系统动态行为的各个方面,包括用例图、序列图、行为图、协作图和状态图
3模型管理类ModelManagementDiagrams:
用3种模型图来组织和管理各种应用模型,包括软件包、子系统、模型等
标准建模语言UML共定义了三大类,分别是:
_________、______________、______________。
标准建模语言UML中的行为类图有________、_________、行为图、协作图和状态图
微软的经验:
Windows95/98Windows2000系统的稳定性有了明显改善,DEV:
QA=1:
2
软件质量范围-3A
⏹Accountability(可说明性)–用户可以基于产品或服务的描述和定义进行使用.(例如:
市场需求说明书,功能设计说明书.)
⏹Availability(有效性)–产品或服务对于99.999%客户总是有效的(例如:
性能测试和恢复测试)
⏹Accessibility(易用性)–对于用户,产品或服务非常容易使用并且一定是非常有用的功能.(例如:
确认测试和用户可用性测试)
软件质量范围-3A是指_______________、__________________、__________________。
软件缺陷在不同阶段的分布
请绘制软件缺陷数与时间的关系统图
软件测试阶段
软件测试阶段可分为需求分析、设计审查、________________、_____________、_________________、版本发布几个阶段。
阶段
输入
输出
需求分析
需求定义,市场分析文档,相关技术文档
市场需求分析会议记要,功能设计,技术设计
设计审查
市场需求文档,技术设计文档
测试计划,测试用例
功能验证
代码完成文件包,功能详细设计说明书
最终技术文档
完整测试用例,完备的测试计划,缺陷报告,
功能验证测试报告
系统测试
代码修改后的文件包
完整测试用例,完备的测试计划
缺陷报告缺陷状态报告项目阶段报告
确认测试
代码冻结文件包确认测试用例
缺陷状态报告缺陷报告审查版本审查
版本发布
代码发布文件包测试计划检查清单
当前版本已知问题的清单版本发布报告
SQA
软件质量保证是通过对软件产品和活动有计划的进行评审和审计来验证软件是否合乎标准的系统工程活动.
软件测试中名称SQA的中文名称是____________________________。
SQA活动
技术方法的应用正式技术评审的实施软件测试
标准的执行修改的控制度量质量记录和记录保存
☐SQA策略主要分三个阶段:
☐以检测为重:
产品制成之后进行检测,只能判断产品质量,不能提高产品质量。
☐以过程管理为重:
把质量的保证工作重点放在过程管理上,对制造过程中的每一道工序都要进行质量控制。
☐以新产品开发为重:
在新产品的开发设计阶段,采取强有力的措施来消灭由于设计原因而产生的质量隐患。
SQA策略主要分三个阶段,分别是______________、______________、_______________。
☐SQA是管理工作、审查对象是流程、强调以预防为主
☐测试是技术工作、测试对象是产品、主要是以事后检查
☐SQA指导测试、监控测试
☐测试为SQA提供依据
ISO9000系列标准的主体部分分为两组:
☐“需方对供方要求质量保证”的标准ISO9001-9003
☐“供方建立质量保证体系”的标准ISO9004
☐ISO9001:
设计/开发、生产、安装和服务中质量保证模式;
☐ISO9002:
生产和安装中的质量保证模式;
☐ISO9003:
最终检验和测试中的质量保证模式;
☐ISO9004:
质量管理和质量体系要素导则。
软件测试规范就是对软件测试的流程过程化并对每一个过程元素进行明确的界定,形成完整的规范体系。
制定测试规范需要考虑的内容
角色的确定进入的准则输入项活动过程输出项验证与确认退出的准则度量
基于CMM模型的过程改进
软件过程改进的方法论-IDEAL
流程改进模型
CMM的五个等级及关键过程域
不同成熟度的项目结果
PSP流程TSP流程PSP-TSP-CMM
PSP的中文名称是:
_________________。
TSP的中文名称是:
__________________。
简述单元测试的目标和任务
单元测试的目标和任务
目标:
单元模块被正确编码
任务1:
模块接口测试:
检查模块接口是否正确
任务2:
模块局部数据结构测试:
检查局部数据结构完整性
任务3:
模块边界条件测试:
检查临界数据处理的正确性
任务4:
模块独立执行通路测试:
检查每一条独立执行路径的测试。
保证每条语句被至少执行一次。
任务5:
模块的各条错误处理通路测试
单元测试具体分类
⏹验证产品实现符合功能规格书
⏹验证产品代码运行的正确性
⏹边缘条件测试
⏹产品安全性测试
⏹从已有Bug增加的回归测试
⏹产品代码覆盖度测试(CodeCoverage)
⏹产品代码注射测试(CodeInjection)
⏹异常测试
⏹产品速度性能的比较测试
⏹产品极限情况测试
⏹产品与国际标准的兼容性测试
⏹产品与以前版本的操作系统,文件格式的兼容测试
⏹同一产品不同版本共同运行的兼容性测试
⏹产品在不同语言操作系统下的运行测试
单元测试具体流程
测试过程从产品设计开始
⏹测试代码编写由软件开发设计者(SDE)自己开始
静态测试技术的运用
静态测试技术:
不运行被测试程序,对代码通过检查、阅读进行分析。
三步曲:
走查(WalkThrough)审查(Inspection)评审(Review)
动态测试技术的运用
动态测试需要真正将程序运行起来,需要设计系列的测试用例保证测试的完整性和有效性
白盒测试黑盒(灰盒)测试
白盒测试方法
主要要逻辑驱动法和基本路径法。
语句覆盖判定覆盖条件覆盖判定/条件覆盖
条件组合覆盖路径覆盖循环覆盖。
黑盒测试方法
运行单元程序有时需要基于被测单元的接口,开发相应的驱动模块和桩模块。
⏹驱动模块(drive):
对底层或子层模块进行测试所编写的调用这些模块的程序。
⏹桩模块(stub):
对顶层或上层模块进行测试时所编写的替代下层模块的程序。
简述白盒与黑盒测试常用的方法与技术有哪些?
黑盒常用方法
等价类划分法边界值分析法错误推测法因果图法功能图法三种数据:
正常数据错误数据边缘数据
另外还得考虑接口测试、性能测试、内存测试
⏹性能分析
⏹内存分析
单元测试规范流程
⏹给你一纸杯/电冰箱/洗衣机/电视机,怎样测试?
纸杯的用途是用于喝水或其它液体,所以首先要测试的是它放了水(液体)之后的行为,比方,漏不漏水,烫不烫手,变不变形,等,由此决定适合于何种液体/温度。
在放水之前就可以有一些测试了吧?
比如杯子大小是否如何,能装多少水,是否贴合杯托,外观是否美观,外表材质是不是很滑会造成脱手等。
然后才是对其功能和性能来测试,如:
装满水后,杯底能否承受水的压力;对于水的沸腾温度摄氏100,杯子能否承受,会不会变形或者有化学反应产生异味等。
专业的估计还要对其进行具体的数据分析,还有卫生清洁方面的测试。
杯子的容量
杯子从1米高度落下是否会损坏
杯子最高能承受温度多高的水
杯子的防滑度
集成测试的模式
集成测试的模式可分为_____________________与_______________________。
非渐增式测试模式:
先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。
渐增式测试模式:
把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。
自顶向下和自底向上集成方法
驱动程序/驱动模块(driver),用以模拟被测模块的上级模块。
驱动模块在集成测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。
桩程序/桩模块(stub),也有人称为存根程序,用以模拟被测模块工作过程中所调用的模块。
桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口
自顶向下法(Top-downIntegration)
自底向上法(Bottom-upIntegration)
混合策略(ModifiedTop-downIntegration)
下图描述的是哪种集成测试方法,并简述其特点。
混合法:
对软件结构中较上层,使用的是“自顶向下”法;对软件结构中较下层,使用的是“自底向上”法,两者相结合
大棒集成方法(Big-bangIntegration)
三明治集成方法(SandwichIntegration)
下图描述的是哪种集成测试方法,并简述其特点。
采用三明治方法的优点是:
它将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性。
采用这种方法的主要缺点是:
在真正集成之前每一个独立的模块没有完全测试过。
几种集成方法性能的比较
功能测试的方法
等价类划分法边界值分析法错误推测法因果图法组合分析法
系统测试
简述系统测试有哪些测试?
压力测试(Stresstest)容量测试(Capacitytest)性能测试(Performancetest)安全测试(Securitytest)容错测试(Recoverytest)回归测试
回归测试的目的
☐所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运行环境等;
☐不影响软件原有功能的正确性。
压力测试、容量测试和性能测试
压力测试、容量测试和性能测试的测试目的虽然有所不同,但其手段和方法在一定程度上比较相似,通常会使用特定的测试工具,来模拟超常的数据量、负载等,监测系统的各项性能指标,如CPU和内存的使用情况、响应时间、数据传输量等。
在测试中如测试CPU和内存的使用情况、响应时间、数据传输量,这种测试属于_________。
简述性能测试目的、指标来源以及有主要性能指标?
性能测试
Ø性能测试的目的:
为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。
Ø性能测试指标的来源:
用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。
(需求+经验)
Ø主要的性能指标:
服务器的各项指标(CPU、内存占用率等)、后台数据库的各项指标、网络流量、响应时间
两种负载类型
常用的两种负载测试类型为:
_________________、___________________。
Ø“flat”测试ramp-up测试
对于企业级的系统,性能测试的方法主要有:
Ø基准测试性能规划测试渗入测试峰谷测试
性能测试的过程
故障转移测试安全性测试可靠性和容错性测试
可靠性测试结果的评估
成熟性度量可以通过错误发现率DDP(DefectDetectionPercentage)来表现。
在测试中查找出来的错误越多,实际应用中出错的机会就越小,软件也就越成熟。
DDP=测试发现的错误数量/已知的全部错误数量
成熟性度量可以通过错误发现率DDP(DefectDetectionPercentage)来表现,DDP的公式为_______________________________________。
已知的全部错误数量是测试已发现的错误数量加上可能会发现的错误数量之和。
验收测试(AcceptanceTest):
在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段,也称为交付测试。
简述验收测试的过程和主要内容。
验收测试的过程和主要内容
测试内容:
验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求,测试试图尽可能地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。
主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容。
制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。
验收测试完成标准:
⏹完全执行了验收测试计划中的每个测试用例。
⏹在验收测试中发现的错误已经得到修改并且通过了测试或者经过评估留待下一版本中修改。
⏹完成软件验收测试报告。
什么是适用性(usability)?
EasytodiscoverEasytolearnEasytouseAvailability
用户界面和可用性测试、
用户界面的7个要素是哪些?
用户界面的7个要素:
符合标准和规范直观性一致性灵活性舒适性正确性实用性
兼容性包括:
硬件兼容软件之间兼容数据之间兼容。
兼容性包括硬件兼容、_________________、_______________。
多版本的测试
可安装性和可恢复性测试文档测试验收测试报告用户验收测试
α测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。
经过α测试调整的软件产品称为β版本。
紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。
然后软件开发公司再对β版本进行改错和完善。
类与子类的测试
面向对象层次结构测试重点
对认定的对象的测试对认定的结构的测试对构造的类层次结构的测试
面向对象的单元测试
类测试的方法
通过代码检查或执行测试用例能有效地测试一个类的代码。
类测试的组成部分
构建测试用例
类测试系列的充分性三个常用标准是基于态的覆盖率、________________、_________________。
类测试系列的充分性三个常用标准是
☐基于状态的覆盖率,测试覆盖了多少个状态转换为依据。
☐基于约束的覆盖率,有多少对前置/后置条件被覆盖来表示充分性。
☐基于代码的覆盖率。
当所有的测试用例都执行结束时,确定实现一个类每一行代码或代码通过的每一条路径至少执行了一次
面向对象的集成测试-对象交互
汇集类测试协作类测试抽样测试正交阵列测试
面向对象的集成测试—分布式对象测试
简述面向对象软件测试与传统方法的有何区别。
面向对象软件测试与传统方法区别:
指导方针中没有明确说是把类还是方法作为单元。
以方法为单元
⏹可以将面向对象单元测试归结为传统的单元测试。
⏹可以使用所有传统功能性测试和结构性测试技术。
⏹前期工作相对容易,但后续测试工作重。
以类为单元
⏹面向对象测试的层次,取决于单元的构成,一般采用三层或四层方式。
如果把单个操作或方法看作单元,则有四层测试,即操作/方法、类、继承和系统测试。
面向对象测试的主要问题是集成测试,可以看作是第三层,即在通过测试的类之间的交互测试。
应用服务器的类型和特征
应用服务器分类
Web服务器数据库服务器实时通讯服务器邮件服务器群件服务器文件/打印服务器
基于Web服务器应用的测试范围
功能测试UI测试负载/压力测试
安全性测试兼容性测试网络链接测试其他测试如:
分辨率,流量
•常用的Web元素功能测试有设计脚本、___________、________、_________。
常用的Web元素功能测试
⏹页面链接
页面是否存在页面是否正确不同的脚本语言相同的脚本语言在不同浏览器中的表现
⏹设计脚本
⏹Web图形
⏹表单
Web服务器的安全测试
数据加密登录超时Cookie和SessionSSL(安全套接字)脚本语言(vbscript,javascript)日志文件目录
Web服务器的负载测试
数据库性能测试
大数据量测试大容量测试性能测试过程和策略
什么是软件本地化
软件国际化(SWInternationalization,I18N)
▪软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化传统,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。
软件本地化(SWLocalization,L10N)
▪软件本地化是将一个软件产品按特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。
G11N=I18N+L10N
I18N和L10N的关系
软件本地化与翻译
技术层面的更改
调整大小、调整默认设置、重新编译、创建新的图形、重新编排文档格式;
文化层面的更改
包装、图标、宣传、样品、政治敏感的术语,地方规章和宗教信仰
软件本地化基本步骤
软件本地化的翻译问题
简述软件本地化测试的技术问题有哪些?
软件本地化测试技术
10.3.1字符集问题10.3.2数据格式10.3.3.页面显示和布局10.3.4配置和兼容性问题
本地化测试的重点
手工测试vs.自动测试
简述手工测试与自动化测试的比较。
手工测试
耗费时间低可靠性人力资源不一致性仅对于一次性的测试有益
自动测试
✓速度
✓可重复
✓覆盖率
✓可靠
✓可以再度使用
✓重复测试节省时间
✓测试自动化能:
✓显著降低重复手工测试的时间
✓建立可靠、重复的测试,减少认为错误
✓增强测试质量和覆盖率
✓测试自动化不能:
✓完全替代手工测试和手工测试工程师
✓保证100%的测试覆盖率
✓弥补测试实践的不足
测试自动化的原理和方法
测试自动化的原理和方法主要有代码分析、____________、_____________、自动比较(虚拟用户技术)与测试管理。
☐代码分析:
类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。
☐捕获和回放:
代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。
☐基于黑盒测试工具有____________________________。
(至少列举两个)
☐面向开发单元的测试工具有____________________________。
(至少列举两个)
对象识别脚本技术测试工具的分类面向开发的单元测试工具
负载和性能测试工具GUI功能测试工具基于Web应用的测试工具
Website性能测试主要测试______________________、_____________和最大数据容量。
Website性能测试
各种操作的响应速度最大并发用户数最大数据容量
如何实现自动化测试?
单纯的讲,自动化测试的具体实现,应该是包含下面三个过程的。
1.设计。
设计测试用例。
测试用例要足够明确和清晰。
2.实现。
实现脚本,有两个要求,一是掌握For循环和IF语句,一是掌握Html对象模型(对于BS系统)。
3.执行。
执行脚本远远没有我们想象中那么简单。
(为什么要使用TD?
)
实现自动化测试的三个过程分别是设计、实验和______________执行。
冒烟测试
以开发为核心的组织模型以项目经理为核心的组织模以三国鼎立的组织模型
测试团队管理中三国鼎立的组织模型团队分组分别为项目经理、_____________和______________。
测试团队的基本构成
☐QA/测试经理:
人员管理,资源调配、测试方法改进等;
☐实验室管理人员:
设置、配置和维护实验室的测试环境
☐内审员:
审查流程,建立测试模板,跟踪缺陷测试报告的质量等;
☐测试组长:
负责项目的管理、测试计划、测试用例、任务安排等;
☐测试设计人员/资深测试工程师,产品设计规格说明书的审查、测试用例的设计、技术难题的解决、培训和指导、实际测试任务的执行;
☐一般(初级)测试工程师,执行测试用例和相关的测试任务。
按技术领域来组建团队按产品线来组建团队测试团队的管理和发展
树立良好的测试团队意识目标意识、团队意识、服务意识、竞争意识和危机意识
测试团队的激励方法
☐表扬和奖励
☐提高士气
☐站在测试小组一边
☐支持合理的工作方式
软件环境分为主测试环境和辅测试环境。
主测试环境是测试软件功能、安全可靠性、性能、易用性等大多数指标的主要环境
辅助测试环境满足特殊的测试需求
兼容性测试模拟真实环境测试横向对比测试
测试环境的五要素为软件、硬件、网络环境、_____________和______________。
简述主测试环境与辅助测试环境的各自任务。
测试环境的基本要素是:
软件、硬件。
在基本要素的基础上派生出网络环境、数据准备、测试工具三要素
☐如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。
☐测试用例可以独立进行测试执行的最小单元
什么是测试用例
为什么需要测试用例
良好测试用例的特征
测试用例的组成元素与范例
基本路径测试:
流程图
软件缺陷的描述
软件缺陷指的是系统或系统部件中那些导致系统或部件不能实现其功能的缺陷。
如果在执行中遇到一个缺陷,可能引起系统的失效。
那么准