软件测试技术与质量保证

上传人:206****923 文档编号:51427473 上传时间:2018-08-14 格式:PPT 页数:30 大小:117KB
返回 下载 相关 举报
软件测试技术与质量保证_第1页
第1页 / 共30页
软件测试技术与质量保证_第2页
第2页 / 共30页
软件测试技术与质量保证_第3页
第3页 / 共30页
软件测试技术与质量保证_第4页
第4页 / 共30页
软件测试技术与质量保证_第5页
第5页 / 共30页
点击查看更多>>
资源描述

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

1、软件测试技术与质量保证主讲人:徐丽第一章 软件测试技术 n产生软件错误的原因 n软件测试技术的发展 静态测试方法和动态测试 方法 软件测试技术 软件测试的重要性 软件测试的目的 软件测试的原则 成功测试包括两个主要方 面1、产生软件错误的原因交流不够、交流上有误 解或者根本不进行交流软件复杂性程序设计错误需求变化时间压力自负人更喜欢说:没问 题代码文档贫乏软件开发工具 2、软件测试的发展历程70年代以前:Ad-hoc testing,与调试没有区分;70年代80年代中期:测试 基础理论和实用技术形成,测试 作为软件质量保证(SQA)的主 要职能;80年代后期90年代中期:测 试工具在质量和数量

2、上不断增长, 测试与SQA(注重于过程和质量监督 )分离,注重于工具对测试效率的 影响;90年后期目前:关注有效的 过程管理对于软件测试的重要性, 形成各种测试模型、测试能力成熟 度模型。3、静态测试方法和动态测试方法n静态方法:被测试程序不真正运行。n动态方法:被测试程序真正运行。静态测试不必执行程序,仅通过分析、检查系统的表示如需求文档、系统设计图、程序代码等来寻找程序中是否存在缺陷。根据是否需要检查源码的语法又可以 分为: 语法测试主要是非形式化的复审、走查和形式化的软件检查、证明。 语义测试主要是形式化方法,如正确性证明、验证程序的逻辑或功能 。要求需求规约形式化,用程序执行 前后的两

3、个断言即前条件和后条件来 表示规约,要证明软件执行后把前条 件变成后条件。现在可作的工作是精 化规约和设计,这样一来更容易证明 正确性。动态测试生成测试用例执行程序,比较实际输出与预期输出,来发现存在的还未被揭示的错误,确定测试的成功与否。根据是否需要检查源代码分为:黑盒测试:开始于需求,基于 规约进行测试,包括随机测试和功 能测试,随机测试属于一种统计测 试,功能测试属于确定性测试。白盒测试:结构测试,属于确 定性测试,开始于结构,基于结构 进行测试,缺陷在于如果代码中就 没有包含这个功能,则无法确定。黑盒测试方法黑盒测试也称功能测试(数据驱动测试、基于规格说明的测试),它是在已知产品所应具

4、有的功能,依据需求规格说明通过测试来检测每个功能是否都能正常使用。所有的测试和结果完全基于软件 的外部行为,仅依赖于软件的输入 和输出。黑盒测试不考虑软件的内 部逻辑和具体实现,根据需求规范 和设计文档来设计测试用例,因而 又称为功能测试。采用黑盒测试时,选择和设计测 试用例的方法主要有等价分类法、 边界值法、因果图法等方法,主要 用于软件确认测试。软件测试方法:黑盒测试输入输入输出输出白盒测试方法白盒测试也称结构测试( 逻辑驱动测试、基于程序的测 试),它是知道产品内部工作 过程,可通过测试来检测产品 内部动作是否按照规格说明书 的规定正常进行。是针对源程 序实现的测试。测试用例的选择依赖于

5、测 试对象的内部逻辑和结构,又 称结构测试。实施白盒测试时 需要指定覆盖准则,主要有语 句覆盖、判定覆盖、条件覆盖 、判定/条件覆盖和条件组合覆 盖。主要用于软件验证。 软件测试方法:白盒测试应用程序应用程序黑盒测试与白盒测试的比较测试 方式特征依据人员驱动程序黑盒 测试只关心程序的 外部表现,不 关心内部设计 与实现软件 需求测试人 员、用 户不需要编写 额外的测试 驱动程序白盒 测试关注软件的内 部设计与实现 ,要跟踪源代 码的运行设计 文档开发人 员与测 试人员需要编写额 外的测试驱 动程序有了黑盒测试为什么还需要白盒测试 ? 黑盒测试只能观察软件的外部表黑盒测试只能观察软件的外部表 现

