《系统架构设计师教程(第2版)》第5章-软件工程基础知识-04-软件测试

1.测试方法

  • 以测试过程中程序执行状态为依据
    • 静态测试 (StaticTesting,ST)
    • 动态测试 (Dynamic Testing,DT)
  • 以具体实现算法细节和系统内部结构的相关情况为根据
    • 黑盒测试
    • 白盒测试
    • 灰盒测试
  • 从程序执行的方式来分类
    • 为人工测试 (Manual Testing,MT)
    • 自动化测试 (Automatic Testing,AT)。

1.1 静态测试

  • 概述:
    • 被测程序不运行
    • 只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误

    通过对软件的需求规格说明书、设计说明书以及源程序做结构分析和流程图分析,从而来找出错误

  • 如:不匹配的参数,未定义的变量等。

1.2 动态测试

  • 概述:
    • 通过运行被测试程序,对得到的运行结果与预期的结果进行比较分析
    • 同时分析运行效率和健壮性能等
  • 分为3个步骤:
    • 构造测试实例
    • 执行程序
    • 分析结果

1.3 黑盒测试

  • 概述:
    • 将被测程序看成是一个黑盒(不考虑任何程序内部结构和特性)
    • 根据需求规格说明书设计测试实例,检查程序的功能是否能够按照规范说明准确无误的运行
  • 测试范围:对软件界面、软件功能

对于黑盒测试行为必须加以量化才能够有效的保证软件的质量。

1.4 白盒测试

  • 概述:
    • 借助程序内部的逻辑和相关信息
    • 通过检测内部动作是否按照设计规格说明书的设定进行
    • 来检查每一条通路能否正常工作
  • 从程序结构方面出发对测试用例进行设计
  • 测试范围
    • 检查各个逻辑结构是否合理
    • 对应的模块独立路径是否正常
    • 内部结构是否有效
  • 常用的白盒测试法:控制流分析、数据流分析、路径分析、程序变异等
  • 覆盖标准分为
    • 语句覆盖:确保每个语句至少被执行一次。(最基本的覆盖标准,但可能无法检测到所有的错误)
    • 判定覆盖:确保每个判定的每个分支都被执行至少一次。(可以检测到更多的错误,但仍然可能遗漏一些情况)
    • 分支覆盖:确保每个分支都被执行至少一次。(比判定覆盖更严格,但仍然可能遗漏一些情况)
    • 路径覆盖:确保程序中的每条可能路径都被执行至少一次。(最严格的覆盖标准,但通常也是最难达到)

1.5 灰盒测试

  • 介于黑盒与白盒测试之间
    • (同黑盒):重视输出相对于输入的正确性
    • (同白盒):看重其内部的程序逻辑
    • (弱白盒): 不像白盒测试那样详细和完整

它只是简单地靠一些象征性的现象或标志来判断其内部的运行情况,因此在内部结果出现错误,但输出结
果正确的情况下可以采取灰盒测试方法。

  • 优点
    • 比白盒高效
    • 比黑盒适用性广

1.6 自动化测试

  • 软件测试的自动化:在预先设定的条件下自动运行被测程序,并分析运行结果

2. 测试阶段

  • 从阶段上划分
    • 单元测试
    • 集成测试
    • 系统测试,系统测试中又包含了
      多种不同的测试种类,例如功能测试、性能测试、验收测试、压力测试等。

2.1 单元测试

  • 测试对象:软件的模块
  • 目的:发现该模块的功能不符合、不满足期望的情况和编码错误
  • 采用方法
    • 方法一:
      • 静态测试方法对模块源程序分析
      • 按模块程序设计的控制流程图,以满足软件覆盖率要求的逻辑测试要求
    • 方法二:
      • 黑盒测试方法提出一组基本的测试用例
      • 再用白盒测试方法进行验证

2.2 集成测试

  • 采用方法:白盒测试和黑盒测试结合
  • 目的:明确该程序结构组装的正确性,发现和接口有关的问题
  • 测试内容:对已经严格按照程序设计要求和标准组装起来的模块同时进行测试

2.3 系统测试

  • 采用方法:黑盒测试
  • 目的:检查系统是否符合软件需求
  • 测试内容包:能测试、性能测试、健壮性测试、安装或反安装测试、用户界面测试、压力测试、可靠性及安全性测试等。
  • 其他:
    • 由独立的测试小组
    • 多轮回归测试
  • 结束标志:
    • 满足测试目标所规定的需求覆盖率
    • 发现的缺陷全部归零

