《软件测试计划教学课件电子教案.pptx》由会员分享,可在线阅读,更多相关《软件测试计划教学课件电子教案.pptx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章 软件测试计划软件测试技术董皊本书内容第1章 软件测试概述第2章 软件测试流程和过程模型第4章 测试用例概述第5章 高效设计测试用例第6章 软件缺陷报告第7章 软件测试报告第8章 易用性测试第9章 Web测试第10章 测试人员的职业技能和技术支持第3章 软件测试计划3.2软件测试计划概述3.3软件测试计划的内容需求规格说明书用例概述需求描述用户安装、卸载爱邮客户端行为者终端用户前置条件拥有该功能点权限界面描述界面元素业务规则序号规则1用户可以在wap网站下载安装包也可以在web网站下载安装包到电脑,再传送至手机2选择手机中安装包即可直接安装3将PushMail程序安装到手机内存或者是内存
2、卡中都可以4当手机已有旧版本新浪PushMail,新版本可以直接覆盖安装,覆盖安装不会保留原有的用户数据根据需求来源的不同,软件分类产品类软件没有特定用户以合同形式明确要求,由市场分析人员分析潜在的客户的潜在需求获得方式:市场调查、问卷、类似产品用户回馈、心里分析研究等方式要求:要有深厚的业务背景、敏锐的洞察力、前瞻和预测能力以及创造性思维项目类软件由特定用户以合同等契约形式明确下来;方式:可通过访谈、交流、一起工作等方式要求:具有业务背景、很好的交流沟通能力和亲和力,还需要很强的分析能力需求分析的作用非常重要一项调查的结果表明:56%的软件缺陷其实是在软件需求阶段被引入的,而这其中的50%是
3、由于需求文档编写不明确、不清晰、不正确等问题导致的,剩下的50%则是由于需求的遗漏导致的。所以经常会发生这样的现象:项目组开发出来的软件,虽然已经通过了严格的测试和质量保证人员的确认,但依然会收到很多用户抱怨,甚至开发者团队自身可能都不喜欢使用。原因就是需求从一开始就是错误的。什么是评审?为了避免出现“需求从一开始就是错误的”现象,软件测试人员需要对软件的需求规格说明书进行测试,而且要尽早参与需求评审会。IEEE729-1983规定:在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程
4、、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。需求评审的重要性需求评审会才是真正的让大家接收信息的途径,重要的事必须当面说清保证需求分析的正确和准确性是决定软件项目成败的关键因素经验再丰富的需求分析人员也可能犯错需求在传达过程中存在很大的偏差。如果不做评审软件测试工程师需求评审检查单1需求中的每个规格是否都有明确的说明?2软件的需求的表述是否清晰?3软件的需求是否存在二义性?4是否对特定含义的术语给予了定义?5需求是否有自相矛盾的情况?6需求中有没有遗漏一些异常的约束关系?7需求中有没有包含不确定行描述,如:大约、可能、等8环境搭建是否有
5、困难或可能有困难?第3章 软件测试计划3.1软件测试需求分析3.3软件测试计划的内容什么是软件测试计划?IEEE定义测试计划为:软件测试计划是一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。编写测试计划有利于测试组成员对测试工作的资源、时间、风险、测试范围及预算做综合评估。制定测试计划有什么作用呢?(1)软件测试计划是保证项目成功的重要因素之一(2)管理者可以根据测试计划做宏观调控,进行相应资源的配置管理;(3)可以增加团队间交流,使测试人员了解整个项目不同阶段所要进行的工作安排;(4)便于其他成员了解测试人员的
6、工作内容,配合有关工作(5)如果是项目式软件的话,可以通过测试计划交代的内容,比如测试过程、人员技能、资源、使用工具等信息,给客户信心。如何做好软件测试计划工作(1)测试计划的制定越早越好测试计划越早制定越好,通常需求文档评审通过后,测试组就需要开始测试计划工作了,并通过计划过程形成测试计划文档。当然,对于开发过程不是十分清晰和稳定的项目,测试计划也可以在总体设计完成后开始编写。(2)坚持5W1H的基本思路,明确软件测试计划内容的6要素如何做好软件测试计划工作(3)采用评审和更新机制如果没有经过评审,直接发送给测试团队,测试计划内容可能不准确或遗漏。因为可能需求发生了变更,而测试计划没有及时更
7、新,也有可能受编写人员自身经验和对软件需求的理解所限而导致内容不完善。所以一定要对软件测试计划进行评审,而且根据审阅意见和建议进行修正和更新。即便如此,在后续的软件测试执行过程中,仍然会出现“计划赶不上变化”的情况,所以软件测试计划需要不断更新。(4)软件测试计划要简洁、易读避免 “大而全”,无所不包,长篇大论,既浪费写作时间,也浪费测试人员的阅读时间。“大而全”的一个常见表现就是测试计划文档包含详细的测试技术指标和测试用例。最好的方法是分开创建测试计划和测试用例以及详细的测试技术指标。测试计划和测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试用例
8、是完成测试任务的具体战术。常见考题测试计划定义测试计划的作用5W原则为什么要对测试计划进行评审3.3 软件测试计划的内容3.3.1项目概述3.3.2测试范围3.3.3测试策略3.3.4测试资源3.3.5测试进度3.3.6测试准则3.3.7风险及应对方案3.3.8测试提交的文档3.3.1 项目概述1. 项目背景:列出测试计划所从属的软件系统的名称。说明没有这个产品的时候所处的“悲惨境地”;还要说明这个产品解决了什么问题,能达到什么样的美好未来,以及促成这个改变所需要的产品功能点。软件系统的名称:学生考试系统组织学生考试工作是教学管理中的一项重要工作内容,但现在学院对于学生考试的管理还采取人工出题
9、、组卷、纸张打印的方式,效率明显太低,而且成本也相对比较大,也不环保。随着信息时代的发展以及计算机广泛的普及,人们的日常学习办公越来越离不开计算机,而对于学校的教务管理中心和老师来说,若能有一套有效的学生考试系统,无疑会大大的提高效率,方便对学生考试的管理。因此,项目组准备开发一套功能完善的考试系统软件,快速处理出题、组卷、发布试卷、以及参加考试等功能。该系统包含学生端和教师端2个部分。学生端的功能主要是:学生信息展示、学生登录功能、学生参与考试及查看考试解析等;而教师端的功能主要是:学生信息录入、试题录入、组卷、发布考试、教师阅卷等。2. 编写目的:编写这个文档要达到的目的。3.计划受众:可
10、能会阅读和参考这份文档的人员。预期的读者有两类:项目管理人员和测试人员。3.3.1 项目概述4.术语定义:文中出现的专门术语和外文首字母组词的原词组,包括通用词语在本文中的专用解释。作用:让小组内全体人员说法一致;让非专业人士能看懂文档3.3.1 项目概述5. 参考资料:本项目经核准的计划任务书、合同或上级机关的批文;属于本项目的其他已发表的文件;本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出标题、文件编号、发表日期和出版单位,说明这些文件资料的来源。比如:计算机软件工程规范国家标准汇编2003,中国标准出版社;GBT 15532-2008 计算机软件测试规范2008;GBT
11、9386-2008 计算机软件测试文档编制规范2008; 某某项目需求规格说明书V1.5版,项目小组内部文档;某某项目开发计划书V1.2版,项目小组内部文档;某某项目产品原型图V1.7版,项目小组内部文档;3.3.2 测试范围测试策略/方法测试策略是描述测试小组用于测试整体和每个阶段的方法。需要注意以下几点:列出对测试对象进行测试的推荐方法;对于每种测试,都应提供测试说明,并解释其实施的原因;将要使用的测试技术以及完成标准。3.3.4 测试资源测试资源包括软硬件资源和人力资源。在项目期间测试可能用到的任何资源都要考虑到。软硬件资源:测试人员配置测试工具3.3.4 测试资源测试资源包括软硬件资源
12、和人力资源。在项目期间测试可能用到的任何资源都要考虑到。软硬件资源:测试人员配置测试工具3.3.5 测试进度1.任务分工:每个人所负责的测试内容2.测试里程碑:关键性事件的时间节点。在测试中,通常有几个里程碑,比如系统测试、制定测试计划、设计测试用例、执行测试用例、软件测试报告。序号序号测试活动测试活动计划开始日期计划开始日期计划结束日期计划结束日期所需工时所需工时1系统培训2025-08-042025-08-085个工作日2制定测试计划2025-08-112025-08-155个工作日3设计测试用例2025-08-182025-09-3034个工作日4执行测试用例2025-10-082025
13、-11-0722个工作日5软件测试报告2025-11-102025-11-134个工作日测试员测试员测试任务分配测试任务分配张三张三测试字符格式:字体、大小、颜色、样式李四李四测试布局:项目符号、段落、制表位、换行王五王五配置和兼容性测试赵六赵六用户界面测试:易用性、外观、辅助特性董皊董皊压力测试和负载测试3.3.5 测试进度最大关键路径法:最大关键路径法:比如:如果张三负责的A模块需要3天完成,李四负责的B模块需要5天完成,王五负责的C模块需要4天完成,那么这轮测试计划的时间就按照5天来算。这个时间计算的前提是这3人的工作是并行的。倒推法:倒推法:简单的说,如果一个项目是3个月,其中2个月是
14、开发时间,那最终的测试时间就只有1个月了,测试就只能在这1个月之内进行计划和安排。序号序号测试活动测试活动计划开始日期计划开始日期计划结束日期计划结束日期所需工时所需工时1第一轮测试2025-10-082025-10-2212个工作日2第二轮测试2025-10-232025-10-317个工作日3第三轮测试2025-11-032025-11-075个工作日3.3.5 测试进度进度破坏:由于项目中某部分提交给测试组的时间推迟了导致测试时间压缩的情况。采用相对日期序号序号测试活动测试活动计划开始日期计划开始日期所需工时所需工时1制定测试计划说明书完成后7天2个星期2设计测试用例测试计划完成6个星期
15、3执行第1轮测试代码构建完成3个星期4执行第2轮测试Beta版代码构建完成3个星期5执行第3轮测试发行版构建完成2个星期6测试总结报告软件测试到达最佳平衡点1个星期3.3.5 测试进度测试人员数量岁时间变化的趋势图3.3.6 测试准则(1)测试进入的准则:是指开始执行测试的时机;(2)测试暂停的准则:描述系统在什么情况下暂停全部或部分测试工作;(3)测试恢复的准则:描述系统恢复测试的必要条件;(4)测试退出的准则:描述测试退出的条件,有正常退出,也有非正常或意外的退出。3.3.6 测试准则测试通过的标准功能性测试用例通过率达到100%,非功能性测试用例通过率从达到85%,对于不能通过的测试项,
16、在提交测试报告前与项目经理确认S1和S2的bug不允许存在;S3的bug可以遗留5%,最多不超过10个;S4的bug可以遗留20%,最多不超过25个Bug趋势处于收敛状态3.3.7 风险及应对方案(1)需求风险:需求变更或理解不准确;(2)测试用例风险:设计不完整;(3)缺陷风险:难以复现或没有很好的被跟踪;(4)代码风险:代码质量差、修改难度大;或系统架构扩展性不足;(5)测试环境风险:数量不足导致测试结果误差。(6)测试技术风险:技术局限性(7)回归测试风险:回归时,业务流程不通导致延后(8)沟通协调风险:部门之间的沟通协调不畅,比如需求变更没有及时通知(9)研发流程风险:流程不规范导致一
17、些临时风险(10)其他不可预计的风险:如法状况、不可抗力的因素3.3.8 测试提交的文档测试完成后测试人员需要归档的文档。如软件测试计划、软件测试用例、软件缺陷报告、缺陷处理日志、软件测试报告等。一页纸测试计划核心三要素TRQ范围花多长时间去做软硬件、人力要测试的内容以及重点测试范围测试进度计划测试里程碑测试资源测试计划和测试方案的区别序号序号角度角度测试计划测试计划测试方案测试方案1组织方式不同管理文件技术文件2目的不同强调“做什么”强调“怎么做”3具体要求不同组织架构、工作任务分配、工作量估计、人力物力资源的分配、进度的安排、风险的估计和规避、各任务通过准则等测试需求的细化、测试组网图的设
18、计、自动化测试框架的设计、测试数据和测试脚本的设计、测试用例设计的原则等常见题目一、单选题(1)关于做好软件测试计划工作的说法错误的是()A. 测试计划越早制定越好。B. 坚持5W1H的基本思路。C. 在测试计划中包含测试详细规格和测试用例。D. 采取评审和更新机制。(2)关于编写软件测试计划的好处说法错误的是()A.为组织、安排和管理测试提供一个整体框架。B.可以增进团队间的交流,明确不同测试阶段所要进行的工作。C.有利于其他成员了解测试人员的工作。D.测试计划是一个形式上的文档,主要是为了测试文件存档。(3)软件测试所需要的资源应该包含哪三大类?()A.硬件资源、软件资源、人力资源B.网络
19、资源、软件资源、人力资源C.硬件资源、软件资源、开发资源D.硬件资源、软件资源、风险资源常见题目二、多选题(1)在软件项目中,影响项目的关键约束有哪几个?()A.项目范围B.项目资源C.项目进度D.项目质量(2)根据需求来源的不同,软件分为哪几种类型?()A.系统类软件B.产品类软件C.功能类软件D.项目类软件(3)软件测试计划中为什么要进行术语定义?()A.可以让小组内全体人员对于术语定义的说法一致。B.为了让非专业人士也能看懂测试计划文档,减少沟通。C.术语定义应该包括专门术语和外文首字母组词的原词组。D.术语定义包括通用词语在本文中的专用解释。(4)在测试中,可能遇到的风险有哪些?()A.需求风险B.缺陷风险C.沟通协调风险D.研发流程风险E.测试环境风险F.代码风险常见题目三、判断题(1)软件测试计划一般是由测试经理去编写,测试新手不需要学习如何编写测试计划。()(2)软件测试计划的模板是固定的,所以记住软件测试计划的模板内容,就可以写好一份软件测试计划。()(3)调查结果表明:56%的缺陷是在软件需求阶段引入的,而这其中的50%是由于需求文档编写有问题、不明确导致的,剩下的50%是由于需求的遗漏导致的。()(4)编写软件测试计划占用很多时间,而且计划赶不上变化,所以不需要花费太多时间在测试计划上面。()下节更精彩