软件工程——软件测试总结

  • 测试的基本概念

1.软件测试是保证软件质量,提高软件可靠性的关键。

2.软件测试的目的:发现错误

3.测试与调试比较

测试 (test)

调试 (debug)

 

1.以已知条件开始, 使用预先定义的程序,

有预知的结果

2.发现错误

 

1.以不可知内部条件开始,结果一般不可预见

2.找出错误位置,排除

 

  1. 测试阶段工作步骤

单元测试: 检验每个模块能否单独工作.

集成测试: 检验概要设计中模块接口设计问题

确认测试: 以需求规格说明书为检验尺度

系统测试: 综合检验

平行运行:新旧两套系统并行运行,对照检验

  1. 测试的基本原则

(1)开发和测试队伍分别建立

(2)测试用例(测试用的一组输入数据、环境平台和运行条件)应由输入数据和预期的输出结果两部分组成.

(3)兼顾合理的输入和不合理的输入数据

(4)应检查程序是否作了不该做的事

(5)程序修改后要回归测试

(6)应长期保留测试用例,直至系统废弃。

6.软件错误的分类

功能错(需求分析错误);软件结构错;数据错;编码错;软件集成错;测试定义与测试执行错误。

7.软件测试信息流

测试过程需要三类输入:

软件配置:需求规格说明书;软件设计说明书;被测源程序

测试配置:测试计划;测试用例(测试数据);测试驱动程序

测试工具:

二. 两种测试类型

(1)静态测试方法:人工测试方法;计算机辅助静态分析方法。

基本特征是在对软件进行分析、检查和测试,不实际运行被测试的软件.

对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错.

(2)动态测试方法:白盒,黑盒,穷举。

通过运行软件来检验软件的动态行为和运行结果的正确性.

动态测试的两个基本要素:

 被测试程序;测试数据(测试用例)

动态测试方法:(1)选取定义域有效值,或定义域  外无效值.(2)对已选取值决定预期的结果(3)用选取值执行程序(4)执行结果 与(2)结果相比,不吻和程序有错.

  1. 黑盒测试:功能测试;数据驱动测试;基于规格说明书的测试
  2. 白盒测试:结构测试;玻璃盒测试; 基于覆盖的测试.; 根据被测程序的逻辑结构设计测试用例;力求提高测试覆盖率;
  3. 黑白测试比较

黑盒是根据程序外部特征进行测试。

白盒测试是根据程序内部逻辑结构进行测试。

三. 白盒测试方法的用例设计

逻辑覆盖法:一系列测试方法总称,特点是逐渐进行越来越完整的通路测试。

 

逻辑覆盖准则:(1)语句覆盖:是最弱的逻辑覆盖(2)判定覆盖:仍是弱的逻辑覆盖(3)条件覆盖:使每个判定的每个条件的可能取值至少执行一次。条件覆盖不一定包含判定覆盖;判定覆盖也不一定包含条件覆盖(4)判定/条件覆盖:选取足够多的测试用例,使判断中的每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次.

(5)条件组合覆盖:所有可能的条件取值组合至少执行一次

(6)路径覆盖(7)点覆盖(8)边覆盖

四. 黑盒测试方法的用例设计

选择少量而最具有代表性的输入数据

  1. 等价类划分法

把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集 (称为等价类),使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同。可从每个子集中选取一组数据来测试程序即可。

  1. 如何划分?(1)有效等价类(合理等价类)(2)无效等价类(不合理等价类)
  2. 划分规则:
  1. 如果规定了输入值的范围时,可定义一个有效等价类和两个无效等价类。
  2. 当规定了输入的规则时,则可以划分出一个有效的等价类(符合规则)和若干无效的等价类(从不同角度违反规则)。
  3. 如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。
  4. 如规定了输入数据是整型,则可划分出正整数、零、负整数三个有效等价类。

当处理表格时:有效类可分为空表、含一项的表、含多项的表等。

  1. 设计测试用例步骤:

(1)形成等价类表,每一等价类规定一个唯一的编号;