2.4 性能测试

  • 概述:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
  • 负载测试:确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况
  • 压力测试:通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试

2.5 验收测试

  • 概述
    • 最后一个阶段的测试(是软件产品投入正式交付前的测试工作)
    • 为用户展示软件符合预定的要求和有关标准
    • 验证软件实际工作的有效性和可靠性
    • 确保用户能用该软件顺利完成既定的任务和功能
  • 目的:检查是否满足用户需求及合同的各项要求
  • 和系统测试的区别
    • 系统测试是软件开发过程中一项工作
    • 验收测试是由用户对要交付软件开展的一种测试工作

2.6 Alpha 测试

  • 环境:软件开发环境或模拟实际操作环境
  • 测试人员:用户
  • 目的:主要是对软件产品的功能、局域化、界面、可使用性以及性能等等方面进行评价

2.7 Beta测试

  • 环境:实际环境
  • 测试人员:多个用户
  • 目的:将在测试过程中发现的错误有效反馈给软件开发者

2.8 其他测试

1)AB测试

概述:制作l两个或多个版本,在同一时间维度收集用户体验数据,分析、评估,以决定采用哪个版本

是为Web或 App界面或流程制作两个 (A/B) 或多个 (A/B/n) 版本,在同一时间维度,分别让组成成分相同(相似)的访客群组(目标人群)随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析、评估出最好版本,正式采用。

2)Web测试

  • 概述:是针对Web 应用的一类测试
  • 目的:尽可能地多发现浏览器端和服务器端程序中的错误并及时加以修正

3)链接测试

  • 概述:验证应用程序中的链接是否有效和正确
  • 3个方面:
    • 测试所有链接指向是否正确
    • 测试所链接的页面是否存在
    • 保证 Web应用系统上没有孤立的页面

4)表单测试

  • 概述:验证表单的正确性
  • 如:
    • 提交操作的完整性
    • 服务器是否能正确保存提交的数据
    • 默认值的正确性
    • 指定值类型的正确性
  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
大象--Thinking in UML(09年度畅销榜NO.3) 作者: 谭云杰 出社:中国水利水电出社 ISBN:9787508460468 出日期:2009 年1月 编辑推荐 这是一本令众多开发网友企盼了一年之久的书. 这是一本讲分析、设计、建模与统一软件过程的书 这是一本将晦涩的概念与项目的实践紧密结合的书.. 这是一本充满思想和智慧的书 这不是一本一般的书... 内容简介回到顶部↑本书以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言和精彩的事例将复杂枯燥的软件过程讲解得津津有味。 全书分为准备篇、基础篇、进阶篇和总结篇四个部分。准备篇讲述面向对象分析的一些基本概念,及学习建模需要了解的一些基本知识基础篇对UML的基础概念重新组织和归纳整理,进行扩展和讨论,引申出针对UML的这些概念在面向对象方法中应用方法的思考。进阶篇以一个实例贯穿全篇,阐述如何使用UML从头到尾地实施一个项目。总结篇针对在现实中经常遇到并且较难掌握的问题进行深入的探讨,升华在前几篇学习到的知识。 本书可供正在学习编程、软件工程知识,准备将来从事IT行业的读者、正努力向设计师或系统分析员转变的技术人员及期望对软件分析设计更上一层楼的设计人员学习和提高之用。 目录回到顶部↑大象希形 写给读者的话 关于本书 如何阅读本书 光盘使用说明 第一部分 准备篇——需要了解 第1章 为什么需要UML 第2章 建模基础 第二部分 基础篇——在学习中思考 第3章 UML核心元素 第4章 UML核心视图 第5章 UML核心模型 第6章 统一过程核心工作流简介 第三部分 进阶篇——在实践中思考 第8章 准备工作 第9章 获取需求 第10章 需求分析 第11章 系统分析 第12章 系统设计 第13章 开发 . 第14章 测试 第四部分 高级篇——在提炼中思考 第15章 理解用例的本质 第17章 理解建模的抽象层次 第18章 划分子系统的问题 第19章 学会使用系统边界 第20章 学会从接口认知事物 第21章 学会正确选择 第22章 学会使用设计模式 附录 UML视图常用元素参考 图目录 表目录 后记

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄德公笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值