软件质量与测试第一次课

上传人:飞*** 文档编号:57185838 上传时间:2018-10-19 格式:PPT 页数:65 大小:1.43MB
返回 下载 相关 举报
软件质量与测试第一次课_第1页
第1页 / 共65页
软件质量与测试第一次课_第2页
第2页 / 共65页
软件质量与测试第一次课_第3页
第3页 / 共65页
软件质量与测试第一次课_第4页
第4页 / 共65页
软件质量与测试第一次课_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《软件质量与测试第一次课》由会员分享,可在线阅读,更多相关《软件质量与测试第一次课(65页珍藏版)》请在金锄头文库上搜索。

1、教材-理论概念上讲解软件测试的方法和技术,教材,本书围绕软件测试的核心概念,介绍了软件测试的基本方法和过程,并通过丰富的案例予以实践。全书共三部分。第一部分软件测试概述,对软件测试的核心概念与思想(软件缺陷、测试用例、自动化测试)展开初步的讨论和测试实践。第二部分软件测试技术,详细讨论了传统的黑盒测试方法和白盒测试方法,针对每种测试方法均按照基本原理、测试用例设计和捉虫实践的顺序依次展开阐述;对应黑盒测试和白盒测试给出了综合案例实践。,教材,第三部分软件测试应用,从测试实施的角度,分为单元测试、集成测试和系统测试三个阶段进行讨论;最后提供了综合应用案例实践,从自动化测试的角度,结合单元测试工具

2、、功能测试工具和性能测试工具,讨论自动化测试的设计与实施。全书结构遵循学生的认知规律,循序渐进,由浅入深,并注重理论联系实际,使理论知识在实践运用中具有可操作性。,参考书-重实践重应用,参考书,参考书,参考书,第一部分 软件测试概述,软件测试核心概念,教学目标,通过本节课的学习能够深刻理解软件测试的概念,分清什么是软件的缺陷,知晓测试用例是什么,他是做什么用的。最后,了解自动化测试的概念,知道测试不仅仅可以手工还可以使用测试工具,实现自动化测试。,教学重点、难点,本节课无难点,只有重点。 1、软件测试的概念 2、软件缺陷的概念 3、自动化测试的概念,教学方法,讨论(我听,学生说)+讲授(我说,

3、学生听) +实践(做实验) 一少二多(少讲授,多讨论,多实践) 以案例分析讲解知识点,以任务驱动学生掌握知识点。 组建团队(随意指定组合),以团队为中心。 督促学生预习、复习,提高学生的自学能力。 讨论中的表现记入平时成绩,12,教学过程,提出问题进行讨论 什么是软件测试 什么是软件缺陷 什么是测试用例 什么是自动化测试,13,第1章 软件测试核心概念,内容提要 介绍与软件测试工程师关系最密切的核心概念:软件测试、软件缺陷、测试用例、自动化测试 以第二日问题为例,通过多次测试尝试,以理解软件测试工作的内容和目标,14,第1章 软件测试核心概念,本章重点 什么是软件测试 什么是软件缺陷 什么是测

4、试用例 什么是自动化测试,15,1.1 引子:猎人打鸟,来回答一个问题:如果树上有10只鸟,开枪打死1只,还剩几只? ,16,1.2 软件测试的概念,软件的定义 软件 = 程序 + 数据库 + 文档 + 服务,17,1.2 软件测试的概念,软件的特点 软件必须依托具体的硬件设备而运行,硬件的改变很可能导致软件不可用 软件严重依靠人的智力劳动,因此,常具有较大的随意性 软件不会磨损,但会随硬件设备及用户需求的不断变化而不断需要进行升级,甚至也可能被淘汰,18,1.2 软件测试的概念,软件测试的定义IEEE1983 是使用人工和自动手段来运行或测试某个系统的过程,目的在于检验其是否满足规定的需要或

