《软件测试-课程总结.ppt》由会员分享,可在线阅读,更多相关《软件测试-课程总结.ppt(55页珍藏版)》请在三一办公上搜索。
1、2.5.4.1 谁负责软件质量,Tester or SQA?SQA负责软件的质量防止软件缺陷的出现保证软件达到一定的质量和可靠性等级SQA如何做到对项目进行近乎完全的控制建立标准和方法论,监视和评价开发过程拥有决定产品何时准备发布的授权,SQA与软件测试的关系,SQA 是管理工作、审查对象是流程、强调以预防为主测试是技术工作、测试对象是产品、主要是以事后检查SQA指导、监控开发和测试活动测试为SQA提供依据Tester的职业发展方向-SQA,3.1 软件测试的基本方法,根据测试方法论,可分为黑盒测试白盒测试灰盒测试根据测试方式,可分为静态测试动态测试,3.1.2 白盒测试 White-box
2、testing,了解内部逻辑结构和处理过程,测试其变量状态、逻辑结构、运行路径等;用于软件验证;要求尽量做到全覆盖风险:受代码的影响,3.1.1 黑盒测试 Black-box testing,把事物看成一个整体,不考虑其内部结构和运行机制,通过分析其输入、输出以及周边条件来验证所应具备的功能是否正确实现主要用于软件功能测试、确认测试,白盒测试常用方法,基于覆盖的测试语句覆盖判定(分支)覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖循环覆盖,3.1.3 静态测试和动态测试,静态方法(不需运行程序)检查:需求定义;组件质量、代码质量(依标准、规范)、过程标准思想:早测试;过程决定质量效益:好的静态
3、测试,可发现大部分的Bug动态方法(通过运行程序来检验)检验系统实际运行的情况需要做测试用例的设计,3.2 软件测试的流程,软件测试贯穿软件产品开发的整个生命期按阶段进行测试是一种基本的测试策略,RAD模型生命期示意图,项目计划,需求分析,概要设计,详细设计,软件编码与单元测试,软件计划及审查软件安装测试计划,软件规格书及审查系统测试计划,概要设计书及审查功能测试计划,详细设计书及审查集成测试计划,集成测试,功能测试,系统测试及验收测试,安装测试,测试活动网络计划图,项目计划,系统分析,概要设计,详细设计,编代码单元测,集成测试,功能测试,系统测试,验收测试,验收测试计划,验收测试用例设计,系
4、统测试计划,系统测试用例设计,功能测试计划,功能测试用例设计,集成测试计划及集成测试用例设计,3.7.1 软件测试的工作流程,制定测试计划设计测试用例执行软件测试软件缺陷记录及跟踪管理测试结果分析和质量报告,3.7.3 软件测试用例,测试用例是软件测试的核心何谓测试用例 Test Case是按一定顺序执行的与测试目标相关的测试活动的描述;是确定“怎样”测试有明确的输入描述和对输出的预期描述最小的测试执行单元;谁来写测试用例,3.7.3.1 测试用例特点,可复用重复使用,测试的稳定性有效性良好的用例不需要穷举而覆盖尽量大管理性测试用例的通过率是代码质量的指标基础性新手能马上使用,软件测试用例举例
5、,依据相关规格说明书考虑正确的输入考虑错误的输入考虑异常的输入考虑触发错误的条件(输入)测试用例范例,4.1 软件测试方法概述,4.2 测试产品说明书,静态、黑盒测试测试时机尽早介入(软件需求分析、系统设计阶段)测试目的在软件投产之前找出缺陷产品说明书(需求规格书)很重要确保最终产品符合客户要求通过说明书,完整描述产品,有一致的理解,4.3 闭着眼睛测试软件,动态、黑盒测试测试方式输入、接受输出、检验结果(行为测试)应用领域集成测试、功能测试、系统测试、验收测试等精心组织的有计划的测试应采用目标明确的结构化方法认真设计测试用例;精心选择测试用例集会测试依据-软件产品说明书,4.3.1 通过测试
6、与失败测试,软件测试的两个基本思路通过测试软件能做什么验证基本功能是否实现失败测试软件有哪些缺陷考验软件能力、破坏性试验哪个为主、先做哪个?,测试技术之1等价分配,软件测试员的最重要任务设计、选择适合的测试用例-以有限的用例覆盖被测试的所有情况如何做到-等价分配 分步骤把过多(无限)的测试用例减少到同样有效的小范围的过程等价类别(区间)-测试相同目标或暴露相同软件缺陷的一组测试用例等价分配的原则-足以覆盖测试目标,测试技术之2数据测试,软件的两个基本要素数据+程序对数据进行软件测试输入、输出、中间值的检查对数据的等价分配边界条件次(内部)边界条件空值无效数据,测试技术之3 状态测试,软件的两个
7、基本要素测试软件的逻辑流程通过不同的状态验证程序的逻辑流程软件状态-软件当前所处的情况或者模式程序的状态和分支是结合的(相当的多!)如何有效地测试-等价分配状态和分支状态转换图,测试技术之4 因果图方法,根据数据之间的关系,分析因果关系,确定等价类例:两列数据,要求第一列为A或B,同时第二列为数字如第一列不满足,则提示:L如第二列不满足,则提示:M,黑盒测试技术要综合运用,等价类有效的、无效的;合法的、不合法的数据边界值数据的极限、边界情况状态图、功能图考虑各种条件的组合错误推测方法利用经验和历史错误数据,4.4 检查代码,静态、白盒测试不必执行程序,以找出软件缺陷结构分析-审查软件设计、体系
8、结构和代码形式:代码走查、审查、评审会应用领域主要在单元测试检查代码的目的尽可能早地发现软件缺陷为黑盒测试用例的设计提供思路,4.5 戴上X光眼镜检查软件,动态、白盒测试利用查看代码功能和实现方式得到的信息来确定哪些要测试,那些不要测试,如何展开测试-结构测试应用领域单元测试、集成测试测试内容直接测试控制软件-强制赋值、干预执行评估覆盖、调整测试测试工具开发环境之调试器,4.5.2 黑盒与白盒相结合,通过黑盒建立一个初步的、中立的测试用例通过白盒获得系统实现方面的信息依此对等价分配作进一步的提炼、调整大幅减轻测试工作增加没有考虑到的测试查找内部边界条件应用举例先黑盒、后白盒,4.5.3 数据范
9、围分析,数据流跟踪通过调试器,了解数据的初值、中间值、结束值找到更多的次边界计算公式了解计算过程、避免出现溢出或间接异常强制赋值通过强制赋值,构建某种不易出现的状态,以测试该状态下的软件运行情况,4.5.4 代码范围分析,需要测试程序的状态需要测试程序的流程进入和退出每一个模块/函数执行每一行代码进入每一个分支结构跟踪每一条逻辑判断要求:通过可控制的测试用例,实现代码的全覆盖,测试技术在各测试阶段中的应用,软件分析设计静态黑盒单元测试静态白盒、动态白盒集成测试动态白盒、动态黑盒功能测试、系统测试、验收测试、安装测试动态黑盒,测试技术的综合应用,黑盒测试更广些、更高些、更浅些中医方法白盒测试更深
10、些、更专些西医方法根据具体情况、因事而异,6.1 执行测试,对测试用例的组织和跟踪已经有的测试用例有哪些计划执行哪些测试用例(测试用例集合)计划执行多少个测试用例,执行需要多长时间执行测试用例时,哪些通过了、哪些失败在失败的测试用例中,哪些在上次执行时也失败了上次执行测试案例时通过的百分比是多少形成两份报告测试执行情况报告软件缺陷报告,6.3 让别人重视自己的缺陷报告,编写缺陷报告的基本原则尽快报告软件缺陷修复风险随时间而大大增加有效描述软件缺陷短小、单一、明显和通用、再现在报告时不做评价陈述事实、对事不对人补充完善缺陷报告保存好缺陷描述、并跟踪缺陷、补充进展信息,6.3.3 协调测试与调试职
11、责,基于缺陷的职责协调再现缺陷所需的最少步骤缺陷是否成立(缺陷或测试员的错误)产生缺陷的外部因素产生缺陷的内部因素如何在不产生新缺陷的条件下修复该缺陷该修复是否经过调试、单元是否经过测试测试是否被关闭(确认及回归测试),4.4 软件缺陷的生命期,新建缺陷-测试员审查缺陷报告-项目经理修复缺陷-程序员验证修复-测试员关闭缺陷-测试员三方共同协作、对缺陷严密监控由测试员打开、由测试员关闭,打开(T),修复(PG),关闭(T),审查(PM),检查(T),软件缺陷的生命期示意图,评审,驳回,公开,分配,修复,测试,关闭,Bug状态:打开、修复中、已修复、关闭报告无效,软件缺陷的生命期示意图,评审,驳回
12、,公开,分配,修复,测试,关闭,Bug状态:打开、修复中、已修复、关闭报告无效信息不足,软件缺陷的生命期示意图,评审,驳回,公开,分配,修复,测试,关闭,Bug状态:打开、修复中、已修复、关闭、信息不足报告无效重新公开,重新公开,6.6 软件缺陷跟踪管理,缺陷跟踪管理的意义软件缺陷反映了软件的本质测试驱动的软件开发过程缺陷跟踪管理的原则基于缺陷生命周期三方配合,跟踪Bug整个生命期谁打开、谁关闭(第一责任人),6.6.1 软件缺陷跟踪管理手段,以数据库形式对软件缺陷进行管理数据库内容Bug总括信息(标题、责任人、当前情况等)Bug详细信息(Bug详细描述、修复详细描述、进展等)Bug状态、日志
13、等信息信息管理内容缺陷的建立缺陷修复任务的分派缺陷信息的维护缺陷状态更新缺陷信息的价值,6.6.2 缺陷信息的价值,软件缺陷跟踪数据库是整个项目组的中心点缺陷信息的查询与统计Bug分布情况(区域、模块)Tester发现Bug的情况总的Bug发现情况每天发现的Bug数量Bug的修复情况未修复的Bug数量所发现Bug的属性(严重性/优先级),6.7 软件缺陷分析,软件缺陷信息反映软件项目的本质缺陷数据库为项目组成员提供丰富、翔实的信息反映测试工作状态方面的信息反映项目开发组工作状态方面的信息预测项目进展趋势方面的信息,Bug分布情况-按原因,Bug打开关闭累计曲线,Bug打开关闭累计曲线,Bug打
14、开关闭累计曲线,Bug打开关闭累计曲线,Bug打开/解决/关闭累计曲线,QuickTest测试流程,录制测试脚本加强测试脚本设置检查点参数化脚本建立输出值执行测试脚本分析测试结果,因果图方法示例,1,2,3,11,22,21,23,or,and,not,not,E,测试用例执行报告格式,测试用例示例,测试用例:验证记事本程序可以编辑中英文混合的内容测试步骤:1、运行记事本程序2、切换到中文输入法,输入中文“学习编写”3、切换到英文输入法,输入英文“Test Case”4、保存文件,文件名为 testcase.txt5、关闭记事本程序6、双击 testcase.txt 以打开文件预期结果:1、文
15、件内容是“学习编写 Test Case”,缺陷报告的示例,优秀的缺陷报告重现步骤:打开一个编辑文字的软件并且创建一个新的文档(这个文件可以录入文字)在这个文件里随意录入一两行文字 选中一两行文字,通过选择Font 菜单然后选择Arial字体格式 一两行文字变成了无意义的乱字符 期望结果:当用户选择已录入的文字并改变文字格式的时候,文本应该显示正确的文字格式不会出现乱字符显示。实际结果:它是字体格式的问题,如果改变文字格式成Arial之前,你保存文件,缺陷不会出现。缺陷仅仅发生在Windows98并且改变文字格式成其它的字体格式,文字是显示正常的。见所附的图片,缺陷报告示例,标题:虽然对乘积做清零,但乘法后做加法出错软件:小精灵计算器版本号:操作系统:Win XPsp2级别:1(严重)重现步骤:1、运行小精灵计算器软件2、做任意乘法,如 2*3,计算结果为63、点击“清零”,界面显示为 04、做任意加法,如 2+3期望结果:1、计算结果应为 5实际结果:1、计算结果为 11原因分析:直接进行加法运算,结果正确。可能是点击“清零”时,程序内部暂存器没有清零,导致 乘法积影响后面加法运行结果,快速入门回顾,测试什么怎么测试-方法、思路测试用例执行测试用例提交缺陷(Bug)跟踪Bug测试环境、平台软件开发项目的组织与管理,
链接地址:https://www.31ppt.com/p-6434298.html