1.软件测试必要性:测试是所有工程学科基本组成单元,也是软件开发重要组成部分。
2.软件测试的定义:正面、反面IEEE定义:在特定条件下运行系统或构件、观察或记录结果,对系统某个方面做出评价。
分析某个软件项以发现现存和要求的条件之差别并评价此软件项的特性。
软件测试是由验证和有效性确认活动构成的整体。
3.软件质量IEEE定义:系统、部件或过程满足规定需求的程度。
满足顾客或用户需求或期望的程度。
功能、可靠、易用、效率、可维护、可移植4.软件缺陷缺陷是对软件产品预期属性的偏离现象。
与产品说明书不符。
缺陷产生:技术问题、团队工作、软件本身缺陷构成:规格说明书、设计、代码、其他缺陷修复成本:发布》测试》编程》设计》需求分析5.验证、确认验证:是否正确构造了软件确认:是否构造了正式用户所需要的软件6.测试分类测试阶段层次:单元测试、集成测试、系统测试、验收测试测试目的:功能测试、性能测试、可靠性测试、安全性测试、兼容性测试是否执行:静态测试、动态测试。
是否针对内部:白盒测试、黑盒测试7.测试阶段A 需求和设计审查B 单元测试(白盒代码,代码评审可以发现50%-70%错误)C 集成测试(组成测试,一次性集成、增殖式集成)D 功能测试(确认功能是否正常使用)E 系统测试(放在计算机环境下测试,硬件平台、软件支持)F 验收测试(向用户表名系统可以正常工作,符合期待)G 安装测试(按照安装手册,模拟用户环境,进行安装操作测试)8.工作范畴测试实施:制定测试策略、测试计划、确定测试方法规范,控制测试进度,管理测试资源。
组织管理:编写文档、搭建测试环境,开发测试脚本,开展测试活动9.第三方测试介于开发方和用户方之间的测试组织的测试,也称独立测试二1.测试人员基本责任:发现程序、系统或产品中所有问题,尽早发现问题,督促开发人员解决缺陷2.团队模式项目经理、测试经理、开发经理开发为核心的组织模型项目经理为核心的组织模型三国鼎立的组织模型3.团队构成QA/测试经理实验室管理人员内审员测试组长测试设计人员一般测试人员按技术领域组建团队按产品线组建团队4.测试环境五要素软件:操作系统、网络协议、应用程序硬件:网络设备、服务器、测试用机网络环境:路由器交换机等硬件,网络协议、代理、防火墙、网络工具数据准备(数据库):大量数据,原有数据测试工具5.建立项目测试环境清楚项目要求、规划测试环境、列出设备清单、环境实施**6.测试用例测试用例是可以独立进行测试执行的最小单元,测试用例就是将软件测试行为活动转化为规范化的文档。
测试用例是测试工作的指导,是软件测试必须遵守的准则。
测试用例作用:有效性、可复用性、易组织性、客观性、可评估性和可管理性、知识传递、重要参考依据,提高测试质量。
测试用例书写标准:标志符、测试项、测试环境要求、输入标准、输出标准、测试用例我之间的关联。
整体质量要求:覆盖率、易用性、易维护性、粒度适中测试用例套件是由一系列测试用例并与之关联的测试环境组合而构成的集合,以满足测试执行的特定要求。
跟踪测试用例:每天执行多少测试用例通过、未通过各占多少**7.缺陷缺陷生命周期:一个软件缺陷被发现、报告到被修复、验证、关闭的过程。
发现——打开:测试人员找到缺陷提交给开发人员打开——修复:开发人员修复提交给测试人员验证修复——关闭:测试人员验证,关闭不存在的缺陷。
缺陷标识、缺陷类型、产生可能性、缺陷来源、缺陷原因、前提、操作步骤、期望结果、实际结果。
缺陷处理技巧:审阅、拒绝、完善、分配、验证、重新打开、关闭、暂缓缺陷分析方法:缺陷分析报告、缺陷趋势报告、缺陷年龄报告、测试结果进度报告8.测试报告结构产品标识、用于测试的计算机系统、使用的文档及标识、产品描述、用户文档、程序和数据的测试结果、与要求不符的清单、对不符清单的说明,测试结束日期。
9.软件测试误区如果发布软件有质量问题都是测试人员的错。
X测试技术要求不高,比编程容易。
X有时间就多测试一些来不及就烧测试。
X测试与开发人员无关。
X根据瀑布模型,测试是后期开发的一个阶段。
X10.软件测试原则标准建立在用户需求之上。
质量第一,时间服从质量。
事先定义好质量标准。
软件项目启动,测试便开始。
穷举测试是不可能的。
第三方测试会更客观有效。
测试计划是做好测试工作的前提。
测试用例是设计出来的,根据测试目的去设计测试用例。
对错误较多的程序段进行更深入测试。
重视文档,保存好一切测试过程文档。
三、1.软件测试模型V模型:瀑布模型变种编码-单元、设计-集成、需求-系统W模型:开发和测试都是V,测试伴随整个软件开发周期,两者同步。
H模型:测试准备、测试执行、测试就绪点、其他流程H模型揭示了测试与其他流程并发执行,准备与执行分离。
V模型强调测试级别每一级对应一个开发级别W模型强调测试计划等工作线性和对系统需求和设计的测试。
H模型强调测试是独立的,只要前提具备就可以开始测试。
2.软件测试规范软件测试规范就是对软件测试的流程过程化并对每一个过程元素进行明确的界定,形成完整的规范体系。
比如文档结构,模版,规范目的。
四、1.测试点的确定由分析设计员确立。
概要设计或详细设计中应指出每个单元模块的测试要点、指标和方法。
2.测试用例概要概述:测试用例是为了特定目的而设计的测试数据及与之相关的测试规程的一个特定的集合,或称为有效地发现软件缺陷的最小从测试执行单元。
测试实际上就是测试用例的计划、执行和跟踪过程。
规模越大,测试用例设计难度越大。
设计步骤:测试需求、测试需求编号、(一个需求2个用例,正、反),输入,输出(预期结果)编写测试用例:测试用例编号TC_测试需求标识,测试需求标识,测试目标状态(测试前需要准备什么条件,环境),输入,输出(执行用例后的实际结果)3.测试用例设计—黑盒定义:检查程序功能是否按照规格说明书的规定正常使用第三方测试、外购软件大多采用黑盒测试静态黑盒测试:测试产品说明书,测试文档,找出根本性大问题,疏漏或遗漏产品说明书属性检查清单:完整、准确、精确、一致、贴切、合理、代码无关、可测试动态黑盒测试:不深入代码细节的软件测试称动态黑盒测试,也称行为测试,等价类划分:划分等价类,选取测试用例。
选取测试用例:先为每一个等价类编号,设计新用例尽可能多地覆盖有效等价类、重复,设计新用例仅覆盖一个无效等价来、重复。
边界值分析:边界值分析是等价类划分的一种变体和改良,主要有两方面的区别,第一,不是在等价类中选择一个元素作为代表,而是挑选元素时使用等价类EC的边界受到测试,第二,不只关注输入条件,也注意输出条件。
依次取取min、min+、nom、max-、max健壮性测试:除了上述5个取值外,还取min-和max+,检测超过极限的情况,意义在输出部分。
最坏情况测试:关心多个变量取极值时出现的情况,对每个变量的5种情况求出笛卡尔积,生成测试用例。
健壮最坏测试:两者融合*错误猜测法、判断表法、因果图法4.测试用例设计—白盒内容:代码分析,静态结构分析,代码质量度量,功能确认和接口分析,逻辑覆盖率分析,性能与效率分析,内存分析静态白盒测试:代码检查(人工+工具):桌面检查,代码审查,走查静态结构分析(工具):函数调用关系,模块控制流图,文件调用关系图,类关系图软件质量度量(工具):质量模型(度量规则,分类标准,质量因素)动态白盒测试功能确认与接口分析:单元接口测试,扩展接口测试,局部数据结构,重要执行路径,错误处理的路径,影响上述几点的边界条件。
???逻辑覆盖率分析:测试覆盖率(测试用例对内部逻辑的覆盖程度)语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖多条件覆盖,修正条件判定覆盖,路径覆盖(全部)性能与效率分析:单个函数的性能分析,函数的调用频率分析,代码执行频率分析,响应时间,并发性。
内存分析:了解程序内存分配的真实情况,发现内存分配的错误,在问题出现前发现征兆,内存错误(分配,释放)代码跟踪:高级方式,控制流,源代码跟踪5.如何安排白盒测试单元测试:人工检查、动态执行跟踪调试:成功测试之后开始的,是进一步找到程序中的错误辅助模块、桩模块自顶向下的单元测试策略自底向上的单元测试策略孤立测试集成测试:传统:模块内集成测试,子系统内集成测试,子系统间集成测试面向对象:类内集成测试,类间集成测试集成方式:基于分解的集成一次性集成方式:非增量式增量式集成方式:自顶向下增量集成方式:深度优先替代桩模块自底向上增量集成方式:驱动模块工作量小混合的增量式集成(三明治):底层向上顶层向下基于层次的集成:(广度优先)系统测试:根据规格说明书设计测试用例,验证软件系统功能和性能。
验收测试:黑盒为主,辅以白盒,根据软件任务书*6.白盒综合策略先用工具进行静态结构分析,先静态后动态,最后且重点的是覆盖率测试单元阶段,以代码审查,逻辑覆盖为主;集成阶段,增加静态结构分析,静态质量度量;系统阶段,要黑盒辅以白盒7.面向对象测试五、1.兼容性测试兼容性测试验证软件与其所依赖的环境的依赖程度,包括对硬件的依赖程度,对平台软件、其他软件的依赖程度。
2.硬件兼容性测试目的:确认硬件环境描述是否正确内容:最低配置,影响速度、对环境特殊要求,对CPU硬盘,内存要求3.软件兼容性测试操作系统、数据库、中间件(补丁包)、浏览器、其他软件4.数据兼容性软件之间能否正确地交互和共享信息,如文字、表格、图片格式5.平台化软件兼容性跨硬件能力、跨操作系统能力、多数据库系统、客户端兼容性测试、数据兼容性测试6.新旧系统数据迁移测试新旧版本切换时保证数据安全,需要双向迁移保证可以恢复旧系统。
(需要备份数据)7.易用性测试概述:是指软件产品被理解、学习、使用和吸引用户的能力(外观)。
安装测试:安装的易用性、安装过程、安装手册。
功能易用性测试:业务复合型、功能定制性、交互性等用户界面测试:界面整体测试:界面规范性、一致性、合理性的测试和评估。
界面元素测试:窗口、菜单、图标等测试辅助系统测试:帮助和引导用户使用软件的辅助系统,如帮助、向导、信息提示框。
8.可靠性测试定义:在规定环境,规定时间内,一个系统或其功能无故障运行的可能性。
规定时间一般分为执行时间、日历时间和时钟时间。
可靠性目标:客户对软件性能满意程度的期望目的:发现影响可靠性的缺陷,实现可靠性增长。
环节:开发软件可操作概图并生成测试用例、开发软件可靠性测试的环境、对测试结果数据进行量化分析。
9.文档测试概要:除了测试程序,还要保证文档饿正确性也是职责范围之内。
范围:用户手册(用户手册、操作手册、维护修改建议)、开发文档(需求、设计、可行性分析等)、管理文档(项目开发计划、测试计划、测试报告等)用户文档内容:包装、登记表、广告、安装设置指导、用户许可协议、联机帮助用户文档作用:改善易安装型,提高易用性,开山可靠性,促进销路,降低技术支持费用文档检查要点:非代码-静态方法,结合-动态测试。