(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;

(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖(通常程序执行一个错误后不继续检测其它错误,故每次只测一个无效类)。

5.边界值分析法

(1)这个等价类的每个边界都要作为测试条件。

(2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的 测试情况。

(3)通常与等价划分结合进行。

边界分析测试用例原则:

(1)如输入条件代表以a和b为边界的范围,测试用例应包含a、b、略大于a和略小于b的值。

(2)如输入条件代表一组值,测试 用例应当执行其中的最大值和最小值,还应测试略大于最大值和略小于最小值的值。

(3)如规格说明中提出输入输出的有序集(顺序文件、有序表等),取有序集的第一个和最后一个元素做测试用例。

(4)如程序数据结构有预定的边界,应测试其边界的数据项。

(5)如输出条件规定了取值范围,取边界上下浮动值做测试用例。

五. 软件的测试步骤

1.单元测试:

A.单元测试的内容:主要对模块的五个基本特性进行评价。

  1. 模块接口
  2. 局部数据结构:
  3. 重要的执行通路:
  4. 出错处理通路:预见出现错误的条件,设置处理。
  5. 边界条件

B.单元测试的方法

1)驱动模块(驱动程序):相当于主模块

(2)桩模块(连接程序) :代替所测模块调用的子模块

2.集成测试

是将模块按照设计要求组装起来进行测试,主要目标是发现与接口有关的问题.

  1. 集成测试方法:非渐增式测试:一次就把所有通过了单元测试的模块组合在一起进行全程序的测试.渐增式测试:从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题。
  2. 渐增式的几种策略:
  1. 自顶向下结合:

A.主控模块为驱动模块,所有直属主模块的下属模块全用桩模块代替,测试主模块.

B.根据所选结合方法(先深度或先广度),每次用一实际模块替换相应桩模块。

C.模块结合一个,测试一个。

D.完成一组测试后,用实际模块替换另一个桩模块。

E.为保证不引入新错误,进行回归测试。

(2)自底向上结合:

第一步:对叶模块配以驱动模块对其测试,也可把最底层模块组合成实现某一特定软件功能的簇,由驱动模块对它测试。

第二步:用实际模块代替驱动模块,与它已测试的直属模块组装成子系统。

第三步:为子系统配备驱动模块,进行新的测试。

第四步:判断是否已组装到达主模块是则结束,否则执行第二步。

 

3.确认测试:验收软件的有效性(功能和性能达标)。

4.系统测试:软件只是计算机系统的一个元素,软件最终要与其他系统元素(如新硬件、信息等)相结合,进行各种集成测试和确认测试。

用于系统测试的测试类型:

(1)恢复测试

(2)安全性测试

(3)强度测试

(4)性能测试

  • 2
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,我们可以了解到软件测试与项目管理测试用例-二手图书购买系统.xlsx和软件测试技术实验报告——图书管理系统测试报告.docx两个文件都与图书管理系统测试相关。因此,我们可以根据这两个文件中提供的信息来介绍软件工程图书管理系统测试用例设计。 在软件工程中,测试用例设计是非常重要的一环。测试用例设计的目的是为了验证软件系统是否符合需求规格说明书中的要求。测试用例设计应该覆盖所有的功能需求和非功能需求,并且应该尽可能地覆盖所有的边界条件和异常情况。 在图书管理系统测试用例设计中,我们可以根据以下几个方面来设计测试用例: 1. 功能测试用例设计:包括登录、添加图书、删除图书、查询图书、借阅图书、归还图书等功能的测试用例设计。在设计测试用例时,需要考虑各种情况,例如输入正确的用户名和密码、输入错误的用户名和密码、添加已存在的图书、删除不存在的图书等。 2. 性能测试用例设计:包括并发用户数、响应时间、吞吐量等方面的测试用例设计。在设计测试用例时,需要考虑系统的负载情况,例如同时有多个用户登录、同时有多个用户查询图书等。 3. 安全测试用例设计:包括用户权限、数据安全等方面的测试用例设计。在设计测试用例时,需要考虑各种情况,例如管理员和普通用户的权限不同、用户密码的加密存储等。 4. 兼容性测试用例设计:包括不同浏览器、不同操作系统等方面的测试用例设计。在设计测试用例时,需要考虑不同的环境对系统的影响。 5. 可靠性测试用例设计:包括系统稳定性、容错性等方面的测试用例设计。在设计测试用例时,需要考虑系统的容错能力,例如当系统出现异常时,是否能够正确地处理异常情况。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值