1、1测试基础培训一、测试理论二、测试流程三、测试实践2n测试理论3(一)什么是软件测试个人理解:为了尽早提交可验收的版本,软件测试人员在需求阶段就依据SRS(Software Requirement Specification)做测试需求分析,然后编写测试用例,根据测试用例运行软件,将实际结果与预期结果进行对比,如果一致,则测试通过,否则,提交缺陷报告单。4(二)测试的目的n人们对软件测试目的认识也经历了一个过程。5软件测试目的之证明20世纪世纪60年代年代n测试是证明软件没有问题测试是证明软件没有问题现在现在n获取系统在可接受风险范围内可用的信心获取系统在可接受风险范围内可用的信心n尝试在非正
2、常情况和条件下的功能和特性尝试在非正常情况和条件下的功能和特性n保证一个工作产品是完整的并且可用或者保证一个工作产品是完整的并且可用或者可被集成可被集成 6软件测试目的之检测20世纪世纪70年代中期年代中期n测试是为了发现错误测试是为了发现错误现在现在n发现缺陷、错误和系统不足发现缺陷、错误和系统不足n定义系统的能力和局限性定义系统的能力和局限性n提供组件、工作产品和系统的提供组件、工作产品和系统的 质量信息质量信息 7软件测试目的之预防n澄清系统澄清系统 的规格和性能的规格和性能n提供预防或减少可能制造错误的信息提供预防或减少可能制造错误的信息n在过程中尽早检测错误在过程中尽早检测错误n确认
3、问题和风险,并且提前确认解决这些确认问题和风险,并且提前确认解决这些问题和风险的途径问题和风险的途径 8(三)测试阶段划分n单元测试(单元测试(Unit Testing)n集成测试(集成测试(Integration Testing)n系统测试(系统测试(System Testing)n验收测试验收测试(Acceptance Testing)9测试阶段划分10单元测试n单元测试是针对软件基本组成单元(软件设计单元测试是针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的测试工作的最小单位)来进行正确性检验的测试工作 解说:对组成系统的解说:对组成系统的最基本单位(函数、类、函数、类、方法
4、)进行测试,方法)进行测试,检查逻辑覆盖率检查逻辑覆盖率n单元测试的目的是检测软件模块对单元测试的目的是检测软件模块对详细设计详细设计说明书说明书的符合程度的符合程度11集成测试n集成测试是在单元测试的基础上,将所有模块集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试证组装后功能以及模块间接口是否正确的测试工作工作 解说:对函数之间、模块之间、子系统之间解说:对函数之间、模块之间、子系统之间的集成数据传递进行测试,的集成数据传递进行测试,检查接口覆盖率检查接口覆盖率n集成测试的目的是
5、检测软件模块对集成测试的目的是检测软件模块对概要设计概要设计说明书说明书的符合程度的符合程度12系统测试n系统测试是将已经集成好的软件系统,作为整个基于计算机系统系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的测试工作算机系统进行一系列的测试工作 解说:解说:在做完单元测试、集成测试之后,将整个软件系统作为在做完单元测试、集成测试之后,将整个软件
6、系统作为一个元素和其他软、硬件、人等集成测试,一个元素和其他软、硬件、人等集成测试,检查需求覆盖率检查需求覆盖率n系统测试的目的在于通过与系统测试的目的在于通过与需求规格说明书需求规格说明书作比较,发现软作比较,发现软件与系统需求定义不符合或与之矛盾的地方件与系统需求定义不符合或与之矛盾的地方13单元、集成、系统测试之间比较n测试方法不同:分别属于白盒测试、灰盒测试、白盒测试测试方法不同:分别属于白盒测试、灰盒测试、白盒测试 n测试范围不同:测试范围不同:1.单元测试主要检查单元测试主要检查单元内部单元内部的数据结构、逻辑控制、异常处理的数据结构、逻辑控制、异常处理等等2.集成测试主要测试集成
7、测试主要测试模块之间模块之间的接口和接口数据传递关系,以及的接口和接口数据传递关系,以及模块组合的整体功能模块组合的整体功能3.系统测试主要测试系统测试主要测试整个系统整个系统相对于需求的符合度相对于需求的符合度n评估基准不同:分别是检查逻辑覆盖率、接口覆盖率、测试用例评估基准不同:分别是检查逻辑覆盖率、接口覆盖率、测试用例对需求规格的覆盖率对需求规格的覆盖率14验收测试n在通过了内部系统测试及软件配置审查之后,就可以开始验收测在通过了内部系统测试及软件配置审查之后,就可以开始验收测试。试。n验收测试是以用户为主的测试,验收组应该由项目组成员、用户验收测试是以用户为主的测试,验收组应该由项目组
8、成员、用户代表等组成。代表等组成。n验收测试根据合同、验收测试根据合同、需求规格说明书需求规格说明书或或验收测试计划验收测试计划对对成品进行验收测试成品进行验收测试n验收测试结果:验收测试结果:软件功能性能等质量特征与用户要求一致,软件可以接受软件功能性能等质量特征与用户要求一致,软件可以接受 软件功能性能等质量特征与用户要求有差距,不被用户接受软件功能性能等质量特征与用户要求有差距,不被用户接受15回归测试n软件在测试或其他活动中发现的缺陷经过修改后,应该进行回归软件在测试或其他活动中发现的缺陷经过修改后,应该进行回归测试(测试(Regression Testing)。目的是验证缺陷得到了正
9、确的)。目的是验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能。修复,同时对系统的变更没有影响以前的功能。n回归测试可以发生在任何一个阶段,包括单元测试、集成测试和回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试系统测试n回归测试策略:完全重复测试、选择性重复测试(只回归被修改回归测试策略:完全重复测试、选择性重复测试(只回归被修改的部分)的部分)1617测试V模型n测试流程18实际工作中测试阶段n单元测试(开发来完成)单元测试(开发来完成)n集成测试(测试工具:集成测试(测试工具:Soup UI)nSIT测试测试nUAT测试测试n回归测试回归测试(自动化回归测试自
10、动化回归测试)可根据上一章测试阶段对应实际工作中的测试阶段19单元测试过程与开发阶段20单元测试各阶段的输入输出(一)21单元测试各阶段的输入输出(二)22Sit 实施阶段准入原则23nSit整体测试计划已发布n项目组已申请相应测试环境并到位n项目组已完成测试所需应用系统的安装和配置24Sit 测试实施阶段Sit 实施阶段产出25n测试需求n测试用例n测试记录n缺陷记录Sit 实施阶段退出标准26n所有测试案例均已执行n所有严重、致命缺陷均已关闭n未解决告警缺陷不超过X%,建议缺陷不超过X%,且均有明确处理意见27黑盒测试用例设计方法等价类划分等价类划分边界值分析边界值分析判定表判定表因果图因
11、果图错误推测法错误推测法测试用例编写28nQC中编写测试用例n测试用例要素:用例名称、测试步骤(预置条件、输入数据、预期输出)缺陷产生原因29n缺乏有效的沟通、或者没有进行沟通n软件复杂度n编程错误n不断变更的需求n时间的压力缺陷编写30n缺陷等级定义n预置条件、操作步骤、输入数据、预期结果、实际结果、错误截图31缺陷等级定义致命性错误:致命性错误:导致系统无法运行,崩溃,异常退出,死机,服务停止,数据库混乱等,包括但不限于以下情况:由于程序所引起的死机,非法退出死循环数据库发生死锁数据库设计未达到第三范式的要求或需求规格说明的格式水平功能错误与数据库连错错误数据通讯错误严重性错误:严重性错误
12、:使系统不稳定,破坏数据,功能未实现,功能出现缺陷导致其它功能及模块出现缺陷,包括但不限于以下情况:因错误操作迫使程序中断程序接口错误数据库的表,业务规则,缺省值未加完整性约束条件导致其它功能及模块出现缺陷主要功能未实现程序问题导致系统不稳定错误导致后续流程或操作无法继续显示内容错误且容易误导用户精心错误处理告警性错误:告警性错误:功能已实现,存在不影响主要功能使用的小缺陷,包括但不限于:操作界面错误(包括数据窗口内列名定义,含义是否一致)打印内容,格式错误简单的输入限制未放在前台进行控制删除操作未给出提示数据库表中有过多的空字段32建议性错误:建议性错误:功能使用不方便,不合理,界面不友好或
13、风格不统一情况:界面不规范辅助说明描述不清楚输入输出不规范长操作未给用户提示提示窗口文字未采用行业术语可输入区域和只读区域没有明显的区分标志缺陷跟踪过程(一)33n缺陷跟踪用户组和角色的对应关系:提交组:所有用户 开发组:开发人员 审核组:测试协调人、系统负责人 测试组:测试人员缺陷跟踪过程(二)34nSIT测试缺陷跟踪过程如下图所示:缺陷跟踪过程(三)35n提交组成员提交所发现的缺陷,缺陷状态为“等待审核”n审核组成员分析审核缺陷,根据缺陷情况做不同操作:确实是缺陷的,做缺陷分配操作,分配主修复人、分配时间、规模、紧急程度等内容,缺陷状态变为“等待开发”因缺陷提供信息不足等原因导致无法确定的
14、,做延迟处理操作,输入延迟时间和延迟理由,缺陷状态变为“延迟开发”认为不是缺陷的,输入驳回时间和驳回理由,做驳回问题操作,缺陷状态变为“驳回”缺陷跟踪过程(三)36n对于“驳回”状态缺陷,提交组可:仍然认为是缺陷的,补充信息后做重新提交,返回“等待审核“状态确认不是缺陷的,做问题存档,到“缺陷存档”状态n对于“延迟开发”状态缺陷,提交组补充信息后做立即开发操作,返回“等待审核”状态n对于“等待开发”状态缺陷,开发组可:不认可分配内容的,输入驳回时间和驳回理由,做拒绝受理操作,缺陷状态变为“等待审核”认可分配的,修复缺陷完成后,输入开发时间和修复方案,做开发完毕操作,进入“等待检测”状态缺陷跟踪
15、过程(三)37n测试组对“等待检测”的缺陷进行回归测试:测试通过的,填写测试范围、测试时间、验证版本、测试结果、测试人、测试描述等内容,做测试通过操作,状态变为“关闭”测试不通过的,填写测试范围、测试时间、验证版本、测试结果、测试人、测试描述等内容,做测试未通过操作,状态变为“等待审核”38SIT测试总结阶段n测试实践39需求变更与沟通40n养成良好的习惯,在QC里不随意删除需求和测试用例。设置需求变更文件夹,记录跟业务开发确认的需求跟踪记录。n如果需求分析或用例编写过程中遇到问题,及时跟开发、业务沟通,如问题解决不了,交给PM处理需求变更与沟通41n尽量有书面沟通尽量,比如邮件确认记录n测试人员明确测试职责(是测试软件如何而不是根据自己分析该如何去实现)42评审方式n测试内部交叉评审测试内部交叉评审n与开发团队共同评审与开发团队共同评审n业务、开发、测试三方都参与的评审业务、开发、测试三方都参与的评审缺陷处理43n如果缺陷积压应及时找开发项目经理沟通解决n对存在疑问的bug及时展开bug讨论大会,促使开发业务达成一致,测试人员根据处理结果验证缺陷测试过程发现bug占比44n实际项目中举例分析开发人员应注意问题45n修改一个缺陷可能会导致其他模块出现问题,所以,修改一个缺陷应该考虑是不是会引起其他缺陷的产生46
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。