您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 软件测试技术总复习PPT_Student1-3
计算机软件测试TestingComputerSoftware教学内容软件测试的基本理论软件测试的类型测试计划和测试文档的编写软件测试技巧和方法软件测试周期的V形图测试用例的编写测试结果的分析测试项目管理需要掌握的基础知识计算机操作软件工程C语言Office软件的掌握(Excel)数据库原理离散数学第一章软件测试概论1.1软件测试的发展1.2软件测试内涵1.3测试的经济学1.4为什么需要软件测试1.5测试样例1.1软件测试的发展1.2软件测试内涵广义上:测试是指软件产品生存周期内所有的检查、评审和确认活动。如设计评审、系统测试狭义上:测试是对软件产品质量的检验和评价。它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。1.3测试经济学在软件开发总成本中,软件测试的开销大约占到:30%~50%。发现缺陷的成本Vs修复缺陷的成本。软件维护支持费用增长:微软公司几乎每天接受25000个电话,每个电话的处理费用50~100美元之间。1.4为什么需要软件测试国内的软件:“重开发,轻测试”国际公司的实践经验第二章测试的目标和原则2.1软件测试目标软件测试不是完全测试一个程序也不是只是验证程序运行正确2.1软件测试目标简单地说,就是替用户受过,测试的最终目的是确保最终交给用户的产品的功能符合用户的需求,把尽可能多的问题在产品交给用户之前发现并改正。第二章测试的目标和原则2.1软件测试目标1.确保产品完成了它所承诺和公布的功能,并且可以访问到的功能都有明确的书面说明2.确保产品满足性能和效率的要求3.确保产品是健壮的和适应用户环境的第二章测试的目标和原则2.1软件测试目标♦测试目的是为了发现尽可能多的缺陷♦不符合产品规范的缺陷♦偏离客户需求的缺陷♦缺陷的分类错误的Wrong遗漏的Missing多余的Extra第二章测试的目标和原则第二章测试的目标和原则软件测试是为了发现错误而执行程序的过程;测试是为了证明程序有错,而不是证明程序无错;一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。软件测试的观点(经典)第二章测试的目标和原则2.2软件测试基本原则1、应尽可能早地开始测试在软件生命周期中,1个错误发现的越晚,修复错误的费用越高。阶段相对修复费用需求阶段0.1~0.2设计阶段0.5编码阶段1单元测试阶段2验收阶段5维护阶段20第二章测试的目标和原则第二章测试的原则2.2软件测试基本原则2、8-2原则20%的模块消耗80%的资源;20%的模块包含80%的错误;20%的错误消耗80%的修改成本;第二章测试的原则2.2软件测试基本原则3、GoodEnough原则Good-enough原则就是一种权衡投入/产出比的原则:不充分的测试是不负责任的;过分的测试是一种资源的浪费,同样也是一种不负责任的表现。我们的操作困难在于:如何界定什么样的测试是不充分的,什么样的测试是过分的。第三章测试的类型及其在软件开发工程中的地位3.1软件开发阶段综述前言:测试是一门艺术:个人的想象力测试是一件手工艺品:熟练测试遵循规定的测试计划:时间不够较高的组织程度:较规范非常规范化的测试:世界级第三章测试的类型及其在软件开发工程中的地位3.1软件开发阶段综述♦开发的生命周期-传统的♦需求-设计-代码-测试-维护♦测试不应被约束为一个单一的阶段♦大多数系统错误发生在设计阶段♦测试的经济性要求我们要尽可能早地开始测试第三章测试的类型及其在软件开发工程中的地位3.1软件开发阶段综述软件测试生命周期的V形图错误需求规格说明缺陷设计错误编码错误缺陷测试缺陷缺陷分类缺陷隔离缺陷解决修复错误第三章测试的类型及其在软件开发工程中的地位3.1软件开发阶段综述软件测试生命周期的V形图错误需求规格说明缺陷设计错误编码错误缺陷测试缺陷缺陷分类缺陷隔离缺陷解决修复错误测试计划;测试用例开发;运行测试用例;评估测试结果第三章测试的类型及其在软件开发工程中的地位3.1软件开发阶段综述注意:1.测试不应被约束为一个单一的阶段。2.大多数系统错误发生在设计阶段。3.测试的经济性要求我们要尽可能早的开始测试第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类1.按是否需要执行被测软件,分为静态测试和动态测试:♦静态测试:1.技术文档审查与评审,UML模型测试2.代码走查:对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。♦动态测试:1.执行系统代码2.通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类2.从测试是否针对系统的内部结构角度,分为:♦白盒测试:主要用于软件验证测试,开发人员执行。♦黑盒测试:主要用于软件确认测试,独立的测试人员执行。第三章测试的类型及其在软件开发工程中的地位白盒测试♦也称结构测试或逻辑驱动测试♦测试程序内部,基于内部逻辑结构的测试。♦主要方法有逻辑驱动、基路测试等。♦覆盖率:语句覆盖、分支覆盖、条件覆盖、条件组合覆盖、基本路径覆盖、循环覆盖、数据流覆盖、变异覆盖。第三章测试的类型及其在软件开发工程中的地位黑盒测试♦不论系统知识,基于外部功能的测试♦也称功能测试或数据驱动测试♦黑盒测试方法主要有:功能分解,等价类划分、边值分析、因果图、错误推测等,组合逻辑测试、基于状态转换的测试、随机测试。第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类3.测试按照执行的顺序分为:单元测试集成测试系统测试验收测试回归测试α测试和β测试第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类单元测试♦定义:确定程序代码的正确性,即程序代码单元是否按照预设的方式执行而产生合乎期待的结果。♦xUnit系列框架(包括Junit、Dunit、CUnit等等),有许多软件开发环境也都内建单元测试的功能第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类集成测试♦通过测试发现和接口有关的问题♦非增量集成、增量集成(自顶向下集成、自底向上集成)♦构造程序:使用一步到位的方法;使用增量集成的方法;♦自顶向下集成:深度优先;广度优先♦自底向上集成:实现特定子功能的簇第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类系统测试是对整个系统进行的一系列不同测试恢复测试:容错安全测试:不受非法侵入压力测试:需要反常数量、频率或资源性能测试:测试软件在集成系统中的运行性能的功能测试人机交互测试本地化测试配置和兼容性测试可安装性测试安全性测试软件可靠性测试用户文档测试第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类验收测试客户执行的对应于用户需求的测试第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类回归测试针对已发现缺陷较多的模块再次组织的测试专门针对可能会被修改影响的软件功能的附加测试针对修改过的软件成分的测试第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类α测试和β测试α测试:用户在开发者场所进行的测试,开发者指导用户进行测试;β测试:软件最终用户在多个场所测试,开发者不在现场,发布前的测试。第三章测试的类型及其在软件开发工程中的地位3.2软件测试分类软件开发的V字模型
本文标题:软件测试技术总复习PPT_Student1-3
链接地址:https://www.777doc.com/doc-3906323 .html