【软工】软件测试

举报
Laura_张 发表于 2022/08/28 00:22:27 2022/08/28
【摘要】 目录 前言正文 目的和原则 目的原则 测试信息流 测试用例设计方法 黑盒测试 等价类划分 边界值分析 错误推测法 因果图 白盒测试 逻辑覆盖 条件测试路径选...


前言

软件测试是软件工程中的第五个步骤,这一阶段需要完成测试计划和测试分析报告。

正文

目的和原则

目的

  1. 目的在于发现问题
  2. 好的测试用例在于能发现至今未发现的错误。
  3. 一个成功的测试是发现直接未发现的错误的测试。

原则

  1. “尽早”“不断”的进行软件测试
  2. 测试用例由测试输入数据和预期输出结果组成。
  3. 程序员避免测试自己的程序。
  4. 设计测试用例的时候,包括合理的输入条件和不合理的输入条件。

测试信息流

在这里插入图片描述

测试用例设计方法

黑盒测试

不考虑内部结构,只看功能,检查模块接口。

等价类划分

定义
把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选择少数有代表性的数据作为测试用例。
分类
分为有效等价类和无效等价类
划分原则
输入条件规定了取值范围或值的个数,可以确立一个有效等价类和两个无效等价类;
规定了输入值的集合,或者是规定了必须如何的条件,可以确定一个有效等价类和一个无效等价类;
输入为布尔量,可以确定一个有效等价类和一个无效等价类;
规定了输入数据的一组值,而且程序要对每个输入值进行处理;
规定了输入数据必须遵守的规则恶,可以确立一个有效等价类和若干个无效等价类;

边界值分析

定义
先确定边界,选取正好等于、刚刚大于(小于)边界的数据作为测试数据。
原则
输入条件规定了取值条件,在范围处取值测试。
输入条件规定了个数。
针对规格说明中每个输出条件使用前面的1、2 条件
输入输出域作为有序集合,选择第一个和最后一个元素作为测试用例。
等价类和边界值的区别
边界值不是从等价类中随便去一个数据作为代表,而是选择一个或几个特定值,使这个等价类的每个边界都作为测试的目标。
边界值分析不仅要考虑输入条件,还要考虑输出条件。

错误推测法

列举出所有可能出现的错误和容易发生的特殊情况,根据他们选择测试用例。

因果图

定义
输入条件和输出条件的组合,形成判定表,得到测试用例。此方法最终形成判定表。
步骤
1 分析原因和结果
2 找出原因和结果的关系,画因果图
3 标记约束条件
4 画出判定表
5 判定表中每一列作为依据,设计测试用例。
因果图中的基本符号
原因Ci
结果Ei
节点表示状态,可取值为0或1
主要原因和结果之间的关系
在这里插入图片描述
表示约束条件的符号
在这里插入图片描述

白盒测试

把程序看成一个透明的盒子,测试逻辑路径。

逻辑覆盖
  • 语句覆盖
    设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。
  • 判定覆盖
    判断若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。
  • 条件覆盖
    设计若干个测试用例,运行被测程序,使得程序中每个条件的可能取值至少执行一次。
  • 判定—条件覆盖
    设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次。同时每个判断中的每个条件的可能取值至少执行一次。
  • 条件组合覆盖
    设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。
  • 路径覆盖
    设计足够的测试用例,覆盖程序中所有可能的路径。
条件测试路径选择
  • 嵌套型分支结构
  • 连锁型分支结构
    在这里插入图片描述
循环测试路径选择

简单循环
嵌套循环
连锁循环
非结构循环

在这里插入图片描述

软件测试策略

在这里插入图片描述

单元测试

定义
模块测试,针对软件设计最小单位(程序模块)进行正确性 检验的测试工作。
内容
在这里插入图片描述
步骤
驱动模块/桩模块
在这里插入图片描述

组装测试

分类
1、一次性组装方式
2、增殖式组装方式
自顶向下的增殖方式
自底向上的增殖方式
混合增殖式测试

确认测试

定义
有效性测试,任务是验证软件的功能和性能及其他特性是否与用户的要求一致。
在这里插入图片描述
步骤
1、进行有效性测试(黑盒测试)
2、软件配置复查

验收测试

以用户为主的测试,软件开发人员和质量保证人员也参与,由用户参见设计测试用例,使用生产中的实际数据进行测试。

系统测试

定义
将通过确认测试的软件作为整个基于系统的一个元素,与计算机硬件软件外设和其他支持软件数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

软件测试种类

  • 功能测试——规定时间内运行软件的所有功能,验证是否有错误。
  • 可靠性测试——对可靠性进行测试。
  • 强度测试——检查运行环境故障的情况下,系统可以运行到什么程度。
  • 性能测试——是否满足需求的性能。
  • 恢复测试——客服硬件故障后,是否可以正常启动,并不造成损害。
  • 启动/停止测试——软件在机器关机启动时,软件处理能力。
  • 配置测试——检查计算机内部联结和分配错误。
  • 安全性测试
  • 可使用性测试
  • 可支持性测试
  • 安装测试
  • 过程测试
  • 互连测试
  • 兼容性测试
  • 容量测试
  • 文档测试

程序调试

定义

在进行了成功的测试之后才开始的工作,与软件测试不同,调试的任务是进一步诊断和改正程序中潜在的错误。

步骤

  • 由错误外部表现入手,确定程序中出错的位置
  • 研究部分程序,找到错误内在原因
  • 修改和设计代码,排除错误。
  • 重复进行与此错误相关的测试。

主要的调试方法

  • 强行排错——效率低,目前使用较多。
  • 回溯法调试——常用,有效
  • 归纳法调试——从线索入手,分析关系找出错误。
  • 演绎法调试——从原理或前提出发,排除和精化过程来推导。

调试原则

确定错误性质和位置原则
修改错误的原则

测试分析报告

  1. 引言
    1.1编写目的
    1.2背景
    1.3定义
    1.4参考资料
  2. 测试概要
  3. 测试结果及发现
    3.1测试1(标识符)
    3.2测试2(标识符)
  4. 对软件功能的结论
    4.1功能1(标识符)
    4.1.1能力
    4.1.2限制
    4.2功能2(标识符)
  5. 分析摘要
    5.1能力
    5.2缺陷和限制
    5.3建议
    5.4评价
  6. 测试资源消耗

感谢阅读,欢迎扶正~

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/104739703

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。