5、是弄清楚预期结果与实际结果之间的差别,提出问题:软件测试能解决什么?,20,1.2 软件测试的概念,软件测试的定义体现了测试工作的核心与实质 软件测试的根本目的是确保软件满足用户需求 软件测试的目的是要衡量软件产品是否符合预期 软件测试是一个持续进行的过程 测试既需要动态执行也需要静态检查 测试不仅需要手工执行还需要自动执行,21,1.2 软件测试的概念,软件测试的根本目的是确保软件满足用户需求,22,1.2 软件测试的概念,软件测试的目的是要衡量软件产品是否符合预期系统需求规格说明书(SRS)测试用例(Test Case),23,1.2 软件测试的概念,软件测试是一个持续进行的过程,24,1

6、.2 软件测试的概念,软件测试需要解决如下问题: 围绕用户需求:如何有效获取用户需求,如何准确理解和表达用户需求,如何保证用户需求的稳定性 围绕软件产品是否符合预期:如何高效地设计测试用例,达到对成本、质量、进度的均衡控制 围绕测试过程管理:如何合理评估和控制风险,如何规划整个测试工作,如何管理包括环境、工具、人力、测试交付物在内的所有相关资源 测试既需要动态执行也需要静态检查 测试不仅需要手动执行还需要自动执行,25,1.2 软件测试的概念,捉虫实践一:So easy? 功能描述 开始测试 测试分析,26,1.2 软件测试的概念,第二日问题: 基本功能:根据用户输入的有效日期(格式为年-月-

7、日),自动计算下一天的日期,27,1.2 软件测试的概念,开始测试,28,1.2 软件测试的概念,测试分析 这些测试是如何设计得到的,是否存在规律性?如用别的日期来测试,能得到与这些数据一样的测试效果吗? 这些测试的质量如何? 这些测试如何执行? 这些测试内容如何管理?发现了缺陷如何处理?,29,1.2 软件测试的概念,让学生判断是否正确为什么? 如果我们有良好的设计和高水平的程序员,就不需要测试了 软件测试并不创造任何代码和产品,我们可以不需要测试 测试等于调试 软件需求规格说明应详细地包含所有用户需求 软件测试可以提高软件质量 测试是没有技术含量的,30,1.2 软件测试的概念,软件测试的

8、认识误区 如果我们有良好的设计和高水平的程序员,就不需要测试了 软件测试并不创造任何代码和产品,我们可以不需要测试 测试等于调试 软件需求规格说明应详细地包含所有用户需求 软件测试可以提高软件质量 测试是没有技术含量的,31,1.3 软件缺陷的概念,惨痛的教训:小虫子,大问题 某网站电话门事件 钢水外溢事件 客轮超载事件 服务器频繁崩溃事件 丰田汽车黑匣子阅读器缺陷,32,1.3 软件缺陷的概念,软件缺陷的定义Ron Patton 软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好 软件未达到需求规格说明书中指明的功能 软件出现了需求规格说明书中指明不会出现的错误 软件功

9、能超出需求规格说明书中指明的范围 软件未达到需求规格说明书中虽未指出但应达到的目标,33,1.3 软件缺陷的概念,因此,软件测试员的主要任务是 根据用户的意见和反馈执行测试 依据SRS,针对系统在有效输入及有效操作下的正常功能进行测试 依据SRS或个人经验,针对系统在无效输入或无效操作下的软件容错能力进行测试 开发人员应遵循良好的开发习惯,与用户和项目组成员及时沟通,避免植入无依据的软件缺陷 需求分析阶段强调测试专家的介入,从测试的视角完善需求规格说明,提高系统的外部环境容错能力,34,1.3 软件缺陷的概念,捉虫实践二:虫子捉完了吗? 功能描述 开始测试 测试分析,35,1.3 软件缺陷的概