6、,即使软件的输入输出都正确现,即使软件的输入输出都正确, ,却却 不能说明软件是正确编码的不能说明软件是正确编码的, ,因为程因为程 序有可能用错误的计算方式得出正序有可能用错误的计算方式得出正 确的结果。确的结果。 白盒测试能发现程序中的隐患白盒测试能发现程序中的隐患, ,例例 如如: :内存泄漏、误差累计等问题内存泄漏、误差累计等问题, ,在在 这方面黑盒测试严重不足。这方面黑盒测试严重不足。有了白盒测试为什么还需要黑盒测试 ?通过了白盒测试只能说明程序代码符合设计需求,并不能说明程序的功能符合用户的需求。如果程序的系统设计偏离了用户需求,即使100%正确编码的程序也不是用户所要的。4、测

7、试技术功能测试:黑盒测试回归测试:对软件作出修改后 重新执行以前所做的所有测试, 以确保修改没有带来新的缺陷。入侵测试:模拟web用户恶意 入侵。业务功能/规则测试:验证 软件提供预期的服务,包括有 效/无效的条件、业务规则和工 作流兼容性:在不同的OS、支撑 环境下运行检查其正确性互操作性测试:不同版本软 件中相同功能的互操作性 性能测试:验证响应/处理时间 ,主要是响应时间,包括不同系统组 件优化响应时间,端端和/或特定子 系统,使用可用软件功能的限定数目 。 负载测试:验证是否支持同时 使用系统的客户的所需数目,关注合 适的功能和响应时间,包括不同的客 户/事务(理想的和最差的),端端的

8、 测试,从不同执行者的工作中抽取的 应用功能的大样本。压力测试:验证遇到特定条件 时系统功能的可接受性,包括低内 存/磁盘空间,少的系统资源,数 据库锁和网络带宽等共享资源的竞 争。容量测试:验证大容量数据的 支持,主要是DBMS的实体和功能, 包括DB中大容量数据,单次事务中 的大容量数据。配置测试:验证在不同的硬软 件环境下系统合适的功能性,主要 是可接受的功能性,包括所选的业 务功能测试,特定硬软件环境下的 测试安装测试:验证软件在不同硬 软件环境或配置下的安装,主要是 安装过程,包括不同的安装选择( 常规、自定义,网络,升级),不 同的配置,所选的业务功能测试( 回归测试)。文档和帮助

9、测试:验证文 档传递正确、合适的信息。包 括在线、书面、上下文敏感的 帮助,是否最新的与软件功能 一致。故障恢复测试:系统出现故 障时能够恢复程度的测试。可靠性测试:系统与可靠性 相关的测试。5、软件测试的重要性软件测试是一个必不可少的活 动,是对软件需求分析、设计规约和编 码的最终复审;是软件质量保证的关键 步骤。软件测试是根据软件开发各阶段 的规约和软件的内部结构,精心设计一 批测试用例(包括输入数据及其预期的 输出结果),并利用这些测试用例去运行 程序,以发现软件中不符合质量特性要 求(即缺陷或错误)的过程。6、软件测试的目的测试是程序的执行过程,目的 在于发现缺陷;一个好的测试用例在于

10、能发现 至今未发现的缺陷;一个成功的测试是发现了至今 未发现的多个缺陷的测试。7、软件测试的原则(1)应当把“尽早地和不断地进 行软件测试”作为软件开发者的座 右铭。 (2)测试用例应由测试输入数据 和与之对应的预期输出结果这两部 分组成。 (3)程序员应该避免检查自己的 程序。(注意不是指对程序的调试 ) (4)在设计测试用例时,应当包 括合理的输入条件和不合理的输入 条件。(5)充分注意测试中的群集现 象。(6)严格执行测试计划,排除测试的随意性。(7)应当对每一个测试结果作 全面检查。(8)妥善保存测试计划、测试 用例、出错统计和最终分析报告, 为维护提供方便。8、成功测试包括两个主要方面被测试的程序段在足够多的 测试数据上是正确的。测试数据是充分的,即该程 序段在测试数据上的动态行为能 够充分反映质量特性的总体表现 。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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