1、软件测试概述软件测试组测试计划和级别Bug的发现和管理什么是软件测试测试的目的与任务软件质量的定义测试与软件成本测试部分常用术语质量保证-系统的监督和评估项目的各个方面以确保满足质量标准 测试是分析并确定产品是否满足客户的需求和期望的所有活动目的目的-保证软件质量,确保产品满足设计的要求和客户的需求,同时降低软件的开发成本和维护成本,并最终签发(Signoff)产品质量任务任务 根据特性规格说明制定测试计划 开发必要的测试工具 编写测试用例 执行系统、全面、深入的测试,在开发过程中找出所有可能存在的Bug 跟踪并管理产品质量,定期报告质量状态 负责最终的发布认可(Signoff)成本 越早发现
2、bug,修正的机会越大,开发和后期维护的代价越小Spec review编码阶段Beta阶段本地化发布后质量越高,软件发布后维护费用越低QA-Quality Assurance 质量保证Bug-缺陷,问题Blocking BugShow Stopper Bug/Release Killer-致命问题Milestone-里程碑Test Case-测试用例Stress Test-附压测试BVT-Build Verification TestAd-hoc 测试-随机测试Buddy TestDog FoodZBB(Zero Bug Bounce)ZBR(Zero Bug Release)RTM/RTW微
3、软测试组在整个项目中的位置与程序员的关系与程序经理的关系测试Team的主要职责测试组成员的职责和设计组,开发组及用户教育等并列的队伍测试组负责产品的质量控制测试人员和开发人员的比例大约是1:1沟通和联络沟通和联络后勤后勤测试测试开发开发用户教育用户教育产品规划产品规划产品经理产品经理测试组不是开发组的助手,合作又各司其职程序员不能写完代码扔过墙,等待测试工程师找到所有的BugRAID是桥梁对有分歧的Bug程序员不能擅自关闭测试人员对发现的Bug要尽可能提供详细的信息没有隶属关系,合作又各司其职程序经理提供详细的规格说明程序经理要参与Review测试计划测试人员要报告测试状态及产品状态测试队伍的
4、组成 经理,组长,测试工程师主要职责 测试计划 测试 测试过程 项目与资源管理 交流与业务 创作相关的测试计划和测试用例 设计或改编相关的测试工具 识别可自动测试的区域 参与组内的测试计划和测试用例以及测试脚本分析工作 手动自动测试 Ad-Hoc测试 按照需求规格说明查证并验证各项功能 发现并报告Bug,更踪Bug状态 评估Bug 对产品其它区域的主要影响。确定测试的策略 参与对整个产品的完整测试计划的制定 参与并管理测试 评估Bug对用户的影响,推荐Work-Around.独立的跟踪关键Bug的状态 管理测试工作和对应的资源.参与面试新人 交流状态和存在的问题,并驱动问题的解决 促进组内的对
5、间接问题的交流.定义时间进度表定义质量标准参加Bug TriageSign off 产品发起和计划长期的测试过程,使之规范化积极开发测试人员的技术技能.组建测试队伍,雇用测试工程师合理安排各种资源.负责制定产品测试所需的预算测试计划的主要内容测试级别引言背景信息质量目标责任测试的方法论Milestone 的处理测试文档自动测试策略集成测试策略API测试策略性能测试Performance(Benchmark)Testing测试资源的规划兼容测试Ad Hoc测试策略本地化测试策略全球化测试策略Beta策略Release Criteria对第三方的依赖测试周期:与项目的里程碑配合单元测试-针对单独代
6、码部分进行的测试 子程序 简单函数组件测试-测试多个单元和数据对象间的互操作性 被调用的Subroutines,Data,etc.集成测试-测试集成组件的互操作性 Exe和Dll系统测试-测试系统的鲁棒性和与外部系统的交互性 附压/性能测试 系统安装/应用程序的兼容性什么是Bug及常见类型RAID/BMS有效地报告BugBug的严重程度和优先级Bug的处理Bug TriageActive Bug数量的趋势功能未实现,和规格说明书不一致不能工作:死机,没反应不兼容边界条件界面、消息、提示不够准确,不友好把尚未完成的工作也作为一个Bug文档与帮助信息中的缺陷也是BugRAID是客户端的工具,Bug
7、数据库整个产品组的中央记录和控制丰富的查询功能,有效地跟踪项目的状态,为产品发布提供判断标准准确的定义了描述Bug要用到的属性Postponed Bug所有的记录无法删除,对于每个记录只能一直添加内容查寻并确认不重复 从标题开始 可能查找多次 最后是查找Bug的描述部分 如果找到类似的Bug,检查是否需要加入新的注释。填写标题,简明描述该问题StatusAssigned ToIssue TypeSeverityPriorityChange Date,Change ByOpened Date,By,RevSource,Beta ID,How foundLanguageResolution:By
8、design,Fixed,Duplicate,Not Repro,Wont FixArea,Sub AreaPlatform附件附图描述系统配置,如:OS内存大小处理器类型浏览器类型和版本其他应用程序帮助开发人员再现Bug.组成列出起始参数再现步骤预期和实际的结果已测试的其它有用信息一旦保存所用描述信息将无法修改,只能添加死机,数据丢失,主要功能组完全丧失,系统悬挂主要功能丧失,导致严重的问题,或致命的错误声明次要功能丧失,不太严重,如提示信息不太准确微小的问题,对功能几乎没有影响,产品及属性仍可使用.如有个错别字新建一个Bug时的状态Bug Regression表明Bug等待修正评估开发进度
9、产品质量的重要指标对Bug的处理结果必须重新分派给报告该Bug的人员对修正的Bug需要确认标准的处理结果:故意的 重复 已修正 无法重现 延期修正 永不修正 外部Bug的解决方法=故意的 重复 无法重现 延期修正 永不修正 外部Bug的解决方法=已修正 Bug regression何时TriageTriage 成员主持:Program Manager成员:PM/QA/Dev/LPM,Builder and 经理.讨论,要求Fix的理由Fix可能带来的风险Fix要求被拒绝时要采取的行动代码完成前:很少代码完成后:增长很快接近Beta:下降接近RC:奔向零产品质量和里程碑的信号 每天新建的Bug与
10、修正的Bug相比较.Active状态Bug的总数TesterRaidPMOthersBuilderDevSLM SrvBld SrvRls SrvExchange Public FolderA Bugs Life 100%Raid driven1.File a bug2.Triage the bug3.Dev investigate the bug4.Ask Checkin 5.Builder verify permission6。OK checkin7.Check in bug fix8.Auto sync at night9.Mgr daily builds10.Pass BVT11.Mgr daily releases12.Tester to verify the fix,close/re-activate the bug accordinglyFile/view bugs