【软工】软件测试


前言

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

正文

目的和原则

目的

  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. 测试资源消耗

感谢阅读,欢迎扶正~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张_Laura

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

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

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

打赏作者

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

抵扣说明:

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

余额充值