10、念,功能描述,36,1.3 软件缺陷的概念,开始测试,37,1.3 软件缺陷的概念,测试分析 测试改进体现在 针对需求进行明确和细化,在每个测试中有明确的操作步骤和输入数据,测试是可以对应实际进行执行的 对照系统的需求规格说明来设计测试,至少可以满足测试是对应功能点进行覆盖的,38,1.3 软件缺陷的概念,测试分析:虫子捉完了吗? 还应注意 测试的完整性和有效性 代码的测试 测试的管理 测试应进一步引入针对性更强的测试方法,以提高测试效率,降低测试风险;测试必须通过一种支持管理的方式进行记录,保证通过测试发现的缺陷能得到及时修复,39,1.3 软件缺陷的概念,缺陷的来源及代价,40,1.4 测

11、试用例的概念,测试用例的定义IEEE1990 是一组测试输入、执行条件和预期结果,目的是要满足一个特定的目标,比如执行一条特定的程序路径或检验是否符合一个特定的需求,41,1.4 测试用例的概念,测试用例的定义 测试用例 = 输入 + 输出 + 测试环境,42,1.4 测试用例的概念,测试用例的设计 正常数据 错误数据 边界数据,43,1.4 测试用例的概念,测试用例设计的基本原则 数量越少越好 典型性越高越好 对缺陷的定位性越强越好,44,1.4 测试用例的概念,捉虫实践三:如何提高效率? 功能描述 开始测试 测试分析,45,1.4 测试用例的概念,开始测试 3个整型输入参数:year,mo

12、nth,day,46,1.4 测试用例的概念,部分测试用例,47,1.4 测试用例的概念,部分测试用例(续),48,1.4 测试用例的概念,测试分析:如何提高效率? 改进 测试用例更具典型性 测试用例利于查找和管理 新的问题 测试用例的有效性 测试用例的规模 缺陷定位问题 缺陷管理问题,49,1.4 测试用例的概念,测试分析:如何提高效率? 需针对正常数据、边界数据、错误数据,以及系统业务流程等不同的方面,进行测试方法研究,利用规范的测试方法,在测试用例的规模、有效性、缺陷定位能力等方面提高测试的效率 需引入自动化测试,将测试人员从枯燥的测试执行工作中解放出来,让机器自动、准确地完成测试的执行

13、,50,1.5 自动化测试,定义 相对手动测试而存在的,它是通过测试工具、测试脚本(Test Scripts)等手段,按照测试工程师的预定计划对软件产品进行自动的测试,从而验证软件是否满足用户的需求。,51,1.5 自动化测试,自动化测试能做什么?,52,1.5 自动化测试,自动化测试技术 录制/回放技术 脚本技术 线性脚本 结构化脚本 共享脚本 数据驱动脚本 关键字驱动脚本,53,1.5 自动化测试,捉虫实践四:如何消灭所有虫子? 功能描述 开始测试 测试分析,54,1.5 自动化测试,功能描述,55,1.5 自动化测试,开始测试,56,1.5 自动化测试,测试需求 核心函数,CNEXTDA

14、YDlg类的AddOneDay方法的自动化单元测试 自动读取每个测试用例的输入和预期输出; 自动执行测试用例; 自动校验测试用例执行结果; 自动控制测试过程; 自动生成测试报告。,57,1.5 自动化测试,测试脚本 1、测试AddOne方法,58,1.5 自动化测试,测试脚本 2、读取测试数据和自动测试,59,1.5 自动化测试,测试脚本 3、创建测试类,执行自动化测试,60,1.5 自动化测试,执行测试:测试数据1,61,1.5 自动化测试,执行测试:测试数据1的结果,62,1.5 自动化测试,执行测试:空数据的结果,63,1.5 自动化测试,测试分析:如何消灭所有虫子? 函数AddOneday的问题 函数未做很好的有效性校验 函数中存在多余的语句,导致孤立节点,形成不可行路径,64,1.5 自动化测试,测试分析:如何消灭所有虫子? 测试脚本的问题 测试驱动程序不应完成被测函数应提供的功能 测试的层面不清晰 测试脚本应独立于被测对象 测试脚本读取测试数据时的有效性校验不完备 测试执行完成后,测试结果覆盖了原始测试数据,实验,33页第五题,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号