软件测试复习大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件测试方法和技术

一、名词解释

☐软件测试(IEEE)定义:在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价,分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性。更完整的定义:软件测试是由“验证(Verification)”

和“有效性确认(Validation)”活动构成的整体

☐测试驱动开发(TDD Test Driven Development),即测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。这有助于编写简洁可用和高质量的代码,有很高的灵活性和健壮性,能快速响应变化,并加速开发过程。

☐软件质量:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和(ISO 8492)或者书P15:质量是产品或服务所满足明示或暗示需求能力的固有特性和特征的集合

☐软件缺陷:P18(软件缺陷的现象也在该页)

☐人工检测:人工检测偏重于编码风格、质量的检验,对设计、代码进行分析,有效地发现逻辑设计和编码错误。

☐计算机辅助静态分析:利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。

☐主动测试方法:测试人员主动向被测试对象发送请求、或借助数据、事件驱动被测试对象的行为,从而验证被测试对象的反应或输出结果

☐被动测试方法:测试人员不干预产品的运行,而是被动地监控产品在实际环境中运行,通过一定的被动机制来获得系统运行的数据,包括输入、输出数据.

☐系统非功能性测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试P29

☐错误推测法:是测试者根据经验、知识和直觉来发现软件错误,来推测程序中可能存在的各种错误,从而有针对性的进行测试P38

☐独立路径:至少引入一系列新的处理语句或条件的任何路径

☐基本集:由独立路径构成的集合

☐基于模型的测试(MBT, Model-based testing):通过构建能够正确描述被测软件系统功能特性的模型,然后基于这个模型产生测试用例并执行这些测试用例的过程P57 ☐状态迁移图(state transition diagram,STD):描述系统状态变化的动态信息——动态说明,由状态和迁移来描述,状态指出数据输入的位置(或时间),而迁移则指明状态的改变。逻辑功能模型(logic function model,LFM)的定义P58 ☐模糊测试(Fuzz testing)方法,简单的说,就是构造大量的变异数据作为系统的输入,从而检验系统在各种数据情况下是否会出现问题

☐形式化方法:基于数学的方法(数学表示、精确的数学语义)来描述目标软件系统属性的一种技术

☐形式化验证,就是根据某些形式规范或属性,使用形式逻辑方法证明其正确性或非正确性。

☐TMap (Test Management Approach,测试管理方法)是一种结构化的、基于风险策略的测试方法体系, 目的能更早地发现缺陷,以最小的成本、有效地、彻底地完成测试任务,以减少软件发布后的支持成本。P71

☐TPI(Test Process Improvement)是基于连续性表示法的测试过程改进的参考模型,是在软件控制、测试知识以及过往经验的基础上开发出来的P82

☐关键测试过程(Critical Test Process,CTP):内容参考模型、上下文相关的方法,并能对模型进行裁剪P86

☐单元测试:是对软件基本的组成单元进行独立的测试

☐代码走查:采用讲解、讨论和模拟运行的方式进行的查找错误的活动。P102(注意的问题:引导小组成员在走查前通读设计和编码;限时,避免跑题;发现问题适当记录,避免现场修改;检查要点是代码是否符合标准和规范,是否有逻辑错误☐驱动模块(drive):对底层或子层模块进行测试所编写的调用这些模块的程序。

☐桩模块(stub):对顶层或上层模块进行测试时所编写的替代下层模块的程序。P106 ☐代码协定:用于标记代码的类、用于编译时分析的静态分析器和运行时分析器。

☐Visual Studio Team System(VSTS):是一套工具集,全面整合了软件设计、开发、测试、部署和人员协作工具,其开发版(Development Edition)提供了静态分析、代码剖析、代码涵盖以及其它单元测试所需的功能特性。

☐大棒集成方法(Big-bang Intergration):先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试。(适用小规模应用系统) ☐性能测试(performance test):就是为了发现系统性能问题或获取系统性能相关指标而进行的测试

☐渗入测试(soak test),通过长时间运行,使问题逐渐渗透出来,从而发现内存泄漏、垃圾收集(GC)或系统的其他问题,以检验系统的健壮性

☐峰谷测试(peak-rest test),采用高低突变加载方式进行,先加载到高水平的负载,然后急剧降低负载,稍微平息一段时间,再加载到高水平的负载,重复这样过程,容易发现问题的蛛丝马迹,最终找到问题的根源

☐容错性测试(Fault-tolrent test)是检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。

☐兼容性测试: 验证软件之间是否正确地交互和共享信息

☐验收测试:P186

☐α 测试: 开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正,经过α测试调整的软件产品称为β版本☐β 测试:组织外部的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、反馈使用意见。然后软件开发公司再对β版本进行改错和完善。

☐测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”

☐对象库是本地在测试结构范围内存储对像信息

☐测量(Measurement):确定一个测量的行为

☐度量(Metric):某个给定属性的度的一个定量测量

☐指标(Indicator) :具体测量的属性及其给定值

二、知识点

第一章

1.为什么要进行软件测试

☐软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。

☐软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性

☐测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。

相关文档
最新文档